

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

# Identity and Access Management di Amazon Simple Workflow Service
<a name="swf-dev-iam"></a>

Akses ke Amazon SWF memerlukan kredensil yang AWS dapat digunakan untuk mengautentikasi permintaan Anda. Kredensi ini harus memiliki izin untuk mengakses AWS sumber daya, seperti mengambil data peristiwa dari sumber daya lain. AWS Bagian berikut memberikan rincian tentang bagaimana Anda dapat menggunakan [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dan Amazon SWF untuk membantu mengamankan sumber daya Anda dengan mengontrol akses ke sumber daya Anda.

AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diotorisasi* (memiliki izin) untuk menggunakan sumber daya Amazon SWF. IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

**Topics**
+ [Audiens](#security_iam_audience)
+ [Mengautentikasi dengan identitas](#security_iam_authentication)
+ [Mengelola akses menggunakan kebijakan](#security_iam_access-manage)
+ [Kontrol Akses](#access-control-swf)
+ [Tindakan kebijakan untuk Amazon SWF](#security_iam_service-with-iam-id-based-policies-actions)
+ [Sumber daya kebijakan untuk Amazon SWF](#security_iam_service-with-iam-id-based-policies-resources)
+ [Kunci kondisi kebijakan untuk Amazon SWF](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [ACLs di Amazon SWF](#security_iam_service-with-iam-acls)
+ [ABAC dengan Amazon SWF](#security_iam_service-with-iam-tags)
+ [Menggunakan kredensi sementara dengan Amazon SWF](#security_iam_service-with-iam-roles-tempcreds)
+ [Izin utama lintas layanan untuk Amazon SWF](#security_iam_service-with-iam-principal-permissions)
+ [Peran layanan untuk Amazon SWF](#security_iam_service-with-iam-roles-service)
+ [Peran terkait layanan untuk Amazon SWF](#security_iam_service-with-iam-roles-service-linked)
+ [Kebijakan berbasis identitas untuk Amazon SWF](#security_iam_service-with-iam-id-based-policies)
+ [Kebijakan berbasis sumber daya dalam Amazon SWF](#security_iam_service-with-iam-resource-based-policies)
+ [Bagaimana Amazon Simple Workflow Service bekerja dengan IAM](security_iam_service-with-iam.md)
+ [Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)
+ [Prinsip Basic](swf-dev-iam.basic.md)
+ [Kebijakan IAM Amazon SWF](swf-dev-iam.policies.md)
+ [Ringkasan API](swf-dev-iam.api.md)
+ [Kebijakan Berbasis Tag](tag-based-policies.md)
+ [Titik akhir Amazon VPC untuk Amazon SWF](swf-vpc-endpoints.md)
+ [Memecahkan masalah identitas dan akses Amazon Simple Workflow Service](security_iam_troubleshoot.md)

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Memecahkan masalah identitas dan akses Amazon Simple Workflow Service](security_iam_troubleshoot.md))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Bagaimana Amazon Simple Workflow Service bekerja dengan IAM](security_iam_service-with-iam.md))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md))

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensyal dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensyal. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Identitas terfederasi
<a name="security_iam_authentication-federated"></a>

Sebagai praktik terbaik, mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS menggunakan kredensi sementara.

*Identitas federasi* adalah pengguna dari direktori perusahaan Anda, penyedia identitas web, atau Directory Service yang mengakses Layanan AWS menggunakan kredensyal dari sumber identitas. Identitas terfederasi mengambil peran yang memberikan kredensial sementara.

Untuk manajemen akses terpusat, kami menyarankan AWS IAM Identity Center. Untuk informasi selengkapnya, lihat [Apa itu Pusat Identitas IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dalam *Panduan Pengguna AWS IAM Identity Center *.

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensyal sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan menentukan izin saat dikaitkan dengan identitas atau sumber daya. AWS mengevaluasi kebijakan ini ketika kepala sekolah membuat permintaan. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Menggunakan kebijakan, administrator menentukan siapa yang memiliki akses ke apa dengan mendefinisikan **principal** mana yang dapat melakukan **tindakan** pada **sumber daya** apa, dan dalam **kondisi** apa.

Secara default, pengguna dan peran tidak memiliki izin. Administrator IAM membuat kebijakan IAM dan menambahkannya ke peran, yang kemudian dapat diambil oleh pengguna. Kebijakan IAM mendefinisikan izin terlepas dari metode yang Anda gunakan untuk melakukan operasinya.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang Anda lampirkan ke identitas (pengguna, grup, atau peran). Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, terhadap sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat berupa *kebijakan inline* (disematkan langsung ke dalam satu identitas) atau *kebijakan terkelola* (kebijakan mandiri yang dilampirkan pada banyak identitas). Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat [Pilih antara kebijakan terkelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dalam *Panduan Pengguna IAM*.

### Kebijakan berbasis sumber daya
<a name="security_iam_access-manage-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contohnya termasuk *kebijakan kepercayaan peran IAM* dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola dari IAM dalam kebijakan berbasis sumber daya.

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang dapat menetapkan izin maksimum yang diberikan oleh jenis kebijakan yang lebih umum:
+ **Batasan izin** – Menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. Untuk informasi selengkapnya, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — Tentukan izin maksimum untuk organisasi atau unit organisasi di AWS Organizations. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dalam *Panduan Pengguna AWS Organizations *.
+ **Kebijakan kontrol sumber daya (RCPs)** — Tetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Kebijakan kontrol sumber daya (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan lanjutan yang diteruskan sebagai parameter saat membuat sesi sementara untuk peran atau pengguna terfederasi. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*.

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

## Kontrol Akses
<a name="access-control-swf"></a>

Anda dapat memiliki kredensial yang valid untuk mengautentikasi permintaan, tetapi kecuali jika Anda memiliki izin, Anda tidak dapat membuat atau mengakses sumber daya Amazon SWF. Misalnya, Anda harus memiliki izin untuk memanggil, Amazon Simple Notification Service ( AWS Lambda Amazon SNS), dan Amazon Simple Queue Service (Amazon SQS) menargetkan Amazon Simple Service (Amazon SQS) yang terkait dengan aturan Amazon SWF Anda.

Bagian berikut menjelaskan cara mengelola izin untuk Amazon SWF. Kami merekomendasikan agar Anda membaca dulu gambaran umum tersebut.
+ [Prinsip Basic](swf-dev-iam.basic.md)
+ [Kebijakan IAM Amazon SWF](swf-dev-iam.policies.md)
+ [Kebijakan penulisan untuk Amazon SWF](swf-dev-iam.policies.md#swf-dev-iam.policies.examples)

## Tindakan kebijakan untuk Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Mendukung tindakan kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Untuk melihat daftar tindakan Amazon SWF, lihat [Sumber Daya yang Ditentukan oleh Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-resources-for-iam-policies) di Referensi Otorisasi *Layanan*.

Tindakan kebijakan di Amazon SWF menggunakan awalan berikut sebelum tindakan:

```
swf
```

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.

```
"Action": [
      "swf:action1",
      "swf:action2"
         ]
```

Untuk melihat contoh kebijakan berbasis identitas Amazon SWF, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)

## Sumber daya kebijakan untuk Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Mendukung sumber daya kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

Untuk melihat daftar jenis sumber daya Amazon SWF dan jenisnya ARNs, lihat [Tindakan yang Ditentukan oleh Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-actions-as-permissions) di Referensi Otorisasi *Layanan*. Untuk mempelajari tindakan yang dapat Anda tentukan ARN dari setiap sumber daya, lihat Sumber Daya yang [Ditentukan oleh Amazon Simple Workflow](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-resources-for-iam-policies) Service.

Untuk melihat contoh kebijakan berbasis identitas Amazon SWF, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)

## Kunci kondisi kebijakan untuk Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Mendukung kunci kondisi kebijakan khusus layanan:** Yes

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Untuk melihat daftar kunci kondisi Amazon SWF, lihat Kunci Kondisi untuk [Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-policy-keys) di Referensi Otorisasi *Layanan*. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat [Sumber Daya yang Ditentukan oleh Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-resources-for-iam-policies).

Untuk melihat contoh kebijakan berbasis identitas Amazon SWF, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)

## ACLs di Amazon SWF
<a name="security_iam_service-with-iam-acls"></a>

**Mendukung ACLs:** Tidak 

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

## ABAC dengan Amazon SWF
<a name="security_iam_service-with-iam-tags"></a>

**Mendukung ABAC (tag dalam kebijakan): Sebagian**

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan atribut tanda. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi saat tag prinsipal cocok dengan tag pada sumber daya.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah **Ya** untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah **Parsial**.

Untuk informasi selengkapnya tentang ABAC, lihat [Tentukan izin dengan otorisasi ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dalam *Panduan Pengguna IAM.* Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat [Menggunakan kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dalam *Panduan Pengguna IAM*.

## Menggunakan kredensi sementara dengan Amazon SWF
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Mendukung kredensial sementara:** Ya

Kredensi sementara menyediakan akses jangka pendek ke AWS sumber daya dan secara otomatis dibuat saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) dan [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dalam *Panduan Pengguna IAM*.

## Izin utama lintas layanan untuk Amazon SWF
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses terusan (FAS):** Ya

 Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat [Sesi akses terusan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Peran layanan untuk Amazon SWF
<a name="security_iam_service-with-iam-roles-service"></a>

**Mendukung peran layanan:** Ya

 Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 

**Awas**  
Mengubah izin untuk peran layanan dapat merusak fungsionalitas Amazon SWF. Edit peran layanan hanya jika Amazon SWF memberikan panduan untuk melakukannya.

## Peran terkait layanan untuk Amazon SWF
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Mendukung peran terkait layanan:** Tidak 

 Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan. 

Untuk detail tentang pembuatan atau manajemen peran terkait layanan, lihat [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Cari layanan dalam tabel yang memiliki `Yes` di kolom **Peran terkait layanan**. Pilih tautan **Ya** untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

## Kebijakan berbasis identitas untuk Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Mendukung kebijakan berbasis identitas**: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Contoh kebijakan berbasis identitas untuk Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Untuk melihat contoh kebijakan berbasis identitas Amazon SWF, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)

## Kebijakan berbasis sumber daya dalam Amazon SWF
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Mendukung kebijakan berbasis sumber daya:** Tidak 

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah *kebijakan kepercayaan peran* IAM dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

# Bagaimana Amazon Simple Workflow Service bekerja dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses ke Amazon SWF, pelajari fitur IAM apa yang tersedia untuk digunakan dengan Amazon SWF.


**Fitur IAM yang dapat Anda gunakan dengan Amazon Simple Workflow Service**  

| Fitur IAM | Dukungan Amazon SWF | 
| --- | --- | 
|  [Kebijakan berbasis identitas](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies)  |   Ya  | 
|  [Kebijakan berbasis sumber daya](swf-dev-iam.md#security_iam_service-with-iam-resource-based-policies)  |   Tidak   | 
|  [Tindakan kebijakan](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies-actions)  |   Ya  | 
|  [Sumber daya kebijakan](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies-resources)  |   Ya  | 
|  [kunci-kunci persyaratan kebijakan (spesifik layanan)](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Ya  | 
|  [ACLs](swf-dev-iam.md#security_iam_service-with-iam-acls)  |   Tidak   | 
|  [ABAC (tanda dalam kebijakan)](swf-dev-iam.md#security_iam_service-with-iam-tags)  |   Parsial  | 
|  [Kredensial sementara](swf-dev-iam.md#security_iam_service-with-iam-roles-tempcreds)  |   Ya  | 
|  [Izin principal](swf-dev-iam.md#security_iam_service-with-iam-principal-permissions)  |   Ya  | 
|  [Peran layanan](swf-dev-iam.md#security_iam_service-with-iam-roles-service)  |   Ya  | 
|  [Peran terkait layanan](swf-dev-iam.md#security_iam_service-with-iam-roles-service-linked)  |   Tidak   | 

*Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Amazon SWF dan layanan AWS lainnya dengan sebagian besar fitur IAM, [AWS lihat layanan yang bekerja dengan IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) IAM.*

# Contoh kebijakan berbasis identitas untuk Amazon Simple Workflow Service
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon SWF. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM.

*Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan IAM (konsol) di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).*

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh Amazon SWF, termasuk format ARNs untuk setiap jenis sumber daya, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk Layanan Alur Kerja Sederhana Amazon](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html) di Referensi Otorisasi *Layanan*.

**Topics**
+ [Praktik terbaik kebijakan](#security_iam_service-with-iam-policy-best-practices)
+ [Menggunakan konsol Amazon SWF](#security_iam_id-based-policy-examples-console)
+ [Mengizinkan pengguna melihat izin mereka sendiri](#security_iam_id-based-policy-examples-view-own-permissions)

## Praktik terbaik kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon SWF di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Menggunakan konsol Amazon SWF
<a name="security_iam_id-based-policy-examples-console"></a>

Untuk mengakses konsol Amazon Simple Workflow Service, Anda harus memiliki seperangkat izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Amazon SWF di Anda. Akun AWS Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai gantinya, izinkan akses hanya ke tindakan yang sesuai dengan operasi API yang coba mereka lakukan.

Untuk memastikan bahwa pengguna dan peran masih dapat menggunakan konsol Amazon SWF, lampirkan juga Amazon `ConsoleAccess` SWF `ReadOnly` AWS atau kebijakan terkelola ke entitas. Untuk informasi selengkapnya, lihat [Menambah izin untuk pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Mengizinkan pengguna melihat izin mereka sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Prinsip Basic
<a name="swf-dev-iam.basic"></a>

Kontrol akses Amazon SWF didasarkan terutama pada dua jenis izin:
+ Izin sumber daya: Sumber daya Amazon SWF yang dapat diakses pengguna.

  Anda dapat mengekspresikan izin sumber daya hanya untuk domain.
+ Izin API: Tindakan Amazon SWF yang dapat dipanggil pengguna.

Pendekatan yang paling sederhana adalah memberikan akses akun penuh—panggil tindakan Amazon SWF di domain apapun—atau tolak akses sepenuhnya. Namun, IAM mendukung pendekatan yang lebih terperinci untuk kontrol akses yang sering lebih berguna. Misalnya, Anda dapat: 
+ Mengizinkan pengguna untuk memanggil tindakan Amazon SWF tanpa batasan, tetapi hanya dalam domain tertentu. Anda dapat menggunakan kebijakan tersebut untuk mengizinkan aplikasi alur kerja yang sedang dikembangkan untuk menggunakan tindakan apa pun, tetapi hanya domain "sandbox".
+ Mengizinkan pengguna untuk mengakses domain apa pun, namun membatasi cara mereka menggunakan API. Anda dapat menggunakan kebijakan tersebut untuk mengizinkan aplikasi "auditor" dalam memanggil API di domain apa pun, tetapi hanya mengizinkan akses baca.
+ Mengizinkan pengguna untuk memanggil hanya serangkaian tindakan terbatas di domain tertentu. Anda dapat menggunakan kebijakan tersebut untuk mengizinkan pemulai alur kerja untuk memanggil hanya tindakan `StartWorkflowExecution` dalam domain tertentu.

Amazon SWF kontrol akses didasarkan pada prinsip-prinsip berikut:
+ Keputusan kontrol akses hanya didasarkan pada kebijakan IAM; semua audit dan manipulasi kebijakan dilakukan melalui IAM.
+ Model kontrol akses menggunakan deny-by-default kebijakan; akses apa pun yang tidak diizinkan secara eksplisit ditolak. 
+ Anda mengontrol akses ke sumber daya Amazon SWF dengan melampirkan kebijakan IAM yang sesuai untuk aktor alur kerja.
+ Izin sumber daya dapat dinyatakan hanya untuk domain.
+ Anda dapat lebih membatasi penggunaan beberapa tindakan dengan menerapkan syarat untuk satu atau lebih parameter.
+ Jika Anda memberikan izin untuk menggunakan [RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html), Anda dapat menyatakan izin untuk daftar keputusan yang disertakan dalam tindakan tersebut.

  Setiap keputusan memiliki satu atau lebih parameter, seperti panggilan API umum. Untuk mengizinkan kebijakan dapat dibaca semudah mungkin, Anda dapat mengekspresikan izin pada keputusan seolah-olah mereka adalah panggilan API yang sebenarnya, termasuk menerapkan syarat untuk beberapa parameter. Jenis-jenis izin ini disebut izin *API semu*.

Untuk ringkasan parameter API umum dan semu yang dapat dibatasi dengan menggunakan syarat, lihat [Ringkasan API](swf-dev-iam.api.md).

# Kebijakan IAM Amazon SWF
<a name="swf-dev-iam.policies"></a>

Kebijakan IAM berisi satu atau beberapa elemen `Statement`, masing-masing berisi satu set elemen yang menentukan kebijakan. Untuk daftar lengkap elemen d an diskusi umum tentang cara membangun kebijakan, lihat [Bahasa Kebijakan Akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage.html). Amazon SWF kontrol akses didasarkan pada unsur-unsur berikut:

Efek  
(Diperlukan) Efek dari pernyataan: `deny` atau `allow`.  
Anda harus mengizinkan akses secara eksplisit; IAM menolak akses secara default.

Sumber daya  
(Wajib) Sumber daya — entitas dalam AWS layanan yang dapat berinteraksi dengan pengguna — yang berlaku untuk pernyataan tersebut.  
Anda dapat mengekspresikan izin sumber daya hanya untuk domain. Misalnya, kebijakan dapat mengizinkan akses hanya ke domain tertentu di akun Anda. Untuk menyatakan izin domain, setel `Resource` ke Amazon Resource Name (ARN) domain, yang memiliki format “*Region*arn:aws:swf::: /domain/”. *AccountID* *DomainName* *Region*adalah AWS wilayah, *AccountID* adalah ID akun tanpa tanda hubung, dan *DomainName* merupakan nama domain.

Tindakan  
(Wajib) Tindakan yang berlaku untuk pernyataan tersebut, yang Anda rujuk dengan menggunakan format berikut:*serviceId*:*action*. Untuk Amazon SWF, atur *serviceID* ke. `swf` Misalnya, `swf:StartWorkflowExecution` mengacu pada [StartWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html)tindakan, dan digunakan untuk mengontrol pengguna mana yang diizinkan untuk memulai alur kerja.  
 Jika Anda memberikan izin untuk menggunakan [RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html), Anda juga dapat mengontrol akses ke daftar keputusan yang disertakan dengan menggunakan `Action` untuk menyatakan izin untuk API semu. Karena IAM menolak akses secara default, keputusan decider harus diizinkan secara eksplisit atau tidak akan diterima. Anda dapat menggunakan nilai `*` untuk mengizinkan semua keputusan.

Kondisi  
(Opsional) Mengekspresikan kendala pada satu atau lebih parameter tindakan ini, yang membatasi nilai-nilai yang diizinkan.  
Tindakan Amazon SWF sering memiliki cakupan yang luas, yang dapat Anda kurangi dengan menggunakan syarat IAM. Misalnya, untuk membatasi daftar tugas mana yang diizinkan untuk diakses [PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)tindakan, Anda menyertakan `Condition` dan menggunakan `swf:taskList.name` kunci untuk menentukan daftar yang diizinkan.   
Anda dapat mengekspresikan kendala untuk entitas berikut.  
+ Tipe alur kerja. Nama dan versi memiliki kunci terpisah.
+ Tipe aktivitas. Nama dan versi memiliki kunci terpisah.
+ Daftar tugas.
+ Tag. Anda dapat menentukan beberapa tag untuk beberapa tindakan. Dalam hal ini, setiap tag memiliki kunci yang terpisah.
Untuk Amazon SWF, semua nilai merupakan string sehingga Anda membatasi parameter dengan menggunakan operator string seperti `StringEquals`, yang membatasi parameter untuk string tertentu. Namun, operator perbandingan string umum seperti `StringEquals` memerlukan semua permintaan untuk memasukkan parameter. Jika Anda tidak menyertakan parameter secara eksplisit, dan tidak ada nilai default seperti daftar tugas default yang disediakan selama pendaftaran tipe, akses akan ditolak.  
Hal ini sering berguna untuk menganggap syarat sebagai opsional, sehingga Anda dapat memanggil tindakan tanpa harus menyertakan parameter terkait. Misalnya, Anda mungkin ingin mengizinkan penentu menentukan serangkaian [RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)keputusan, tetapi juga mengizinkannya untuk menentukan hanya satu dari mereka untuk panggilan tertentu. Dalam hal ini, Anda membatasi parameter yang sesuai menggunakan operator `StringEqualsIfExists`, yang mengizinkan akses jika parameter memenuhi syarat, tetapi tidak menolak akses jika parameter tidak ada.
Untuk daftar lengkap parameter yang dapat dibatasi dan kunci yang terkait, lihat [Ringkasan API](swf-dev-iam.api.md).

Bagian berikut memberikan contoh mengenai cara membangun kebijakan Amazon SWF. Untuk detailnya, lihat [Syarat String](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#AccessPolicyLanguage_ConditionType). 

## Kebijakan penulisan untuk Amazon SWF
<a name="swf-dev-iam.policies.examples"></a>

Alur kerja terdiri dari beberapa *aktor* — aktivitas, penentu, dan sebagainya. Anda dapat mengontrol akses untuk setiap aktor dengan melampirkan kebijakan IAM yang sesuai.

Dengan tindakan berikut, aktor akan diberikan akses akun penuh di semua wilayah:
+ **Tindakan**: `swf:*`
+ **Sumber daya**: `arn:aws:swf:*:123456789012:/domain/*`

 Anda dapat menggunakan wildcard untuk memiliki nilai tunggal yang mewakili beberapa sumber daya, tindakan, atau wilayah.
+ **Wildcard (`*`) pertama dalam `Resource` nilai menunjukkan bahwa izin sumber daya berlaku untuk semua wilayah.** 

  Untuk membatasi izin untuk satu wilayah, gantilah wildcard dengan string wilayah yang sesuai, seperti us-east-1. 
+ Wildcard kedua (`*`) dalam nilai `Resource` mengizinkan aktor untuk mengakses salah satu domain akun di wilayah tertentu.
+ Wildcard (`*`) dalam nilai `Action` mengizinkan aktor untuk memanggil tindakan Amazon SWF. 

Untuk detail tentang cara menggunakan wildcard, lihat [Deskripsi Elemen](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html)

### Perizinan Domain
<a name="swf-dev-iam.policies.examples.domain"></a>

Untuk membatasi alur kerja departemen ke domain tertentu, Anda dapat memberikan izin yang memungkinkan aktor untuk memanggil tindakan apa pun, tetapi hanya untuk departemen tertentu. 

Untuk mendapatkan akses aktor ke lebih dari satu domain, berikan izin untuk setiap domain sebagai daftar Pernyataan:
+ **Tindakan**: `swf:*`
+ **Sumber daya**: `arn:aws:swf:*:123456789012:/domain/department1` 
+ **Sumber daya**: `arn:aws:swf:*:123456789012:/domain/department2` 

Anda dapat mengizinkan aktor untuk menggunakan tindakan Amazon SWF apa pun di domain `department1` dan`department2`. Anda juga dapat menggunakan wildcard sesekali untuk mewakili beberapa domain. 

### Izin dan Kendala API
<a name="swf-dev-iam.policies.examples.api"></a>

Anda mengontrol **tindakan** mana yang dapat digunakan aktor dengan menentukan tindakan dalam `Action` elemen. 

Dengan tindakan berikut, seorang aktor hanya dapat menelepon `StartWorkflowExecution` untuk memulai alur kerja. Itu tidak bisa menggunakan tindakan lain.
+ **Tindakan**: `swf:StartWorkflowExecution` 

**Ketentuan**  
Anda dapat secara opsional membatasi nilai parameter tindakan yang diizinkan dengan menggunakan elemen. `Condition`

Untuk membatasi alur kerja yang dapat dimulai aktor, batasi satu atau lebih nilai `StartWorkflowExecution` parameter, sebagai berikut:

```
"Condition" : {
   "StringEquals" : { 
      "swf:workflowType.name" : "workflow1",
      "swf:workflowType.version" : "version2" 
    }
}
```

Seorang aktor dengan kendala sebelumnya hanya `version2` dapat menjalankan `workflow1` dan kedua parameter harus disertakan dalam permintaan.

Anda dapat membatasi parameter tanpa harus memasukkanya dalam permintaan dengan menggunakan operator `StringEqualsIfExists`, sebagai berikut:

```
"Condition" : {
   "StringEqualsIfExists" : { "swf:taskList.name" : "task_list_name" }
}
```

Aktor dengan kebijakan sebelumnya dapat menentukan daftar tugas secara opsional saat memulai eksekusi alur kerja.

Anda dapat membatasi daftar tag untuk beberapa tindakan. Setiap tag memiliki kunci terpisah, jadi Anda gunakan `swf:tagList.member.0` untuk membatasi tag pertama dalam daftar, `swf:tagList.member.1` untuk membatasi tag kedua dalam daftar, dan seterusnya, hingga maksimum 5. 

Anda harus berhati-hati bagaimana Anda membatasi daftar tag. Misalnya, kondisi berikut ***tidak*** disarankan. 

Kondisi berikut **tidak** disarankan karena memungkinkan Anda untuk secara opsional menentukan salah satu `some_ok_tag` atau`another_ok_tag`. Namun, Kondisi hanya membatasi **elemen pertama** dari daftar tag. Daftar dapat memiliki elemen tambahan dengan nilai arbitrer yang semuanya diizinkan karena kondisi tidak menerapkan kondisi apa pun`swf:tagList.member.1`,`swf:tagList.member.2`, dan seterusnya.

```
// Example to illustrate an insecure Condition
"Condition" : {
   "StringEqualsIfExists" : {
      "swf:tagList.member.0" : "some_ok_tag", "another_ok_tag"
   }
}
```

Salah satu cara untuk mengatasi masalah sebelumnya adalah dengan melarang penggunaan daftar tag. 

Kebijakan berikut memastikan bahwa hanya `some_ok_tag` atau `another_ok_tag` yang diperbolehkan dengan mewajibkan daftar hanya memiliki satu elemen.

```
"Condition" : {
   "StringEqualsIfExists" : {
      "swf:tagList.member.0" : "some_ok_tag", "another_ok_tag"
    },
    "Null" : { "swf:tagList.member.1" : "true" }
}
```

### Izin dan Kendala API Semu
<a name="pseudo-api-permissions-constraints"></a>

Untuk membatasi keputusan yang tersedia`RespondDecisionTaskCompleted`, Anda harus terlebih dahulu mengizinkan aktor untuk menelepon`RespondDecisionTaskCompleted`. Anda kemudian menyatakan izin untuk anggota API semu yang sesuai menggunakan sintaks yang sama seperti untuk API biasa, sebagai berikut:
+ **Pernyataan 1**

  **Sumber daya**: `arn:aws:swf:*:123456789012:/domain/*` 

  **Tindakan**: `swf:RespondDecisionTaskCompleted` 
+ **Pernyataan 2**

  **Sumber daya**: `*` 

  **Tindakan**: `swf:ScheduleActivityTask` 

  **Kondisi**: ` "StringEquals" : { "swf:activityType.name" : "SomeActivityType" }` 

Yang pertama `Statement` memungkinkan aktor untuk menelepon`RespondDecisionTaskCompleted`. Pernyataan kedua memungkinkan aktor untuk menggunakan `ScheduleActivityTask` keputusan untuk mengarahkan Amazon SWF untuk menjadwalkan tugas kegiatan. Untuk mengizinkan semua keputusan, ganti “swf:ScheduleActivityTask" dengan “swf: \$1”.

Anda dapat menggunakan operator Syarat untuk membatasi parameter seperti dengan API umum. `StringEquals`Operator dalam contoh sebelumnya `Condition` memungkinkan `RespondDecisionTaskCompleted` untuk menjadwalkan tugas aktivitas untuk `SomeActivityType` aktivitas tersebut, dan harus menjadwalkan tugas itu. Jika Anda ingin mengizinkan `RespondDecisionTaskCompleted` untuk menggunakan nilai parameter tetapi tidak memerlukan untuk melakukannya, Anda sebaliknya dapat menggunakan operator `StringEqualsIfExists`.

## AWS kebijakan terkelola: SimpleWorkflowFullAccess
<a name="swf-full-accss-mngd-policy"></a>

Anda dapat melampirkan kebijakan `SimpleWorkflowFullAccess` ke identitas IAM Anda.

Kebijakan ini menyediakan akses penuh ke layanan konfigurasi Amazon SWF.

## Layanan Model Pembatasan pada Kebijakan IAM
<a name="swf-dev-iam.policies.allowed"></a>

Anda harus mempertimbangkan kendala model layanan saat membuat kebijakan IAM. Mungkin untuk membuat kebijakan valid IAM secara sintaksis yang mewakili permintaan Amazon SWF yang tidak valid; permintaan yang diizinkan dalam hal kontrol akses masih bisa gagal karena merupakan permintaan yang tidak valid. 

Misalnya, model layanan Amazon SWF **tidak** mengizinkan `tagFilter` parameter `typeFilter` dan digunakan dalam permintaan yang sama`[ListOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListOpenWorkflowExecutions.html)`. Kondisi berikut akan memungkinkan panggilan yang akan ditolak oleh layanan—dengan melempar `ValidationException` —sebagai permintaan yang tidak valid:

```
"Condition" : {
   "StringEquals" : { 
      "swf:typeFilter.name" : "workflow_name",
      "swf:typeFilter.version" : "workflow_version",
      "swf:tagFilter.tag" : "some_tag" 
    }
}
```

# Ringkasan API
<a name="swf-dev-iam.api"></a>

Bagian ini menjelaskan secara singkat mengenai cara Anda menggunakan kebijakan IAM untuk mengontrol seorang aktor untuk dapat menggunakan setiap API dan API semu untuk mengakses sumber daya Amazon SWF.
+ Untuk semua tindakan kecuali `RegisterDomain` dan `ListDomains`, Anda dapat mengizinkan atau menolak akses ke salah satu atau semua domain akun dengan menyatakan izin untuk sumber daya domain. 
+ Anda dapat mengizinkan atau menolak izin untuk setiap anggota API umum dan, jika Anda memberikan izin untuk memanggil `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`, semua anggota dari API semu. 
+ Anda dapat menggunakan Syarat untuk membatasi nilai-nilai yang diizinkan beberapa parameter.

Bagian berikut mendaftar parameter yang dapat dibatasi untuk setiap anggota API umum dan semu serta memberikan kunci terkait, dan memperhatikan pembatasan pada Anda untuk dapat mengontrol akses domain. 

## API Reguler
<a name="swf-dev-iam.api.regular"></a>

Bagian ini berisi daftar anggota API umum, dan menjelaskan secara singkat parameter yang dapat dibatasi dan kunci yang terkait. Bagian ini juga mencatat batasan apa pun mengenai cara Anda untuk dapat mengontrol akses domain.

`[CountClosedWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountClosedWorkflowExecutions.html)`
+ `tagFilter.tag` – Kendala String. Kuncinya adalah `swf:tagFilter.tag`
+ `typeFilter.name` – Kendala String. Kuncinya adalah `swf:typeFilter.name`.
+ `typeFilter.version` – Kendala String. Kuncinya adalah `swf:typeFilter.version`. 

**catatan**  
`CountClosedWorkflowExecutions` membutuhkan `typeFilter` dan `tagFilter` untuk menjadi saling eksklusif.

`[CountOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountOpenWorkflowExecutions.html)`
+ `tagFilter.tag` – Kendala String. Kuncinya adalah `swf:tagFilter.tag`
+ `typeFilter.name` – Kendala String. Kuncinya adalah `swf:typeFilter.name`.
+ `typeFilter.version` – Kendala String. Kuncinya adalah `swf:typeFilter.version`. 

**catatan**  
`CountOpenWorkflowExecutions` membutuhkan `typeFilter` dan `tagFilter` untuk menjadi saling eksklusif.

`[CountPendingActivityTasks](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingActivityTasks.html)`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.

`[CountPendingDecisionTasks](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingDecisionTasks.html)`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.

`[DeleteActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeleteActivityType.html)`
+ `activityType.name` – Kendala String. Kuncinya adalah `swf:activityType.name`.
+ `activityType.version` – Kendala String. Kuncinya adalah `swf:activityType.version`.

`[DeprecateActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateActivityType.html)`
+ `activityType.name` – Kendala String. Kuncinya adalah `swf:activityType.name`.
+ `activityType.version` – Kendala String. Kuncinya adalah `swf:activityType.version`.

`[DeprecateDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateDomain.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[DeleteWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeleteWorkflowType.html)`
+ `workflowType.name` – Kendala String. Kuncinya adalah `swf:workflowType.name`.
+ `workflowType.version` – Kendala String. Kuncinya adalah `swf:workflowType.version`. 

`[DeprecateWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateWorkflowType.html)`
+ `workflowType.name` – Kendala String. Kuncinya adalah `swf:workflowType.name`.
+ `workflowType.version` – Kendala String. Kuncinya adalah `swf:workflowType.version`. 

`[DescribeActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeActivityType.html)`
+ `activityType.name` – Kendala String. Kuncinya adalah `swf:activityType.name`.
+ `activityType.version` – Kendala String. Kuncinya adalah `swf:activityType.version`.

`[DescribeDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeDomain.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[DescribeWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowExecution.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[DescribeWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowType.html)`
+ `workflowType.name` – Kendala String. Kuncinya adalah `swf:workflowType.name`.
+ `workflowType.version` – Kendala String. Kuncinya adalah `swf:workflowType.version`.

`[GetWorkflowExecutionHistory](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_GetWorkflowExecutionHistory.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[ListActivityTypes](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListActivityTypes.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[ListClosedWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListClosedWorkflowExecutions.html)`
+ `tagFilter.tag` – Kendala String. Kuncinya adalah `swf:tagFilter.tag`
+ `typeFilter.name` – Kendala String. Kuncinya adalah `swf:typeFilter.name`.
+ `typeFilter.version` – Kendala String. Kuncinya adalah `swf:typeFilter.version`. 

**catatan**  
`ListClosedWorkflowExecutions` membutuhkan `typeFilter` dan `tagFilter` untuk menjadi saling eksklusif.

`[ListDomains](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListDomains.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[ListOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListOpenWorkflowExecutions.html)`
+ `tagFilter.tag` – Kendala String. Kuncinya adalah `swf:tagFilter.tag`
+ `typeFilter.name` – Kendala String. Kuncinya adalah `swf:typeFilter.name`.
+ `typeFilter.version` – Kendala String. Kuncinya adalah `swf:typeFilter.version`. 

**catatan**  
`ListOpenWorkflowExecutions` membutuhkan `typeFilter` dan `tagFilter` untuk menjadi saling eksklusif.

`[ListWorkflowTypes](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListWorkflowTypes.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.

`[PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html)`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.

`[RecordActivityTaskHeartbeat](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RecordActivityTaskHeartbeat.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[RegisterActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html)`
+ `defaultTaskList.name` – Kendala String. Kuncinya adalah `swf:defaultTaskList.name`. 
+ `name` – Kendala String. Kuncinya adalah `swf:name`.
+ `version` – Kendala String. Kuncinya adalah `swf:version`.

`[RegisterDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterDomain.html)`
+ `name` – Nama domain yang terdaftar tersedia sebagai sumber daya dari tindakan ini. 

`[RegisterWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html)`
+ `defaultTaskList.name` – Kendala String. Kuncinya adalah `swf:defaultTaskList.name`. 
+ `name` – Kendala String. Kuncinya adalah `swf:name`.
+ `version` – Kendala String. Kuncinya adalah `swf:version`.

`[RequestCancelWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RequestCancelWorkflowExecution.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[RespondActivityTaskCanceled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCanceled.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[RespondActivityTaskFailed](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskFailed.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`
+ `decisions.member.N` – Dibatasi secara tidak langsung melalui izin API semu. Untuk detail selengkapnya, lihat [API Semu](#swf-dev-iam.api.pseudo).

`[SignalWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_SignalWorkflowExecution.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

`[StartWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html)`
+ `tagList.member.0` – Kendala String. Kuncinya adalah `swf:tagList.member.0`
+ `tagList.member.1` – Kendala String. Kuncinya adalah `swf:tagList.member.1`
+ `tagList.member.2` – Kendala String. Kuncinya adalah `swf:tagList.member.2`
+ `tagList.member.3` – Kendala String. Kuncinya adalah `swf:tagList.member.3`
+ `tagList.member.4` – Kendala String. Kuncinya adalah `swf:tagList.member.4`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.
+ `workflowType.name` – Kendala String. Kuncinya adalah `swf:workflowType.name`.
+ `workflowType.version` – Kendala String. Kuncinya adalah `swf:workflowType.version`.

**catatan**  
Anda tidak dapat membatasi lebih dari lima tag.

`[TerminateWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TerminateWorkflowExecution.html)`
+ Anda tidak dapat membatasi parameter tindakan ini.

## API Semu
<a name="swf-dev-iam.api.pseudo"></a>

Bagian ini berisi daftar anggota API semu, yang mewakili keputusan yang disertakan dalam `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`. Jika Anda telah memberikan izin untuk menggunakan `RespondDecisionTaskCompleted`, kebijakan Anda dapat menyatakan izin untuk anggota API ini dengan cara yang sama seperti API umum. Anda dapat lebih membatasi beberapa anggota API semu dengan menetapkan syarat pada satu atau lebih parameter. Bagian ini berisi daftar anggota API semu, dan menjelaskan secara singkat parameter yang dapat dibatasi dan kunci yang terkait.

**catatan**  
Kunci `aws:SourceIP`, `aws:UserAgent`, dan `aws:SecureTransport` tidak tersedia untuk API semu. Jika kebijakan keamanan yang Anda inginkan memerlukan kunci ini untuk mengontrol akses ke API semu, Anda dapat menggunakannya dengan tindakan `RespondDecisionTaskCompleted`. 

`CancelTimer`
+ Anda tidak dapat membatasi parameter tindakan ini.

`CancelWorkflowExecution`
+ Anda tidak dapat membatasi parameter tindakan ini.

`CompleteWorkflowExecution`
+ Anda tidak dapat membatasi parameter tindakan ini.

`ContinueAsNewWorkflowExecution`
+ `tagList.member.0` – Kendala String. Kuncinya adalah `swf:tagList.member.0`
+ `tagList.member.1` – Kendala String. Kuncinya adalah `swf:tagList.member.1`
+ `tagList.member.2` – Kendala String. Kuncinya adalah `swf:tagList.member.2`
+ `tagList.member.3` – Kendala String. Kuncinya adalah `swf:tagList.member.3`
+ `tagList.member.4` – Kendala String. Kuncinya adalah `swf:tagList.member.4`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.
+ `workflowTypeVersion` – Kendala String. Kuncinya adalah `swf:workflowTypeVersion`.

**catatan**  
Anda tidak dapat membatasi lebih dari lima tag.

`FailWorkflowExecution`
+ Anda tidak dapat membatasi parameter tindakan ini.

`RecordMarker`
+ Anda tidak dapat membatasi parameter tindakan ini.

`RequestCancelActivityTask`
+ Anda tidak dapat membatasi parameter tindakan ini.

`RequestCancelExternalWorkflowExecution`
+ Anda tidak dapat membatasi parameter tindakan ini.

`ScheduleActivityTask`
+ `activityType.name` – Kendala String. Kuncinya adalah `swf:activityType.name`.
+ `activityType.version` – Kendala String. Kuncinya adalah `swf:activityType.version`.
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.

`SignalExternalWorkflowExecution`
+ Anda tidak dapat membatasi parameter tindakan ini.

`StartChildWorkflowExecution`
+ `tagList.member.0` – Kendala String. Kuncinya adalah `swf:tagList.member.0`
+ `tagList.member.1` – Kendala String. Kuncinya adalah `swf:tagList.member.1`
+ `tagList.member.2` – Kendala String. Kuncinya adalah `swf:tagList.member.2`
+ `tagList.member.3` – Kendala String. Kuncinya adalah `swf:tagList.member.3`
+ `tagList.member.4` – Kendala String. Kuncinya adalah `swf:tagList.member.4`
+ `taskList.name` – Kendala String. Kuncinya adalah `swf:taskList.name`.
+ `workflowType.name` – Kendala String. Kuncinya adalah `swf:workflowType.name`.
+ `workflowType.version` – Kendala String. Kuncinya adalah `swf:workflowType.version`.

**catatan**  
Anda tidak dapat membatasi lebih dari lima tag.

`StartTimer`
+ Anda tidak dapat membatasi parameter tindakan ini.

# Kebijakan Berbasis Tag
<a name="tag-based-policies"></a>

Amazon SWF mendukung kebijakan berdasarkan tag. Misalnya, Anda dapat membatasi domain Amazon SWF yang menyertakan tag dengan `environment` kunci dan `production` nilai dengan kondisi berikut:

```
"Condition": {
    "StringEquals": {"aws:ResourceTag/environment": "production"}
}
```

Untuk informasi selengkapnya mengenai penandaan, lihat:
+ [Tag di Amazon SWF](swf-dev-adv-tags.md)
+ [Mengontrol Akses Menggunakan Tag IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)

# Titik akhir Amazon VPC untuk Amazon SWF
<a name="swf-vpc-endpoints"></a>

**catatan**  
AWS PrivateLink dukungan saat ini tersedia di AWS Top Secret - Timur, Wilayah AWS Rahasia, dan Wilayah Tiongkok saja.

Jika Anda menggunakan Amazon Virtual Private Cloud (Amazon VPC) untuk meng-host AWS sumber daya, Anda dapat membuat sambungan antara alur kerja Amazon VPC dan Amazon Simple Workflow Service. Anda dapat menggunakan koneksi ini dengan alur kerja Amazon SWF Anda tanpa melintasi internet publik. 

Amazon VPC memungkinkan Anda meluncurkan AWS sumber daya di jaringan virtual khusus. Anda dapat menggunakan VPC untuk mengendalikan pengaturan jaringan, seperti rentang alamat IP, subnet, tabel rute, dan gateway jaringan. Untuk informasi selengkapnya VPCs, lihat [Panduan Pengguna Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/).

Untuk menghubungkan VPC Amazon Anda ke Amazon SWF, Anda harus terlebih dahulu menentukan titik akhir *VPC antarmuka, yang memungkinkan Anda menghubungkan VPC* Anda ke yang lain. Layanan AWS Titik akhir memberikan konektivitas yang dapat andal, dapat diskalakan, tanpa memerlukan gateway internet, instans terjemahan alamat jaringan (NAT), atau koneksi VPN. Untuk informasi selengkapnya, lihat [VPC Endpoint Antarmuka (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) dalam *Panduan Pengguna Amazon VPC*.

## Membuat Titik Akhir
<a name="swf-vpc-endpoint-create"></a>

Anda dapat membuat titik akhir Amazon SWF di VPC menggunakan, AWS Command Line Interface (AWS CLI) Konsol Manajemen AWS, SDK, Amazon SWF AWS API, atau. CloudFormation

Untuk informasi tentang membuat dan mengonfigurasi titik akhir menggunakan konsol Amazon VPC atau AWS CLI, lihat [Membuat Titik Akhir Antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) dalam *Panduan Pengguna Amazon VPC.*

**catatan**  
 Saat Anda membuat titik akhir, tentukan Amazon SWF sebagai layanan yang Anda inginkan untuk disambungkan oleh VPC Anda. Di konsol Amazon VPC, nama layanan bervariasi berdasarkan Wilayah AWS . **Misalnya, di AWS Top Secret - East Region, nama layanan untuk Amazon SWF adalah com.amazonaws. us-iso-east**-1.swf.

Untuk informasi tentang membuat dan mengonfigurasi titik akhir menggunakan CloudFormation, lihat VPCEndpoint sumber daya [AWS:EC2::](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) di *CloudFormation Panduan Pengguna*.

## Kebijakan Amazon VPC Endpoint
<a name="swf-vpc-endpoint-policy"></a>

Untuk mengontrol akses konektivitas ke Amazon SWF, Anda dapat melampirkan kebijakan endpoint AWS Identity and Access Management (IAM) saat membuat endpoint Amazon VPC. Anda dapat membuat aturan IAM kompleks dengan melampirkan beberapa kebijakan titik akhir. Untuk informasi selengkapnya, lihat:
+  [Kebijakan Titik Akhir Amazon Virtual Private Cloud untuk Amazon SWF](swf-vpc-iam.md) 
+  [Mengontrol Akses ke Layanan dengan Titik Akhir VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) 

# Kebijakan Titik Akhir Amazon Virtual Private Cloud untuk Amazon SWF
<a name="swf-vpc-iam"></a>

Anda dapat membuat kebijakan titik akhir Amazon VPC untuk Amazon SWF di mana Anda menentukan yang berikut ini:
+ Kepala **sekolah** yang dapat melakukan tindakan.
+ Tindakan yang dapat dilakukan.
+ Sumber daya untuk melakukan tindakan.

Contoh berikut menambahkan peran IAM tertentu ke kebijakan:

```
"Principal": {
   "AWS": "arn:aws:iam::123456789012:role/MyRole"
}
```
+ Untuk informasi selengkapnya tentang membuat kebijakan titik akhir, lihat [Mengontrol Akses ke Layanan dengan Titik Akhir VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html).
+ Untuk informasi tentang cara menggunakan IAM untuk mengontrol akses ke sumber daya Amazon SWF Anda AWS dan Amazon, lihat. [Identity and Access Management di Amazon Simple Workflow Service](swf-dev-iam.md)

# Memecahkan masalah identitas dan akses Amazon Simple Workflow Service
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengan Amazon SWF dan IAM.

**Topics**
+ [Saya tidak berwenang untuk melakukan tindakan di Amazon SWF](#security_iam_troubleshoot-no-permissions)
+ [Saya tidak berwenang untuk melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses sumber daya Amazon SWF saya](#security_iam_troubleshoot-cross-account-access)

## Saya tidak berwenang untuk melakukan tindakan di Amazon SWF
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Anda menerima pesan kesalahan bahwa Anda tidak memiliki otorisasi untuk melakukan tindakan, kebijakan Anda harus diperbarui agar Anda dapat melakukan tindakan tersebut.

Contoh kesalahan berikut terjadi ketika pengguna `mateojackson` mencoba menggunakan konsol untuk melihat detail tentang suatu sumber daya `my-example-widget` fiktif, tetapi tidak memiliki izin `swf:GetWidget` fiktif.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: swf:GetWidget on resource: my-example-widget
```

Dalam hal ini, kebijakan Mateo harus diperbarui untuk memungkinkannya mengakses `my-example-widget` sumber daya menggunakan `swf:GetWidget` tindakan.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan bahwa Anda tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran ke Amazon SWF.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Amazon SWF. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses sumber daya Amazon SWF saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa referensi berikut:
+ Untuk mengetahui apakah Amazon SWF mendukung fitur-fitur ini, lihat. [Bagaimana Amazon Simple Workflow Service bekerja dengan IAM](security_iam_service-with-iam.md)
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh sumber daya Akun AWS yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda kepada pihak ketiga Akun AWS, lihat [Menyediakan akses yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ *Untuk mempelajari perbedaan antara menggunakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).*