Membuat peran IAM untuk mesin negara Anda - AWS Step Functions

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

Membuat peran IAM untuk mesin negara Anda

AWS Step Functions dapat mengeksekusi kode dan mengakses AWS sumber daya (seperti memanggil AWS Lambda fungsi). Untuk menjaga keamanan, Anda harus memberikan akses Step Functions ke sumber daya tersebut dengan menggunakan IAM role.

Tutorial untuk Step FunctionsDalam panduan ini memungkinkan Anda untuk memanfaatkan peran IAM yang dihasilkan secara otomatis yang valid untuk AWS Wilayah tempat Anda membuat mesin status. Namun, Anda dapat membuat peran IAM Anda sendiri untuk mesin negara.

Saat membuat kebijakan IAM untuk digunakan mesin status Anda, kebijakan tersebut harus menyertakan izin yang Anda ingin diasumsikan oleh mesin status. Anda dapat menggunakan kebijakan AWS terkelola yang ada sebagai contoh atau Anda dapat membuat kebijakan khusus dari awal yang memenuhi kebutuhan spesifik Anda. Untuk informasi selengkapnya, lihat Membuat kebijakan IAM di Panduan Pengguna IAM

Untuk membuat IAM role Anda sendiri untuk mesin status, ikuti langkah-langkah di bagian ini.

Dalam contoh ini, Anda membuat IAM role dengan izin untuk memanggil fungsi Lambda.

Buat peran untuk Step Functions

  1. Masuk ke Konsol IAM, lalu pilih Peran, Buat peran.

  2. Pada halaman Pilih entitas tepercaya, di bawah AWS layanan, pilih Step Functions dari daftar, lalu pilih Berikutnya: Izin.

  3. Di halaman Kebijakan izin terlampir, pilih Berikutnya: Tinjau .

  4. Pada halaman Tinjau, masukkan StepFunctionsLambdaRole untuk Nama Peran, lalu pilih Buat peran.

    IAM role muncul di daftar peran.

Untuk informasi selengkapnya tentang izin dan kebijakan IAM, lihat Manajemen Akses dalam Panduan Pengguna IAM.

Mencegah masalah wakil lintas layanan yang membingungkan

Masalah deputi yang bingung adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memaksa entitas yang lebih istimewa untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (layanan yang dipanggil) memanggil layanan lain (layanan yang dipanggil). Jenis peniruan identitas ini dapat terjadi lintas akun dan lintas layanan. Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses.

Untuk mencegah kebingungan deputi, AWS sediakan alat yang membantu Anda melindungi data Anda untuk semua layanan dengan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda. Bagian ini berfokus pada pencegahan wakil bingung lintas layanan khusus untuk AWS Step Functions; Namun, Anda dapat mempelajari lebih lanjut tentang topik ini di bagian masalah wakil yang membingungkan dari Panduan Pengguna IAM.

Sebaiknya gunakan kunci konteks kondisi aws:SourceAccountglobal aws:SourceArndan global dalam kebijakan sumber daya untuk membatasi izin yang Step Functions memberikan layanan lain untuk mengakses sumber daya Anda. Gunakan aws:SourceArn jika Anda hanya ingin satu sumber daya dikaitkan dengan akses lintas layanan. Gunakan aws:SourceAccount jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Cara paling efektif untuk melindungi dari masalah confused deputy adalah dengan menggunakan kunci konteks kondisi global aws:SourceArn dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya, atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn global dengan karakter wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:states:*:111122223333:*.

Berikut adalah contoh kebijakan tepercaya yang menunjukkan bagaimana Anda dapat menggunakan aws:SourceArn dan aws:SourceAccount dengan Step Functions untuk mencegah masalah deputi yang membingungkan.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "states.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:states:us-east-1:111122223333:stateMachine:*" }, "StringEquals":{ "aws:SourceAccount":"111122223333" } } } ] }

Melampirkan Kebijakan Sebaris

Step Functions dapat mengontrol layanan lain secara langsung dalam suatu Task keadaan. Lampirkan kebijakan sebaris untuk mengizinkan Step Functions mengakses tindakan API dari layanan yang perlu Anda kendalikan.

  1. Buka Konsol IAM, pilih Peran, cari peran Step Functions, lalu pilih peran tersebut.

  2. Pilih Tambahkan kebijakan sebaris.

  3. Gunakan Editor visual atau tab JSON untuk membuat kebijakan untuk peran Anda.

Untuk informasi selengkapnya tentang AWS Step Functions cara mengontrol AWS layanan lain, lihatMenggunakan AWS Step Functions dengan layanan lain.

catatan

Untuk contoh kebijakan IAM yang dibuat oleh konsol Step Functions, lihat Kebijakan IAM untuk layanan terintegrasi.