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 pekerjaan Anda dengan menyimpan data sensitif Anda dalam AWS Secrets Manager rahasia dan kemudian mereferensikannya dalam definisi pekerjaan Anda. Data sensitif yang disimpan dalam rahasia Secrets Manager dapat diungkap ke tugas sebagai variabel lingkungan atau sebagai bagian dari konfigurasi log.
Saat Anda menyuntikkan rahasia sebagai variabel lingkungan, Anda dapat menentukan JSON kunci atau versi rahasia untuk disuntikkan. Proses ini membantu Anda mengontrol data sensitif yang diungkap ke tugas Anda. Untuk informasi selengkapnya tentang versioning rahasia, lihat Konsep dan Istilah Penting untuk AWS Secrets Manager dalam Panduan Pengguna AWS Secrets Manager .
Pertimbangan saat Anda menentukan data sensitif menggunakan Secrets Manager
Hal-hal berikut ini harus dipertimbangkan ketika menggunakan Secrets Manager untuk menentukan data sensitif untuk tugas.
-
Untuk menyuntikkan rahasia menggunakan JSON kunci atau versi rahasia tertentu, instance container di lingkungan komputasi Anda harus memiliki versi 1.37.0 atau yang lebih baru dari agen penampung Amazon yang diinstal. ECS 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.
Untuk menyuntikkan konten lengkap rahasia sebagai variabel lingkungan atau untuk menyuntikkan rahasia dalam konfigurasi log, instance container Anda harus memiliki versi 1.23.0 atau yang lebih baru dari agen kontainer.
-
Hanya rahasia yang menyimpan data teks, yang merupakan rahasia yang dibuat dengan
SecretString
parameter CreateSecretAPI, yang didukung. Rahasia yang menyimpan data biner, yang merupakan rahasia yang dibuat denganSecretBinary
parameter CreateSecretAPItidak didukung. -
Saat menggunakan definisi pekerjaan yang mereferensikan rahasia Secrets Manager untuk mengambil data sensitif untuk pekerjaan Anda, jika Anda juga menggunakan VPC titik akhir antarmuka, Anda harus membuat VPC titik akhir antarmuka untuk Secrets Manager. Untuk informasi selengkapnya, lihat Menggunakan Secrets Manager dengan VPC Endpoints di Panduan AWS Secrets Manager Pengguna.
-
Data sensitif disuntikkan ke tugas Anda saat tugas pertama kali dimulai. Jika rahasia kemudian diperbarui atau dirotasi, tugas tidak menerima nilai yang diperbarui secara otomatis. Anda harus meluncurkan tugas baru untuk memaksa layanan meluncurkan tugas baru dengan nilai 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. Hal ini memungkinkan agen kontainer untuk menarik sumber daya Secrets Manager yang diperlukan. Untuk informasi selengkapnya, lihat Peran eksekusi AWS Batch IAM.
Untuk menyediakan akses ke rahasia Secrets Manager yang Anda buat, tambahkan izin berikut secara manual ke peran eksekusi sebagai kebijakan inline. Untuk informasi selengkapnya, lihat Menambahkan dan Menghapus IAM Kebijakan di Panduan IAM Pengguna.
-
secretsmanager:GetSecretValue
–Wajib jika Anda mereferensikan rahasia Secrets Manager. -
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": [
"secretsmanager:GetSecretValue",
"kms:Decrypt"
],
"Resource": [
"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
Anda dapat menentukan yang berikut Dalam definisi pekerjaan Anda:
-
Objek
secrets
yang berisi nama variabel lingkungan untuk diatur dalam tugas -
Nama Sumber Daya Amazon (ARN) dari rahasia Secrets Manager
-
Parameter tambahan yang berisi data sensitif untuk diberikan ke tugas
Contoh berikut menunjukkan sintaks lengkap yang harus ditentukan untuk rahasia Secrets Manager.
arn:aws:secretsmanager:
region
:aws_account_id
:secret:secret-name
:json-key
:version-stage
:version-id
Bagian berikut menjelaskan parameter tambahan. Parameter ini bersifat opsional. Namun, jika Anda tidak menggunakannya, Anda harus menyertakan titik dua :
untuk menggunakan nilai default. Contoh disediakan di bawah ini sebagai konteks.
json-key
-
Menentukan nama kunci dalam pasangan kunci-nilai dengan nilai yang ingin Anda tetapkan sebagai nilai variabel lingkungan. Hanya nilai dalam JSON format yang didukung. Jika Anda tidak menentukan JSON kunci, maka isi lengkap rahasia digunakan.
version-stage
-
Menentukan label tahapan dari versi rahasia yang ingin Anda gunakan. Jika label tahapan versi ditentukan, Anda tidak dapat menentukan ID versi. Jika tidak ada tahap versi yang ditentukan, perilaku default-nya adalah mengambil rahasia dengan label tahapan
AWSCURRENT
.Label tahapan digunakan untuk melacak berbagai versi rahasia saat diperbarui atau dirotasi. Setiap versi rahasia memiliki satu atau beberapa label tahapan dan satu ID. Untuk informasi selengkapnya, lihat Persyaratan dan Konsep Utama untuk AWS Secrets Manager di Panduan AWS Secrets Manager Pengguna.
version-id
-
Menentukan pengidentifikasi unik dari versi rahasia yang ingin Anda gunakan. Jika ID versi ditentukan, Anda tidak dapat menentukan label tahapan versi. Jika tidak ada ID versi yang ditentukan, perilaku default-nya adalah mengambil rahasia dengan label tahapan
AWSCURRENT
.Versi IDs digunakan untuk melacak versi rahasia yang berbeda ketika mereka diperbarui atau diputar. Setiap versi rahasia memiliki satu ID. Untuk informasi selengkapnya, lihat Persyaratan dan Konsep Utama untuk AWS Secrets Manager di Panduan AWS Secrets Manager Pengguna.
Contoh ketentuan kontainer
Contoh berikut menunjukkan cara yang dapat Anda gunakan untuk mereferensikan rahasia Secrets Manager dalam ketentuan kontainer Anda.
contoh mereferensikan rahasia penuh
Berikut ini adalah cuplikan ketentuan tugas yang menunjukkan format ketika mereferensikan teks lengkap dari rahasia Secrets Manager.
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:secret_name-AbCdEf
"
}]
}]
}
contoh mereferensikan kunci tertentu dalam sebuah rahasia
Berikut ini menunjukkan contoh output dari get-secret-valueperintah yang menampilkan isi rahasia bersama dengan label pementasan versi dan ID versi yang terkait dengannya.
{ "ARN": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
", "Name": "appauthexample
", "VersionId": "871d9eca-18aa-46a9-8785-981dd39ab30c
", "SecretString": "{\"username1
\":\"password1
\",\"username2
\":\"password2
\",\"username3
\":\"password3
\"}", "VersionStages": [ "AWSCURRENT
" ], "CreatedDate": 1581968848.921 }
Referensi kunci tertentu dari output sebelumnya dalam definisi kontainer dengan menentukan nama kunci di akhirARN.
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
:username1
::"
}]
}]
}
contoh mereferensikan versi rahasia tertentu
Berikut ini menunjukkan contoh output dari perintah describe-secret yang menampilkan konten rahasia yang tidak terenkripsi bersama dengan metadata untuk semua versi rahasia.
{ "ARN": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
", "Name": "appauthexample
", "Description": "Example of a secret containing application authorization data.", "RotationEnabled": false, "LastChangedDate": 1581968848.926, "LastAccessedDate": 1581897600.0, "Tags": [], "VersionIdsToStages": { "871d9eca-18aa-46a9-8785-981dd39ab30c
": [ "AWSCURRENT
" ], "9d4cb84b-ad69-40c0-a0ab-cead36b967e8
": [ "AWSPREVIOUS
" ] } }
Referensikan label pementasan versi tertentu dari output sebelumnya dalam definisi kontainer dengan menentukan nama kunci di akhir. ARN
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
::AWSPREVIOUS
:"
}]
}]
}
Referensikan ID versi tertentu dari output sebelumnya dalam definisi kontainer dengan menentukan nama kunci di akhirARN.
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
::9d4cb84b-ad69-40c0-a0ab-cead36b967e8
"
}]
}]
}
contoh mereferensikan kunci dan label tahapan versi tertentu dari suatu rahasia
Bagian berikut menunjukkan cara mereferensikan kunci tertentu dalam rahasia dan label tahapan versi tertentu.
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
:username1
:AWSPREVIOUS
:"
}]
}]
}
Untuk menentukan kunci dan versi ID tertentu, gunakan sintaks berikut.
{
"containerProperties": [{
"secrets": [{
"name": "environment_variable_name
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:appauthexample-AbCdEf
:username1
::9d4cb84b-ad69-40c0-a0ab-cead36b967e8
"
}]
}]
}
Menyuntikkan data sensitif dalam konfigurasi log
Ketika Anda menentukan definisi logConfiguration
dalam pekerjaan Anda, Anda dapat menentukan secretOptions
dengan nama opsi driver log untuk disetel dalam wadah dan penuh ARN rahasia Secrets Manager yang berisi data sensitif untuk disajikan ke wadah.
Berikut ini adalah cuplikan ketentuan tugas yang menunjukkan format ketika mereferensikan rahasia Secrets Manager.
{
"containerProperties": [{
"logConfiguration": [{
"logDriver": "splunk
",
"options": {
"splunk-url": "https://cloud.splunk.com:8080
"
},
"secretOptions": [{
"name": "splunk-token
",
"valueFrom": "arn:aws:secretsmanager:region
:aws_account_id
:secret:secret_name-AbCdEf
"
}]
}]
}]
}
Buat AWS Secrets Manager rahasia
Anda dapat menggunakan konsol Secrets Manager untuk membuat rahasia untuk data sensitif Anda. Untuk informasi lebih lanjut, lihat Membuat Rahasia Dasar dalam Panduan Pengguna AWS Secrets Manager .
Untuk membuat rahasia dasar
Gunakan Secrets Manager untuk membuat rahasia untuk data sensitif Anda.
-
Buka konsol Secrets Manager di https://console.aws.amazon.com/secretsmanager/
. -
Pilih Store a new secret (Simpan rahasia baru).
-
Untuk Select secret type (Pilih tipe rahasia), pilih Other type of secrets (Tipe rahasia lainnya).
-
Tentukan detail rahasia khusus Anda sebagai pasangan Key (Kunci) dan Value (Nilai). Misalnya, Anda dapat menentukan kunci
UserName
, lalu memberikan nama pengguna yang sesuai sebagai nilainya. Tambahkan kunci kedua dengan namaPassword
dan teks kata sandi sebagai nilainya. Anda juga dapat menambahkan entri untuk nama database, alamat server, atau TCP port. Anda dapat menambahkan pasangan sebanyak yang Anda butuhkan untuk menyimpan informasi yang Anda butuhkan.Sebagai alternatif, Anda dapat memilih tab Plaintext dan masukkan nilai rahasia dengan cara apa pun yang Anda suka.
-
Pilih kunci AWS KMS enkripsi yang ingin Anda gunakan untuk mengenkripsi teks yang dilindungi secara rahasia. Jika Anda tidak memilihnya, Secrets Manager akan memeriksa apakah ada kunci default untuk akun tersebut, dan menggunakannya jika ada. Jika kunci default tidak ada, Secrets Manager akan membuatnya untuk Anda secara otomatis. Anda juga dapat memilih Tambahkan kunci baru untuk membuat KMS kunci khusus khusus untuk rahasia ini. Untuk membuat KMS kunci Anda sendiri, Anda harus memiliki izin untuk membuat KMS kunci di akun Anda.
-
Pilih Berikutnya.
-
Untuk Secret name (Nama rahasia), ketik nama dan jalur opsional, misalnya
production/MyAwesomeAppSecret
ataudevelopment/TestSecret
, lalu pilih Next (Berikutnya). Anda dapat menambahkan deskripsi secara opsional untuk membantu Anda mengingat tujuan dari rahasia ini nanti.Nama rahasia harus berupa ASCII huruf, digit, atau salah satu karakter berikut: /_+ = . @-
-
(Opsional) Di sini, Anda dapat mengonfigurasi rotasi untuk rahasia Anda. Untuk prosedur ini, biarkan tetap Disable automatic rotation (Nonaktifkan rotasi otomatis) dan pilih Next (Berikutnya).
Untuk informasi tentang cara mengonfigurasi rotasi pada rahasia baru atau yang sudah ada, lihat Memutar AWS Secrets Manager Rahasia Anda.
-
Tinjau pengaturan Anda, lalu pilih Store secret (Simpan rahasia) untuk menyimpan semua yang Anda masukkan sebagai rahasia baru di Secrets Manager.