Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi - AWS Step Functions

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

Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi

Saat Anda membuat mesin status di AWS Step Functions konsol, Step Functions menghasilkan kebijakan AWS Identity and Access Management (IAM) berdasarkan sumber daya yang digunakan dalam definisi mesin status Anda, sebagai berikut:

  • Untuk integrasi yang dioptimalkan, Step Functions akan membuat kebijakan dengan semua izin dan peran yang diperlukan untuk mesin status Anda.

    Tip: Anda dapat melihat contoh kebijakan di setiap halaman layanan di bawahMengintegrasikan layanan yang dioptimalkan.

  • Untuk integrasi integrasi standar, Step Functions akan membuat peran IAM dengan izin sebagian.

    Anda harus menambahkan kebijakan peran yang hilang yang diperlukan mesin negara Anda untuk berinteraksi dengan layanan.

Sumber daya dinamis dan statis

Sumber daya statis didefinisikan secara langsung dalam status tugas mesin negara Anda. Bila Anda menyertakan informasi tentang sumber daya yang ingin Anda panggil langsung dalam status tugas Anda, Step Functions dapat membuat peran IAM hanya untuk sumber daya tersebut.

Sumber daya dinamis diteruskan sebagai input saat memulai mesin status Anda, atau sebagai input ke status individual, dan diakses menggunakan JSONata atau file JSONPath. Ketika Anda meneruskan sumber daya dinamis ke tugas Anda, Step Functions tidak dapat secara otomatis menutup izin, sehingga Step Functions akan membuat kebijakan yang lebih permisif yang menentukan:. "Resource": "*"

Izin tambahan untuk tugas yang menggunakan.sync

Tugas yang menggunakan pola Run a Job (.sync) memerlukan izin tambahan untuk memantau dan menerima respons dari API layanan yang terhubung.

Step Functions menggunakan dua pendekatan untuk memantau status pekerjaan ketika pekerjaan dijalankan pada layanan yang terhubung: polling dan acara.

Polling memerlukan izin untuk Describe atau tindakan Get API. Misalnya, untuk Amazon ECS mesin status harus memiliki izin izin untukecs:DescribeTasks, untuk AWS Glue mesin status memerlukan izin izin untuk. glue:GetJobRun Jika izin yang diperlukan hilang dari peran, Step Functions mungkin tidak dapat menentukan status pekerjaan Anda. Salah satu alasan untuk menggunakan metode polling adalah karena beberapa integrasi layanan tidak mendukung EventBridge acara, dan beberapa layanan hanya mengirim acara dengan upaya terbaik.

Atau, Anda dapat menggunakan acara yang dikirim dari AWS layanan ke Amazon EventBridge. Peristiwa dirutekan ke Step Functions EventBridge dengan aturan terkelola, sehingga peran tersebut memerlukan izin untukevents:PutTargets,events:PutRule, dan. events:DescribeRule Jika izin ini hilang dari peran, mungkin ada penundaan sebelum Step Functions mengetahui penyelesaian pekerjaan Anda. Untuk informasi selengkapnya tentang EventBridge acara, lihat Acara dari AWS layanan.

Pemecahan masalah macet alur kerja.sync

Untuk tugas Jalankan Job (.sync) yang mendukung polling dan peristiwa, tugas Anda dapat diselesaikan dengan benar menggunakan peristiwa, bahkan ketika peran tersebut tidak memiliki izin yang diperlukan untuk polling.

Dalam skenario sebelumnya, Anda mungkin tidak melihat izin polling hilang atau salah. Dalam kasus yang jarang terjadi bahwa suatu peristiwa gagal dikirim atau diproses oleh Step Functions, eksekusi Anda bisa macet.

Untuk memverifikasi bahwa izin polling Anda dikonfigurasi dengan benar, Anda dapat menjalankan eksekusi di lingkungan tanpa EventBridge peristiwa dengan cara berikut

  • Hapus aturan terkelola EventBridge yang bertanggung jawab untuk meneruskan peristiwa ke Step Functions.

    catatan

    Karena aturan terkelola dibagikan oleh semua mesin status di akun Anda, Anda harus menggunakan akun pengujian atau pengembangan untuk menghindari dampak yang tidak disengaja ke mesin negara bagian lainnya.

  • Anda dapat mengidentifikasi aturan terkelola tertentu untuk dihapus dengan memeriksa bidang Resource yang digunakan untuk events:PutRule pada templat kebijakan untuk layanan target. Aturan terkelola akan dibuat ulang saat Anda membuat atau memperbarui mesin status berikutnya yang menggunakan integrasi layanan tersebut.

  • Untuk informasi selengkapnya tentang menghapus EventBridge aturan, lihat Menonaktifkan atau menghapus aturan.

Izin untuk membatalkan alur kerja

Jika tugas yang menggunakan pola Run a Job (.sync) dihentikan, Step Functions akan melakukan upaya terbaik untuk membatalkan tugas tersebut.

Membatalkan tugas memerlukan izin untukCancel,Stop,Terminate, atau tindakan Delete API, seperti batch:TerminateJob ataueks:DeleteCluster. Jika izin ini hilang dari peran Anda, Step Functions tidak akan dapat membatalkan tugas dan Anda dapat terkena biaya tambahan sementara tugas terus berjalan. Untuk informasi selengkapnya tentang menghentikan tugas, lihat Jalankan Tugas.

Pelajari lebih lanjut tentang pola integrasi

Untuk mempelajari tentang tugas sinkron, lihatTemukan pola integrasi layanan di Step Functions.