

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
<a name="service-integration-iam-templates"></a>

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 bawah[Mengintegrasikan layanan yang dioptimalkan](integrate-optimized.md). 
+ 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
<a name="connect-iam-dynamic-static"></a>

*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
<a name="connect-iam-sync-async"></a>

Tugas yang menggunakan pola [Run a Job (.sync)](connect-to-resource.md#connect-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 untuk`ecs: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 untuk`events: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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html). 

## Pemecahan masalah macet alur kerja.sync
<a name="polling-events-troubleshooting"></a>

**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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html) aturan. 

## Izin untuk membatalkan alur kerja
<a name="iam-cancel-tasks"></a>

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

Membatalkan tugas memerlukan izin untuk`Cancel`,`Stop`,`Terminate`, atau tindakan `Delete` API, seperti `batch:TerminateJob` atau`eks: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](connect-to-resource.md#connect-sync).

**Pelajari lebih lanjut tentang pola integrasi**  
 Untuk mempelajari tentang tugas sinkron, lihat[Temukan pola integrasi layanan di Step Functions](connect-to-resource.md).