Ambil Systems Manager Parameter Menyimpan rahasia secara terprogram di Amazon ECS - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ambil Systems Manager Parameter Menyimpan rahasia secara terprogram di Amazon ECS

Systems Manager Parameter Store menyediakan penyimpanan dan pengelolaan rahasia yang aman. Anda dapat menyimpan data seperti kata sandi, string database, ID instans EC2 dan ID AMI, dan kode lisensi sebagai nilai parameter. Anda dapat menyimpan nilai sebagai teks biasa atau data terenkripsi.

Alih-alih hardcoding informasi sensitif dalam teks biasa di aplikasi Anda, Anda dapat menggunakan Secrets Manager untuk menyimpan data sensitif.

Kami merekomendasikan metode ini untuk mengambil data sensitif karena jika parameter Systems Manager Parameter Store kemudian diperbarui, aplikasi secara otomatis mengambil versi terbaru.

Buat rahasia di Secrets Manager. Setelah Anda membuat rahasia Secrets Manager, perbarui kode aplikasi Anda untuk mengambil rahasia.

Tinjau pertimbangan berikut sebelum mengamankan data sensitif di Systems Manager Parameter Store.

  • Hanya rahasia yang menyimpan data teks yang didukung. Rahasia yang menyimpan data biner tidak didukung.

  • Gunakan titik akhir VPC antarmuka untuk meningkatkan kontrol keamanan.

  • VPC yang digunakan tugas Anda harus menggunakan resolusi DNS.

Izin IAM yang diperlukan

Untuk menggunakan fitur ini, Anda harus memiliki peran tugas Amazon ECS dan mereferensikannya dalam definisi tugas Anda. Hal ini memungkinkan agen kontainer untuk menarik sumber daya Systems Manager yang diperlukan. Untuk informasi selengkapnya, lihat Peran IAM tugas Amazon ECS.

penting

Untuk tugas yang menggunakan tipe peluncuran EC2, Anda harus menggunakan variabel konfigurasi agen ECS ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE=true untuk menggunakan fitur ini. Anda dapat menambahkannya ke file ./etc/ecs/ecs.config selama pembuatan instans kontainer atau Anda dapat menambahkannya ke instans yang ada, lalu memulai ulang agen ECS. Untuk informasi selengkapnya, lihat Konfigurasi agen kontainer Amazon ECS.

Untuk memberikan akses ke parameter Penyimpanan Parameter Systems Manager yang Anda buat, tambahkan izin berikut secara manual sebagai kebijakan ke peran eksekusi tugas. Untuk informasi tentang cara mengelola izin, lihat Menambahkan dan Menghapus izin identitas IAM di Panduan Pengguna IAM.

  • ssm:GetParameters— Diperlukan jika Anda mereferensikan parameter Systems Manager Parameter Store dalam definisi tugas. Menambahkan izin untuk mengambil parameter Systems Manager.

  • secretsmanager:GetSecretValue— Diperlukan jika Anda mereferensikan rahasia Secrets Manager baik secara langsung atau jika parameter Parameter Store Systems Manager Anda mereferensikan rahasia Secrets Manager dalam definisi tugas. Menambahkan izin untuk mengambil rahasia dari Secrets Manager.

  • kms:Decrypt— Diperlukan hanya jika rahasia Anda menggunakan kunci yang dikelola pelanggan dan bukan kunci default. ARN untuk kunci khusus Anda harus ditambahkan sebagai sumber daya. Menambahkan izin untuk mendekripsi kunci yang dikelola pelanggan.

Contoh kebijakan berikut menambahkan izin yang diperlukan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:ssm:region:aws_account_id:parameter/parameter_name", "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name", "arn:aws:kms:region:aws_account_id:key/key_id" ] } ] }

Buat parameter

Anda dapat menggunakan konsol Systems Manager untuk membuat parameter Systems Manager Parameter Store untuk data sensitif Anda. Untuk informasi selengkapnya, lihat Membuat parameter Systems Manager (konsol) atau Membuat parameter Systems Manager (AWS CLI) di Panduan AWS Systems Manager Pengguna.

Perbarui aplikasi Anda untuk mengambil rahasia Systems Manager Parameter Store secara terprogram

Untuk mengambil data sensitif yang disimpan dalam parameter Systems Manager Parameter Store, lihat Contoh kode untuk Systems Manager menggunakan AWS SDK di AWS SDK Code Examples Code Library.