Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dengan AWS Batch, Anda dapat menyuntikkan data sensitif ke dalam container Anda dengan menyimpan data sensitif Anda dalam AWS Systems Manager parameter Parameter Store dan kemudian mereferensikannya dalam definisi container Anda.
Topik
Pertimbangan saat Anda menentukan data sensitif menggunakan Systems Manager Parameter Store
Hal-hal berikut harus dipertimbangkan ketika menentukan data sensitif untuk kontainer menggunakan parameter Systems Manager Parameter Store.
-
Fitur ini mengharuskan instance container Anda memiliki versi 1.23.0 atau yang lebih baru dari agen kontainer. Akan tetapi, kami merekomendasikan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihat Memperbarui agen ECS penampung Amazon di Panduan Pengembang Layanan Kontainer Elastis Amazon.
-
Data sensitif disuntikkan ke dalam kontainer untuk tugas Anda ketika kontainer pertama kali dimulai. Jika rahasia atau parameter Parameter Store kemudian diperbarui atau dirotasi, kontainer tidak menerima nilai yang diperbarui secara otomatis. Anda harus meluncurkan tugas baru untuk memaksa peluncuran tugas baru dengan rahasia yang diperbarui.
IAMIzin yang diperlukan untuk rahasia AWS Batch
Untuk menggunakan fitur ini, Anda harus memiliki peran eksekusi dan mereferensikannya dalam ketentuan tugas Anda. Ini memungkinkan agen ECS kontainer Amazon untuk menarik AWS Systems Manager sumber daya yang diperlukan. Untuk informasi selengkapnya, lihat Peran eksekusi AWS Batch IAM.
Untuk memberikan akses ke AWS Systems Manager parameter Parameter Store yang Anda buat, tambahkan izin berikut secara manual sebagai kebijakan inline ke peran eksekusi. Untuk informasi selengkapnya, lihat Menambahkan dan Menghapus IAM Kebijakan di Panduan IAM Pengguna.
-
ssm:GetParameters
—Wajib jika Anda mereferensikan parameter Systems Manager Parameter Store dalam ketentuan tugas. -
secretsmanager:GetSecretValue
—Wajib jika Anda mereferensikan rahasia Secrets Manager secara langsung atau jika parameter Systems Manager Parameter Store Anda mereferensikan rahasia Secrets Manager dalam ketentuan tugas. -
kms:Decrypt
—Diperlukan hanya jika rahasia Anda menggunakan KMS kunci khusus dan bukan kunci default. Kunci ARN untuk kustom Anda harus ditambahkan sebagai sumber daya.
Contoh kebijakan inline 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>
"
]
}
]
}
Menyuntikkan data sensitif sebagai variabel lingkungan
Dalam definisi container Anda, tentukan secrets
dengan nama variabel lingkungan yang akan disetel dalam container dan parameter Systems Manager Parameter Store yang berisi data sensitif yang akan ditampilkan ke container. ARN
Berikut ini adalah cuplikan ketentuan tugas yang menunjukkan format ketika mereferensikan parameter Systems Manager Parameter Store. Jika parameter Systems Manager Parameter Store ada di Region yang sama dengan tugas yang Anda luncurkan, maka Anda dapat menggunakan lengkap ARN atau nama parameter. Jika parameter ada di Wilayah yang berbeda, maka lengkap ARN harus ditentukan.
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:ssm:region
:aws_account_id
:parameter/parameter_name
"
}]
}]
}
Menyuntikkan data sensitif dalam konfigurasi log
Dalam definisi kontainer Anda, saat menentukan a, logConfiguration
Anda dapat menentukan secretOptions
dengan nama opsi driver log untuk disetel dalam wadah dan parameter Systems Manager Parameter Store yang berisi data sensitif yang akan ditampilkan ke wadah. ARN
penting
Jika parameter Systems Manager Parameter Store ada di Region yang sama dengan tugas yang Anda luncurkan, maka Anda dapat menggunakan lengkap ARN atau nama parameter. Jika parameter ada di Wilayah yang berbeda, maka lengkap ARN harus ditentukan.
Berikut ini adalah cuplikan ketentuan tugas yang menunjukkan format ketika mereferensikan parameter Systems Manager Parameter Store.
{
"containerProperties": [{
"logConfiguration": [{
"logDriver": "fluentd
",
"options": {
"tag": "fluentd demo
"
},
"secretOptions": [{
"name": "fluentd-address
",
"valueFrom": "arn:aws:ssm:region
:aws_account_id
:parameter/parameter_name
"
}]
}]
}]
}
Buat AWS Systems Manager parameter Parameter Store
Anda dapat menggunakan AWS Systems Manager konsol untuk membuat parameter Systems Manager Parameter Store untuk data sensitif Anda. Untuk informasi lebih lanjut, lihat Panduan: Membuat dan menggunakan Parameter dalam Perintah (konsol) dalam Panduan Pengguna AWS Systems Manager .
Untuk membuat parameter Parameter Store
-
Buka AWS Systems Manager konsol di https://console.aws.amazon.com/systems-manager/
. -
Di panel navigasi, pilih Parameter Store, Create parameter (Buat parameter).
-
Untuk Name (Nama), ketik hierarki dan nama parameter. Sebagai contoh, ketik
test/database_password
. -
Untuk Description (Deskripsi), ketik deskripsi opsional.
-
Untuk Type, pilih String, StringList, atau SecureString.
catatan
-
Jika Anda memilih SecureString, bidang ID KMS Kunci akan muncul. Jika Anda tidak memberikan ID KMS kunci, KMS kunciARN, nama alias, atau aliasARN, maka sistem akan menggunakannya.
alias/aws/ssm
Ini adalah KMS kunci default untuk Systems Manager. Untuk menghindari penggunaan kunci ini, pilih tombol kustom. Untuk informasi lebih lanjut, lihat Menggunakan Parameter String Aman dalam Panduan Pengguna AWS Systems Manager . -
Saat Anda membuat parameter string aman di konsol dengan menggunakan
key-id
parameter dengan nama alias KMS kunci kustom atau aliasARN, Anda harus menentukan awalanalias/
sebelum alias. Berikut ini adalah ARN contoh:arn:aws:kms:us-east-2:123456789012:alias/
MyAliasName
Berikut ini adalah contoh nama alias:
alias/
MyAliasName
-
-
Untuk Value (Nilai), ketik nilai. Misalnya,
MyFirstParameter
. Jika Anda memilih SecureString, nilainya ditutupi persis seperti yang Anda masukkan. -
Pilih Create parameter (Buat parameter).