Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kebijakan IAM untuk menggunakan status Peta Terdistribusi
Saat Anda membuat alur kerja dengan konsol Step Functions, Step Functions dapat secara otomatis menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi alur kerja Anda. Kebijakan yang dihasilkan mencakup hak istimewa paling sedikit yang diperlukan untuk memungkinkan peran mesin status menjalankan tindakan StartExecution API untuk status Peta Terdistribusi dan AWS sumber daya akses, seperti bucket dan objek Amazon S3, serta fungsi Lambda.
Kami merekomendasikan untuk memasukkan hanya izin yang diperlukan dalam kebijakan IAM Anda. Misalnya, jika alur kerja Anda menyertakan Map status dalam mode Terdistribusi, cakup kebijakan Anda ke bucket dan folder Amazon S3 tertentu yang berisi data Anda.
penting
Jika Anda menentukan bucket dan objek Amazon S3, atau awalan, dengan jalur referensi ke pasangan nilai kunci yang ada di input status Peta Terdistribusi, pastikan Anda memperbarui kebijakan IAM untuk alur kerja Anda. Cakupan kebijakan hingga ke bucket dan nama objek yang diselesaikan jalur saat runtime.
Contoh kebijakan IAM untuk menjalankan status Peta Terdistribusi
Bila Anda menyertakan status Peta Terdistribusi dalam alur kerja Anda, Step Functions memerlukan izin yang sesuai untuk memungkinkan peran mesin status menjalankan tindakan StartExecution API untuk status Peta Terdistribusi.
Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk peran mesin status Anda untuk menjalankan status Peta Terdistribusi.
catatan
Pastikan Anda mengganti dengan nama mesin status tempat Anda menggunakan status Peta Terdistribusi. Misalnya, stateMachineNamearn:aws:states:.region:account-id:stateMachine:mystateMachine
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution" ], "Resource": "arn:aws:states:us-east-1:123456789012:execution:myStateMachineName:*" } ] }
Contoh kebijakan IAM untuk Peta redriving Terdistribusi
Anda dapat memulai ulang eksekusi alur kerja anak yang gagal di Map Run oleh alur kerja induk redrivingAnda. Alur kerja redriven induk redrives semua status gagal, termasuk Peta Terdistribusi. Pastikan peran eksekusi Anda memiliki hak istimewa paling sedikit yang diperlukan untuk memungkinkannya menjalankan tindakan RedriveExecution API pada alur kerja induk.
Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk peran mesin status Anda untuk redriving status Peta Terdistribusi.
catatan
Pastikan Anda mengganti dengan nama mesin status tempat Anda menggunakan status Peta Terdistribusi. Misalnya, stateMachineNamearn:aws:states:.region:account-id:stateMachine:mystateMachine
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachineName/myMapRunLabel:*" } ] }
Contoh kebijakan IAM untuk membaca data dari kumpulan data Amazon S3
Contoh berikut menunjukkan teknik untuk memberikan hak istimewa paling sedikit yang diperlukan untuk mengakses kumpulan data Amazon S3 Anda menggunakan ListObjects tindakan V2 dan API. GetObject
contoh kondisi menggunakan objek Amazon S3 sebagai kumpulan data
Kondisi berikut memberikan hak istimewa paling sedikit untuk mengakses objek di folder bucket Amazon S3.processImages
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages" ] } }
contoh menggunakan file CSV sebagai kumpulan data
Contoh berikut menunjukkan tindakan yang diperlukan untuk mengakses file CSV bernama.ratings.csv
"Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv" ]
contoh menggunakan inventaris Amazon S3 sebagai kumpulan data
Berikut ini menunjukkan contoh sumber daya untuk manifes inventaris Amazon S3 dan file data.
"Resource": [ "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/YYYY-MM-DDTHH-MMZ/manifest.json", "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/data/*" ]
contoh menggunakan ListObjects V2 untuk membatasi ke awalan folder
Saat menggunakan ListObjectsV2, dua kebijakan akan dibuat. Satu diperlukan untuk mengizinkan daftar konten bucket (ListBucket) dan kebijakan lain akan memungkinkan pengambilan objek di bucket (GetObject).
Berikut ini menunjukkan contoh tindakan, sumber daya, dan kondisi:
"Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Condition": { "StringLike": { "s3:prefix": [ "/path/to/your/json/" ] } }
"Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/path/to/your/json/*" ]
Perhatikan bahwa tidak GetObject akan dicakup dan Anda akan menggunakan wildcard (*) untuk objek.
Contoh kebijakan IAM untuk menulis data ke bucket Amazon S3
Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk menulis hasil eksekusi alur kerja turunan Anda ke folder bernama dalam bucket csvJobs Amazon S3 menggunakan tindakan API. PutObject
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/csvJobs/*" ] } ] }
Izin IAM untuk bucket AWS KMS key Amazon S3 terenkripsi
Status Peta Terdistribusi menggunakan unggahan multibagian untuk menulis hasil eksekusi alur kerja turunan ke bucket Amazon S3. Jika bucket dienkripsi menggunakan AWS Key Management Service (AWS KMS) kunci, Anda juga harus menyertakan izin dalam IAM kebijakan untuk melakukan kms:Decryptkms:Encrypt, dan kms:GenerateDataKey tindakan pada kunci tersebut. Izin ini diperlukan karena Amazon S3 harus mendekripsi dan membaca data dari bagian file terenkripsi sebelum menyelesaikan unggahan multibagian.
Contoh kebijakan IAM berikut memberikan izin kekms:Decrypt,kms:Encrypt, dan kms:GenerateDataKey tindakan pada kunci yang digunakan untuk mengenkripsi bucket Amazon S3 Anda.
-
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" ] } }
Untuk informasi lebih lanjut, lihat Mengunggah sebuah file besar ke Amazon S3 dengan enkripsi menggunakan AWS KMS key
Jika pengguna atau peran IAM Anda Akun AWS sama denganKMS key, maka Anda harus memiliki izin ini pada kebijakan utama. Jika pengguna atau peran IAM Anda milik akun yang berbeda dari akunKMS key, maka Anda harus memiliki izin pada kebijakan utama dan pengguna atau peran IAM Anda.