

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

# Pembuatan peran IAM
<a name="id_roles_create"></a>

Untuk membuat peran, Anda dapat menggunakan Konsol Manajemen AWS, Tools for Windows PowerShell, atau IAM API. AWS CLI

Jika Anda menggunakan Konsol Manajemen AWS, wizard memandu Anda melalui langkah-langkah untuk membuat peran. Wizard memiliki langkah yang sedikit berbeda tergantung pada apakah Anda membuat peran untuk AWS layanan, untuk Akun AWS, atau untuk prinsipal federasi SAMP atau OIDC.

**Peran untuk pengguna IAM**  
Buat peran ini untuk mendelegasikan izin dalam peran Anda Akun AWS atau ke peran yang ditentukan di peran lain Akun AWS yang Anda miliki. Pengguna dalam satu akun dapat beralih ke peran dalam akun yang sama atau berbeda. Saat menggunakan peran tersebut, pengguna hanya dapat melakukan tindakan dan mengakses sumber daya yang diizinkan dengan peran tersebut; izin pengguna yang asli ditangguhkan. Saat pengguna keluar dari peran, izin pengguna asli mereka dipulihkan.

Untuk informasi selengkapnya, lihat [Buat peran untuk memberikan izin kepada pengguna IAM](id_roles_create_for-user.md).

Untuk informasi selengkapnya tentang membuat peran untuk akses lintas akun, lihat[Membuat peran menggunakan kebijakan kepercayaan khusus](id_roles_create_for-custom.md).

**Peran untuk AWS layanan**  
Buat peran ini untuk mendelegasikan izin ke layanan yang dapat melakukan tindakan atas nama Anda. [Peran layanan](id_roles.md#iam-term-service-role) yang Anda berikan ke layanan harus memiliki kebijakan IAM dengan izin yang memungkinkan layanan melakukan tindakan yang terkait dengan layanan tersebut. Izin yang berbeda diperlukan untuk setiap AWS layanan.

Untuk informasi selengkapnya tentang membuat peran layanan, lihat[Membuat peran untuk mendelegasikan izin ke layanan AWS](id_roles_create_for-service.md).

Untuk informasi selengkapnya tentang membuat peran terkait layanan, lihat. [Buat peran tertaut layanan](id_roles_create-service-linked-role.md)

**Peran untuk federasi identitas**  
Buat peran ini untuk mendelegasikan izin kepada pengguna yang sudah memiliki identitas di luar. AWS Saat Anda menggunakan penyedia identitas , Anda tidak perlu membuat kode masuk khusus atau mengelola identitas pengguna Anda sendiri. Pengguna eksternal Anda masuk melalui iDP, dan Anda dapat memberikan izin identitas eksternal tersebut untuk menggunakan AWS sumber daya di akun Anda. Penyedia identitas membantu menjaga keamanan AWS akun Anda karena Anda tidak perlu mendistribusikan atau menyematkan kredensi keamanan jangka panjang, seperti kunci akses, di aplikasi Anda.

Lihat informasi yang lebih lengkap di [Membuat peran untuk penyedia identitas pihak ketiga](id_roles_create_for-idp.md).

# Buat peran untuk memberikan izin kepada pengguna IAM
<a name="id_roles_create_for-user"></a>

Anda dapat menggunakan peran IAM untuk menyediakan akses ke AWS sumber daya Anda. Dengan peran IAM, Anda dapat membangun hubungan kepercayaan antara akun *kepercayaan* Anda dan akun AWS *tepercaya* lainnya. Akun trusting memiliki sumber daya yang akan diakses dan akun terpercaya berisi pengguna yang membutuhkan akses ke sumber daya. Namun, akun lain bisa saja memiliki sumber daya di akun Anda. Misalnya, akun kepercayaan mungkin mengizinkan akun tepercaya untuk membuat sumber daya baru, seperti membuat objek baru di bucket Amazon S3. Dalam hal ini, akun yang menciptakan sumber daya memiliki sumber daya dan mengendalikan siapa yang dapat mengakses sumber daya tersebut.

Setelah Anda membuat hubungan kepercayaan, pengguna IAM atau aplikasi dari akun tepercaya dapat menggunakan operasi [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API AWS Security Token Service (AWS STS). Operasi ini menyediakan kredensi keamanan sementara yang memungkinkan akses ke AWS sumber daya di akun Anda.

Akun-akun tersebut dapat dikendalikan oleh Anda, atau akun dengan pengguna-pengguna dapat dikendalikan oleh pihak ketiga. Jika akun lain dengan pengguna adalah Akun AWS yang tidak Anda kendalikan, maka Anda dapat menggunakan `externalId` atribut tersebut. ID eksternal dapat berupa kata atau nomor apa pun yang disepakati antara Anda dan administrator akun pihak ketiga. Opsi ini secara otomatis menambahkan persyaratan kepada kebijakan kepercayaan yang memperbolehkan pengguna untuk mengasumsikan peran hanya jika permintaan mencakup `sts:ExternalID` yang benar. Untuk informasi selengkapnya, lihat [Akses ke Akun AWS yang dimiliki oleh pihak ketiga](id_roles_common-scenarios_third-party.md).

Untuk informasi tentang cara menggunakan peran untuk mendelegasikan izin, lihat [Istilah dan konsep peran](id_roles.md#id_roles_terms-and-concepts). Untuk informasi tentang menggunakan peran layanan untuk memperbolehkan layanan mengakses sumber daya di akun Anda, lihat [Membuat peran untuk mendelegasikan izin ke layanan AWS](id_roles_create_for-service.md).

## Membuat peran IAM (konsol)
<a name="roles-creatingrole-user-console"></a>

Anda dapat menggunakan Konsol Manajemen AWS untuk membuat peran yang dapat diasumsikan oleh pengguna IAM. Misalnya, asumsikan bahwa organisasi Anda memiliki banyak Akun AWS untuk mengisolasi lingkungan pengembangan dari lingkungan produksi. Untuk informasi tingkat tinggi tentang membuat peran yang memungkinkan pengguna di akun pengembangan mengakses sumber daya di akun produksi, lihat[Contoh skenario menggunakan akun pengembangan dan produksi terpisah](id_roles_common-scenarios_aws-accounts.md#id_roles_common-scenarios_aws-accounts-example).

**Izin minimum**  
Untuk melakukan langkah-langkah berikut, Anda harus memiliki setidaknya izin IAM berikut:  
`access-analyzer:ValidatePolicy`
`iam:AttachRolePolicy`
`iam:CreatePolicy`
`iam:CreateRole`
`iam:GetAccountSummary`
`iam:GetPolicy`
`iam:GetPolicyVersion`
`iam:GetRole`
`iam:ListAccountAliases`
`iam:ListAttachedRolePolicies`
`iam:ListOpenIDConnectProviders`
`iam:ListPolicies`
`iam:ListRolePolicies`
`iam:ListRoles`
`iam:ListRoleTags`
`iam:ListSAMLProviders`

------
#### [ Console ]

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol, pilih **Peran** dan kemudian pilih **Buat peran**.

1. Pilih tipe **Akun AWS**peran.

1. Untuk membuat peran untuk akun Anda, pilih **Akun ini**. Untuk membuat peran untuk akun lain, pilih **Lainnya Akun AWS** dan masukkan **ID Akun** yang ingin Anda berikan akses ke sumber daya Anda.

   Administrator akun yang ditentukan dapat memberikan izin untuk mengasumsikan peran ini kepada setiap pengguna IAM dalam akun tersebut. Untuk melakukannya, administrator melampirkan kebijakan kepada pengguna atau grup yang memberikan izin untuk tindakan `sts:AssumeRole`. Kebijakan tersebut harus menentukan ARN peran sebagai `Resource`. 

1. **Jika Anda memberikan izin kepada pengguna dari akun yang tidak Anda kendalikan, dan pengguna akan mengambil peran ini secara terprogram, pilih Memerlukan ID eksternal.** ID eksternal dapat berupa kata atau nomor apa pun yang disepakati antara Anda dan administrator akun pihak ketiga. Opsi ini secara otomatis menambahkan persyaratan kepada kebijakan kepercayaan yang memperbolehkan pengguna untuk mengasumsikan peran hanya jika permintaan mencakup `sts:ExternalID` yang benar. Untuk informasi selengkapnya, lihat [Akses ke Akun AWS yang dimiliki oleh pihak ketiga](id_roles_common-scenarios_third-party.md).
**penting**  
Memilih opsi ini membatasi akses ke peran hanya melalui AWS CLI, Alat untuk Windows PowerShell, atau AWS API. Ini karena Anda tidak dapat menggunakan AWS konsol untuk beralih ke peran yang memiliki `externalId` kondisi dalam kebijakan kepercayaannya. Namun, Anda dapat membuat jenis akses ini secara terprogram dengan menulis skrip atau aplikasi menggunakan SDK yang relevan. Untuk informasi lebih lanjut dan contoh skrip, lihat [Cara Mengaktifkan Akses Lintas Akun ke Konsol Manajemen AWS](https://aws.amazon.com/blogs/security/how-to-enable-cross-account-access-to-the-aws-management-console) dalam Blog Keamanan AWS .

1. Jika Anda ingin membatasi peran bagi pengguna yang masuk ke multi-factor authentication (MFA) (MFA), pilih **Memerlukan MFA**. Ini menambahkan persyaratan ke kebijakan kepercayaan peran yang memeriksa masuk MFA. Seorang pengguna yang ingin mengasumsikan peran tersebut harus masuk dengan kata sandi satu kali sementara dari perangkat MFA yang dikonfigurasi. Pengguna tanpa otentikasi MFA tidak dapat mengasumsikan peran tersebut. Untuk informasi lebih lanjut tentang MFA, lihat [AWS Otentikasi multi-faktor di IAM](id_credentials_mfa.md)

1. Pilih **Berikutnya**.

1. IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda. Pilih kebijakan yang akan digunakan untuk kebijakan izin atau pilih **Buat kebijakan** untuk membuka tab peramban baru dan membuat kebijakan baru dari awal. Untuk informasi selengkapnya, lihat [Membuat kebijakan IAM](access_policies_create-console.md#access_policies_create-start). Setelah Anda membuat kebijakan, tutup tab tersebut dan kembali ke tab asli Anda. Pilih kotak centang di samping kebijakan izin yang Anda inginkan bagi siapa saja yang mengambil peran tersebut. Jika Anda lebih suka, Anda boleh tidak memilih kebijakan saat ini, kemudian melampirkan kebijakan kepada peran di lain waktu. Secara default, peran tidak memiliki izin.

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md). Ini adalah fitur lanjutan. 

   Buka bagian **Atur batasan izin** dan pilih **Gunakan batas izin untuk mengontrol izin peran maksimum**. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Untuk **Nama peran**, masukkan nama peran Anda. Nama peran harus unik di dalam diri Anda Akun AWS. Bila nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, nama peran tersebut peka huruf besar/kecil. Saat nama peran muncul ke pelanggan di konsol, seperti selama proses masuk, nama peran tidak peka huruf besar/kecil. Karena berbagai entitas mungkin mereferensikan peran tersebut, Anda tidak dapat mengedit nama peran setelah peran tersebut dibuat.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran baru ini.

1. Pilih **Edit** di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan bagian izin** untuk mengedit kasus penggunaan dan izin untuk peran tersebut. Anda akan dikembalikan ke halaman sebelumnya untuk melakukan pengeditan.

1. (Opsional) Tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang menggunakan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md).

1. Tinjau peran dan kemudian pilih **Buat peran**.
**penting**  
Ingatlah bahwa ini hanya setengah bagian pertama dari konfigurasi yang diperlukan. Anda juga harus memberikan izin kepada pengguna individu dalam akun terpercaya untuk beralih ke peran dalam konsol, atau mengasumsikan peran tersebut secara terprogram. Untuk informasi selengkapnya tentang langkah ini, lihat [Berikan izin pengguna untuk beralih peran](id_roles_use_permissions-to-switch.md).

------

## Membuat peran IAM ()AWS CLI
<a name="roles-creatingrole-user-cli"></a>

Membuat peran dari AWS CLI melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah dilakukan untuk Anda, tetapi dengan itu AWS CLI Anda harus secara eksplisit melakukan setiap langkah sendiri. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Atau, Anda juga dapat mengatur [batas izin](access_policies_boundaries.md) untuk peran Anda.

**Untuk membuat peran bagi akses lintas akun (AWS CLI)**

1. Buat peran: [aws iam create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)

1. Lampirkan kebijakan izin terkelola ke peran: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) iam attach-role-policy

    atau

   [Buat kebijakan izin sebaris untuk peran tersebut: aws iam put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)

1. (Opsional) Tambahkan atribut khusus ke peran tersebut dengan melampirkan tag: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)

   Untuk informasi selengkapnya, lihat [Mengelola tag pada peran IAM (AWS CLI atau AWS API)](id_tags_roles.md#id_tags_roles_procs-cli-api).

1. [(Opsional) Tetapkan [batas izin](access_policies_boundaries.md) untuk peran: aws iam put-role-permissions-boundary](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html)

   Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Contoh berikut menunjukkan dua langkah pertama, dan yang paling umum untuk membuat peran lintas akun dalam lingkungan sederhana. Contoh ini memungkinkan setiap pengguna dalam akun `123456789012` untuk mengasumsikan peran dan melihat `example_bucket` bucket Amazon S3. Contoh ini juga mengasumsikan bahwa Anda menggunakan komputer klien yang menjalankan Windows, dan telah mengonfigurasi antarmuka baris perintah Anda kredensial akun dan Wilayah Anda. Untuk informasi selengkapnya, lihat [Mengonfigurasi Antarmuka Baris AWS Perintah](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

Dalam contoh ini, sertakan kebijakan kepercayaan berikut pada perintah pertama ketika Anda membuat peran tersebut. Kebijakan kepercayaan ini memperbolehkan pengguna dalam akun `123456789012` untuk mengasumsikan peran dengan menggunakan operasi `AssumeRole`, tetapi hanya jika pengguna memberikan otentikasi MFA dengan menggunakan parameter `SerialNumber` dan `TokenCode`. Untuk informasi lebih lanjut tentang MFA, lihat [AWS Otentikasi multi-faktor di IAM](id_credentials_mfa.md).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
          "Effect": "Allow",
          "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
          "Action": "sts:AssumeRole",
          "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }
      }
  ]
}
```

------

**penting**  
Jika elemen `Principal` Anda memuat ARN untuk peran atau pengguna IAM tertentu, kemudian ARN diubah menjadi ID prinsipal unik saat kebijakan disimpan. Hal ini membantu memitigasi risiko seseorang meningkatkan izin mereka dengan menghapus dan membuat kembali peran atau pengguna. Anda biasanya tidak melihat ID ini di dalam konsol karena terdapat transformasi balik kembali ke ARN ketika kebijakan kepercayaan ditampilkan. Namun, jika Anda menghapus peran atau pengguna, maka ID utama muncul di konsol karena tidak AWS dapat lagi memetakannya kembali ke ARN. Oleh karena itu, jika Anda menghapus dan membuat ulang pengguna atau peran yang dirujuk di dalam elemen `Principal` kebijakan kepercayaan, Anda harus mengubah peran untuk mengganti ARN.

Saat menggunakan perintah kedua, Anda harus melampirkan kebijakan terkelola yang ada pada peran tersebut. Kebijakan izin berikut ini memperbolehkan siapa pun yang mengasumsikan peran untuk hanya melaksanakan tindakan `ListBucket` pada `example_bucket` bucket Amazon S3.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
          "Effect": "Allow",
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::example_bucket"
      }
  ]
}
```

------

Untuk membuat peran `Test-UserAccess-Role` ini, Anda harus terlebih dahulu menyimpan kebijakan kepercayaan sebelumnya dengan nama `trustpolicyforacct123456789012.json` ke folder `policies` di drive lokal `C:` Anda. Kemudian simpan kebijakan izin sebelumnya sebagai kebijakan terkelola pelanggan di nama `PolicyForRole` Anda Akun AWS . Kemudian Anda dapat menggunakan perintah berikut untuk membuat peran dan melampirkan kebijakan terkelola.

```
# Create the role and attach the trust policy file that allows users in the specified account to assume the role.
$ aws iam create-role --role-name Test-UserAccess-Role --assume-role-policy-document file://C:\policies\trustpolicyforacct123456789012.json

# Attach the permissions policy (in this example a managed policy) to the role to specify what it is allowed to do.
$ aws iam attach-role-policy --role-name Test-UserAccess-Role --policy-arn arn:aws:iam::123456789012:policy/PolicyForRole
```

**penting**  
Ingatlah bahwa ini hanya setengah bagian pertama dari konfigurasi yang diperlukan. Anda juga harus memberikan izin kepada pengguna individu dalam akun terpercaya untuk beralih ke peran. Untuk informasi selengkapnya tentang langkah ini, lihat [Berikan izin pengguna untuk beralih peran](id_roles_use_permissions-to-switch.md).

Setelah Anda membuat peran dan memberinya izin untuk melakukan AWS tugas atau mengakses AWS sumber daya, setiap pengguna di `123456789012` akun dapat mengambil peran tersebut. Untuk informasi selengkapnya, lihat [Beralih ke peran IAM ()AWS CLI](id_roles_use_switch-role-cli.md).

## Membuat peran IAM (AWS API)
<a name="roles-creatingrole-user-api"></a>

Membuat peran dari AWS API melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah yang dilakukan untuk Anda, tetapi dengan API Anda harus melakukan setiap langkah sendiri secara eksplisit. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Atau, Anda juga dapat mengatur [batas izin](access_policies_boundaries.md) untuk peran Anda.

**Untuk membuat peran dalam kode (AWS API)**

1. Buat peran: [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)

   Untuk kebijakan kepercayaan peran, Anda dapat menentukan lokasi file.

1. Lampirkan kebijakan izin terkelola pada peran: [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)

   atau

   Buat kebijakan izin inline untuk peran: [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)
**penting**  
Ingatlah bahwa ini hanya setengah bagian pertama dari konfigurasi yang diperlukan. Anda juga harus memberikan izin kepada pengguna individu dalam akun terpercaya untuk beralih ke peran. Untuk informasi selengkapnya tentang langkah ini, lihat [Berikan izin pengguna untuk beralih peran](id_roles_use_permissions-to-switch.md).

1. (Opsional) Tambahkan atribut khusus ke pengguna dengan melampirkan tag: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

   Untuk informasi selengkapnya, lihat [Mengelola tag pada pengguna IAM (AWS CLI atau AWS API)](id_tags_users.md#id_tags_users_procs-cli-api).

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md) untuk peran tersebut: [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Setelah Anda membuat peran dan memberinya izin untuk melakukan AWS tugas atau mengakses AWS sumber daya, Anda harus memberikan izin kepada pengguna di akun agar mereka dapat mengambil peran tersebut. Untuk informasi lebih lanjut tentang mengambil peran, lihat [Beralih ke peran IAM (AWS API)](id_roles_use_switch-role-api.md).

## Membuat peran IAM ()AWS CloudFormation
<a name="roles_creatingrole-user-cloudformation"></a>

Untuk informasi tentang membuat peran IAM AWS CloudFormation, lihat [referensi sumber daya dan properti](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) serta [contoh](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#aws-resource-iam-role--examples) di *Panduan AWS CloudFormation Pengguna*.

*Untuk informasi selengkapnya tentang template IAM di AWS CloudFormation, lihat [cuplikan AWS Identity and Access Management templat di Panduan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html) Pengguna.AWS CloudFormation *

# Membuat peran untuk mendelegasikan izin ke layanan AWS
<a name="id_roles_create_for-service"></a>

Banyak AWS layanan mengharuskan Anda menggunakan peran untuk memungkinkan layanan mengakses sumber daya di layanan lain atas nama Anda. Peran yang diasumsikan layanan untuk melakukan tindakan atas nama Anda disebut [peran layanan](id_roles.md#iam-term-service-role). Ketika suatu peran melayani tujuan khusus untuk suatu layanan, itu dikategorikan sebagai peran [terkait layanan](id_roles.md#iam-term-service-linked-role). Untuk melihat apa yang didukung layanan dengan menggunakan peran yang terkait dengan layanan, atau apakah layanan mendukung segala bentuk kredensial sementara, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md). Untuk mempelajari bagaimana layanan individu menggunakan peran, pilih nama layanan dalam tabel untuk melihat dokumentasi untuk layanan tersebut.

Saat menyetel `PassRole` izin, Anda harus memastikan bahwa pengguna tidak melewati peran di mana peran tersebut memiliki lebih banyak izin daripada yang Anda inginkan untuk dimiliki pengguna. Misalnya, Alice mungkin tidak diizinkan untuk melakukan tindakan Amazon S3 apa pun. Jika Alice dapat meneruskan peran ke layanan yang memungkinkan tindakan Amazon S3, layanan dapat melakukan tindakan Amazon S3 atas nama Alice saat menjalankan pekerjaan.

Untuk informasi tentang cara peran membantu Anda untuk mendelegasikan izin, lihat [Istilah dan konsep peran](id_roles.md#id_roles_terms-and-concepts).

## Izin peran layanan
<a name="id_roles_create_service-permissions"></a>

Anda harus mengonfigurasikan izin untuk memperbolehkan entitas IAM (pengguna atau peran) untuk membuat atau mengubah peran terkait layanan.

**catatan**  
ARN untuk peran terkait layanan mencakup prinsip layanan, yang ditunjukkan dalam kebijakan berikut sebagai. `SERVICE-NAME.amazonaws.com` Jangan mencoba menebak prinsip layanan, karena peka huruf besar/kecil dan formatnya dapat bervariasi antar AWS layanan. Untuk melihat prinsipal layanan untuk suatu layanan, lihat dokumentasi peran yang terkait dengan layanan.

**Untuk memungkinkan entitas IAM untuk membuat peran layanan tertentu**

Tambahkan kebijakan berikut ke entitas IAM yang perlu membuat peran layanan tersebut. Kebijakan ini memungkinkan Anda untuk membuat peran layanan untuk layanan tertentu dan dengan nama yang spesifik. Anda dapat melampirkan kebijakan terkelola atau inline pada peran tersebut. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreateRole",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME"
        }
    ]
}
```

------

**Untuk memungkinkan entitas IAM membuat peran layanan apa pun**

AWS merekomendasikan bahwa Anda hanya mengizinkan pengguna administratif untuk membuat peran layanan apa pun. Seseorang yang memiliki izin untuk membuat peran dan melampirkan kebijakan apa pun dapat meningkatkan izinnya sendiri. Sebagai gantinya, buat kebijakan yang memungkinkan mereka hanya membuat peran yang mereka butuhkan atau minta administrator membuat peran layanan atas nama mereka.

Untuk melampirkan kebijakan yang memungkinkan administrator mengakses seluruh kebijakan Anda Akun AWS, gunakan kebijakan [AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess) AWS terkelola.

**Untuk mengizinkan entitas IAM mengedit peran layanan**

Tambahkan kebijakan berikut ke entitas IAM yang perlu mengubah peran layanan.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EditSpecificServiceRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:PutRolePolicy",
                "iam:UpdateRole",
                "iam:UpdateRoleDescription"
            ],
            "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME"
        },
        {
            "Sid": "ViewRolesAndPolicies",
            "Effect": "Allow",
            "Action": [
                "iam:GetPolicy",
                "iam:ListRoles"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Untuk mengizinkan entitas IAM menghapus peran layanan tertentu**

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu menghapus peran layanan tertentu.

```
{
    "Effect": "Allow",
    "Action": "iam:DeleteRole",
    "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME"
}
```

**Untuk mengizinkan entitas IAM menghapus peran layanan apa pun**

AWS merekomendasikan bahwa Anda hanya mengizinkan pengguna administratif untuk menghapus peran layanan apa pun. Sebagai gantinya, buat kebijakan yang memungkinkan mereka menghapus hanya peran yang mereka butuhkan atau minta administrator menghapus peran layanan atas nama mereka.

Untuk melampirkan kebijakan yang memungkinkan administrator mengakses seluruh kebijakan Anda Akun AWS, gunakan kebijakan [AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess) AWS terkelola.

## Membuat peran untuk AWS layanan (konsol)
<a name="roles-creatingrole-service-console"></a>

Anda dapat menggunakan Konsol Manajemen AWS untuk membuat peran untuk layanan. Karena beberapa layanan mendukung lebih dari satu peran layanan, lihat [dokumentasi AWS](https://docs.aws.amazon.com/) agar layanan Anda dapat melihat kasus penggunaan mana yang dapat dipilih. Anda dapat mempelajari cara menetapkan kebijakan kepercayaan dan izin yang diperlukan untuk peran tersebut sehingga layanan dapat mengasumsikan peran tersebut atas nama Anda. Langkah-langkah yang dapat Anda gunakan untuk mengontrol izin untuk peran Anda dapat bervariasi, tergantung pada bagaimana layanan mendefinisikan kasus penggunaan, dan apakah Anda membuat peran terkait layanan atau tidak.

------
#### [ Console ]

**Untuk membuat peran untuk Layanan AWS (konsol IAM)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran**, dan lalu pilih **Buat peran**.

1. Untuk **jenis entitas Tepercaya**, pilih **Layanan AWS**.

1. Untuk **kasus Layanan atau penggunaan**, pilih layanan, lalu pilih kasus penggunaan. Kasus penggunaan ditentukan oleh layanan untuk menyertakan kebijakan kepercayaan yang diperlukan layanan.

1. Pilih **Berikutnya**.

1. Untuk **kebijakan Izin**, opsi bergantung pada kasus penggunaan yang Anda pilih:
   + Jika layanan menentukan izin untuk peran tersebut, Anda tidak dapat memilih kebijakan izin.
   + Pilih dari serangkaian kebijakan izin terbatas.
   + Pilih dari semua kebijakan izin.
   + Pilih kebijakan tanpa izin, buat kebijakan setelah peran dibuat, lalu lampirkan kebijakan ke peran.

1. (Opsional) Tetapkan [batas izin](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.

   1. Buka bagian **Setel batas izin**, lalu pilih **Gunakan batas izin untuk mengontrol izin peran maksimum**. 

      IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda.

   1. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Untuk **nama Peran**, opsi bergantung pada layanan:
   + Jika layanan menentukan nama peran, Anda tidak dapat mengedit nama peran.
   + Jika layanan mendefinisikan awalan untuk nama peran, Anda dapat memasukkan akhiran opsional.
   + Jika layanan tidak menentukan nama peran, Anda dapat memberi nama peran.
**penting**  
Saat Anda memberi nama peran, perhatikan hal berikut:  
Nama peran harus unik di dalam diri Anda Akun AWS, dan tidak dapat dibuat unik berdasarkan kasus.  
Misalnya, jangan membuat peran bernama keduanya **PRODROLE** dan**prodrole**. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, nama peran tersebut peka huruf besar/kecil, namun ketika nama peran muncul kepada pelanggan di konsol, seperti selama proses masuk, nama peran tersebut tidak peka huruf besar/kecil.
Anda tidak dapat mengedit nama peran setelah dibuat karena entitas lain mungkin mereferensikan peran tersebut.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran tersebut.

1. **(Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan izin**, pilih Edit.**

1. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari peran, tambahkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

1. Tinjau peran lalu pilih **Buat peran**.

------

## Membuat peran untuk layanan (AWS CLI)
<a name="roles-creatingrole-service-cli"></a>

Membuat peran dari AWS CLI melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah dilakukan untuk Anda, tetapi dengan itu AWS CLI Anda harus secara eksplisit melakukan setiap langkah sendiri. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Jika layanan yang Anda gunakan untuk bekerja adalah Amazon EC2, maka Anda juga harus membuat profil instans dan menambahkan peran kepadanya. Atau, Anda juga dapat mengatur [batas izin](access_policies_boundaries.md) untuk peran Anda.

**Untuk membuat peran untuk AWS layanan dari AWS CLI**

1. `[create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)`Perintah berikut membuat peran bernama *Test-Role* dan melampirkan kebijakan kepercayaan padanya:

   `aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json`

1. Lampirkan kebijakan izin terkelola ke peran: [aws attach-role-policy iam](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html).

   Misalnya, `attach-role-policy` perintah berikut melampirkan kebijakan AWS terkelola yang dinamai `ReadOnlyAccess` ke peran IAM bernama: `ReadOnlyRole`

   `aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name ReadOnlyRole`

    atau

   [Buat kebijakan izin sebaris untuk peran tersebut: aws iam put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)

   Untuk menambahkan kebijakan izin sebaris, lihat contoh berikut:

    `aws iam put-role-policy --role-name Test-Role --policy-name ExamplePolicy --policy-document file://AdminPolicy.json`

1. (Opsional) Tambahkan atribut khusus ke peran tersebut dengan melampirkan tag: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)

   Untuk informasi selengkapnya, lihat [Mengelola tag pada peran IAM (AWS CLI atau AWS API)](id_tags_roles.md#id_tags_roles_procs-cli-api).

1. [(Opsional) Tetapkan [batas izin](access_policies_boundaries.md) untuk peran: aws iam put-role-permissions-boundary](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html)

   Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Jika Anda akan menggunakan peran dengan Amazon EC2 atau AWS layanan lain yang menggunakan Amazon EC2, Anda harus menyimpan peran tersebut dalam profil instans. Profil instans adalah wadah untuk peran yang dapat dilampirkan ke instans Amazon EC2 saat diluncurkan. Profil instans hanya dapat berisi satu , dan batas tersebut tidak dapat ditingkatkan. Jika Anda membuat peran menggunakan Konsol Manajemen AWS, profil instance dibuat untuk Anda dengan nama yang sama dengan peran. Untuk informasi selengkapnya tentang profil instans, lihat [Gunakan profil contoh](id_roles_use_switch-role-ec2_instance-profiles.md). Untuk informasi tentang cara meluncurkan instans EC2 dengan peran, lihat [Mengontrol Akses ke Sumber Daya Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances) di Panduan Pengguna *Amazon EC2*.

**Untuk membuat profil instans dan menyimpan peran di dalamnya (AWS CLI)**

1. Buat profil instance: [aws iam create-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html)

1. Tambahkan peran ke profil instance: [aws iam add-role-to-instance](https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html) -profile

 AWS CLI Contoh perintah yang ditetapkan di bawah ini menunjukkan dua langkah pertama untuk membuat peran dan melampirkan izin. Itu juga menunjukkan dua langkah untuk membuat profil instans dan menambahkan peran ke profil. Contoh kebijakan kepercayaan ini memungkinkan layanan Amazon EC2 untuk mengambil peran dan melihat `example_bucket` bucket Amazon S3. Contoh ini juga mengasumsikan bahwa Anda sedang bekerja di komputer klien yang menjalankan Windows dan telah mengonfigurasi antarmuka baris perintah Anda dengan kredensial akun dan Wilayah Anda. Untuk informasi selengkapnya, lihat [Mengonfigurasi Antarmuka Baris AWS Perintah](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

Dalam contoh ini, sertakan kebijakan kepercayaan berikut pada perintah pertama ketika Anda membuat peran tersebut. Kebijakan kepercayaan ini memungkinkan layanan Amazon EC2 untuk mengasumsikan peran. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {"Service": "ec2.amazonaws.com"},
    "Action": "sts:AssumeRole"
  }
}
```

------

Saat Anda menggunakan perintah kedua, Anda harus melampirkan kebijakan izin pada peran tersebut. Contoh kebijakan izin berikut memungkinkan peran untuk hanya mengasumsikan tindakan `ListBucket` pada `example_bucket` bucket Amazon S3.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::example_bucket"
  }
}
```

------

Untuk membuat peran ini `Test-Role-for-EC2`, Anda harus terlebih dahulu menyimpan kebijakan kepercayaan sebelumnya dengan nama `trustpolicyforec2.json` dan kebijakan izin sebelumnya dengan nama `permissionspolicyforec2.json` ke `policies` direktori di lokasi Anda `C:`. Anda dapat menggunakan perintah berikut untuk membuat peran, melampirkan kebijakan, membuat profil instans, dan menambahkan peran ke profil instans.

```
# Create the role and attach the trust policy that allows EC2 to assume this role.
$ aws iam create-role --role-name Test-Role-for-EC2 --assume-role-policy-document file://C:\policies\trustpolicyforec2.json

# Embed the permissions policy (in this example an inline policy) to the role to specify what it is allowed to do.
$ aws iam put-role-policy --role-name Test-Role-for-EC2 --policy-name Permissions-Policy-For-Ec2 --policy-document file://C:\policies\permissionspolicyforec2.json

# Create the instance profile required by EC2 to contain the role
$ aws iam create-instance-profile --instance-profile-name EC2-ListBucket-S3

# Finally, add the role to the instance profile
$ aws iam add-role-to-instance-profile --instance-profile-name EC2-ListBucket-S3 --role-name Test-Role-for-EC2
```

Saat meluncurkan instans EC2, tentukan nama profil instans di halaman **Konfigurasi Detail Instance** jika Anda menggunakan AWS konsol. Jika Anda menggunakan `aws ec2 run-instances` perintah CLI, tentukan `--iam-instance-profile` parameter.

## Membuat peran untuk layanan (AWS API)
<a name="roles-creatingrole-service-api"></a>

Membuat peran dari AWS API melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah yang dilakukan untuk Anda, tetapi dengan API Anda harus melakukan setiap langkah sendiri secara eksplisit. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Jika layanan yang Anda gunakan untuk bekerja adalah Amazon EC2, maka Anda juga harus membuat profil instans dan menambahkan peran kepadanya. Atau, Anda juga dapat mengatur [batas izin](access_policies_boundaries.md) untuk peran Anda.

**Untuk membuat peran untuk AWS layanan (AWS API)**

1. Buat peran: [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)

   Untuk kebijakan kepercayaan peran, Anda dapat menentukan lokasi file.

1. Lampirkan kebijakan izin terkelola pada peran: [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)

    atau

   Buat kebijakan izin inline untuk peran: [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)

1. (Opsional) Tambahkan atribut khusus ke pengguna dengan melampirkan tag: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

   Untuk informasi selengkapnya, lihat [Mengelola tag pada pengguna IAM (AWS CLI atau AWS API)](id_tags_users.md#id_tags_users_procs-cli-api).

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md) untuk peran tersebut: [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Jika Anda akan menggunakan peran dengan Amazon EC2 atau AWS layanan lain yang menggunakan Amazon EC2, Anda harus menyimpan peran tersebut dalam profil instans. Profil contoh adalah wadah untuk peran. Profil instans hanya dapat berisi satu peran, dan batas tersebut tidak dapat ditingkatkan. Jika Anda membuat peran di Konsol Manajemen AWS, profil instance dibuat untuk Anda dengan nama yang sama dengan peran. Untuk informasi selengkapnya tentang profil instans, lihat [Gunakan profil contoh](id_roles_use_switch-role-ec2_instance-profiles.md). Untuk informasi tentang cara meluncurkan instans Amazon EC2 dengan peran, lihat [Mengontrol Akses ke Sumber Daya Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances) di Panduan Pengguna Amazon *EC2*. 

**Untuk membuat profil instance dan menyimpan peran di dalamnya (AWS API)**

1. Buat profil instans: [CreateInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateInstanceProfile.html)

1. Tambahkan peran ke profil instans: [AddRoleToInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddRoleToInstanceProfile.html)

# Buat peran tertaut layanan
<a name="id_roles_create-service-linked-role"></a>

Peran tertaut layanan adalah tipe unik peran IAM yang tertaut secara langsung dengan layanan AWS . Peran terkait layanan telah ditentukan sebelumnya oleh layanan dan mencakup semua izin yang diperlukan layanan untuk memanggil AWS layanan lain atas nama Anda. Layanan yang terhubung juga menentukan cara Anda membuat, memodifikasi, dan menghapus peran yang terkait dengan layanan. Layanan dapat secara otomatis membuat atau menghapus peran. Peran ini memungkinkan Anda membuat, memodifikasi, atau menghapus peran sebagai bagian dari wizard atau proses dalam layanan. Atau Anda harus menggunakan IAM untuk membuat atau menghapus peran tersebut. Terlepas dari metodenya, peran terkait layanan menyederhanakan proses penyiapan layanan karena Anda tidak perlu menambahkan izin secara manual untuk layanan untuk menyelesaikan tindakan atas nama Anda.

**catatan**  
Ingatlah bahwa peran layanan berbeda dari peran terkait layanan. 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*. 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. 

Layanan tertaut menentukan izin peran tertaut-layanannya, dan kecuali ditentukan lain, hanya layanan itu yang dapat mengambil peran tersebut. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Sebelum Anda dapat menghapus peran, Anda harus terlebih dahulu menghapus sumber daya terkait mereka. Ini membantu mencegah Anda secara tidak sengaja menghapus izin untuk mengakses sumber daya. 

**Tip**  
Untuk informasi tentang layanan mana yang mendukung peran yang terkait dengan layanan, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md) dan cari layanan yang memiliki **Ya **di kolom **Peran Terkait-Layanan** Pilih **Ya** dengan tautan untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

## Izin peran terkait layanan
<a name="service-linked-role-permissions"></a>

Anda harus mengonfigurasi izin untuk entitas IAM (pengguna atau peran) untuk mengizinkan pengguna atau peran membuat atau mengedit peran tertaut-layanan.

**catatan**  
ARN untuk peran terkait layanan mencakup prinsipal layanan, yang ditunjukkan dalam kebijakan di bawah ini sebagai `SERVICE-NAME.amazonaws.com`. Jangan mencoba menebak prinsipal layanan, karena peka huruf besar/kecil dan formatnya dapat bervariasi antar AWS layanan. Untuk melihat prinsipal layanan untuk suatu layanan, lihat dokumentasi peran yang terkait dengan layanan.

**Untuk memungkinkan entitas IAM membuat peran terkait layanan tertentu**

Tambahkan kebijakan berikut ke entitas IAM yang perlu membuat peran tertaut-layanan.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX*",
            "Condition": {"StringLike": {"iam:AWSServiceName": "SERVICE-NAME.amazonaws.com"}}
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX*"
        }
    ]
}
```

------

**Untuk mengizinkan entitas IAM membuat peran terkait layanan apa pun**

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu membuat peran tertaut-layanan, atau peran layanan apa pun yang menyertakan kebijakan yang diperlukan. Pernyataan kebijakan ini tidak mengizinkan entitas IAM untuk melampirkan kebijakan ke peran tersebut.

```
{
    "Effect": "Allow",
    "Action": "iam:CreateServiceLinkedRole",
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**Untuk mengizinkan entitas IAM mengedit deskripsi peran layanan apa pun**

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu mengedit deskripsi peran tertaut-layanan, atau peran layanan apa pun.

```
{
    "Effect": "Allow",
    "Action": "iam:UpdateRoleDescription",
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**Untuk mengizinkan entitas IAM menghapus peran terkait layanan tertentu**

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu menghapus peran tertaut-layanan.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX*"
}
```

**Untuk mengizinkan entitas IAM menghapus peran terkait layanan**

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu menghapus peran tertaut-layanan, tetapi bukan peran layanan.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**Untuk memungkinkan entitas IAM meneruskan peran yang ada ke layanan**

Beberapa AWS layanan memungkinkan Anda untuk meneruskan peran yang ada ke layanan, alih-alih membuat peran terkait layanan baru. Untuk melakukannya, pengguna harus memiliki izin untuk *melewati peran tersebut* dengan layanan tersebut. Tambahkan pernyataan berikut ini ke kebijakan izin untuk entitas IAM yang perlu meneruskan peran. Pernyataan kebijakan ini juga memungkinkan entitas untuk melihat daftar peran yang darinya mereka dapat memilih peran untuk diteruskan. Untuk informasi selengkapnya, lihat [Berikan izin pengguna untuk meneruskan peran ke layanan AWS](id_roles_use_passrole.md).

```
{
  "Sid": "PolicyStatementToAllowUserToListRoles",
  "Effect": "Allow",
  "Action": ["iam:ListRoles"],
  "Resource": "*"
},
{
  "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole",
  "Effect": "Allow",
  "Action": [ "iam:PassRole" ],
  "Resource": "arn:aws:iam::account-id:role/my-role-for-XYZ"
}
```

## Izin tidak langsung dengan peran terkait layanan
<a name="create-service-linked-role-permissions-transfer"></a>

Izin yang diberikan oleh peran terkait layanan dapat ditransfer secara tidak langsung ke pengguna dan peran lain. Ketika peran terkait layanan digunakan oleh AWS layanan, peran terkait layanan tersebut dapat menggunakan izinnya sendiri untuk memanggil layanan lain. AWS Ini berarti bahwa pengguna dan peran dengan izin untuk memanggil layanan yang menggunakan peran terkait layanan mungkin memiliki akses tidak langsung ke layanan yang dapat diakses oleh peran terkait layanan tersebut.

Misalnya, saat Anda membuat instans Amazon RDS DB, [peran terkait layanan untuk RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.ServiceLinkedRoles.html) secara otomatis dibuat jika belum ada. Peran terkait layanan ini memungkinkan RDS memanggil Amazon EC2, Amazon SNS, Amazon CloudWatch Logs, dan Amazon Kinesis atas nama Anda. Jika Anda mengizinkan pengguna dan peran di akun Anda untuk memodifikasi atau membuat database RDS, mereka mungkin dapat berinteraksi secara tidak langsung dengan Amazon EC2, Amazon SNS, log Amazon Logs, dan sumber daya CloudWatch Amazon Kinesis dengan memanggil RDS, karena RDS akan menggunakan peran terkait layanan untuk mengakses sumber daya tersebut.

### Metode untuk membuat peran terkait layanan
<a name="create-service-linked-role"></a>

Metode yang Anda gunakan untuk membuat peran terkait layanan tergantung pada layanannya. Dalam beberapa kasus, Anda tidak perlu membuat peran terkait layanan secara manual. Misalnya, ketika Anda menyelesaikan tindakan tertentu (seperti membuat sumber daya) dalam layanan, layanan tersebut mungkin membuat peran yang berkaitan dengan layanan bagi Anda. Atau jika Anda menggunakan layanan sebelum mulai mendukung peran tertaut-layanan, maka layanan tersebut mungkin secara otomatis membuat peran tersebut di akun Anda. Untuk mempelajari informasi selengkapnya, lihat [Peran baru muncul di AWS akun saya](troubleshoot_roles.md#troubleshoot_roles_new-role-appeared).

Dalam kasus lain, layanan mungkin mendukung pembuatan peran yang ditautkan ke layanan secara manual menggunakan konsol layanan, API, atau CLI. Untuk informasi tentang layanan mana yang mendukung peran yang terkait dengan layanan, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md) dan cari layanan yang memiliki **Ya **di kolom **Peran Terkait-Layanan** Untuk mempelajari apakah layanan mendukung pembuatan peran tertaut-layanan, pilih tautan **Ya** untuk melihat dokumentasi peran tertaut-layanan untuk layanan itu.

Jika layanan tidak mendukung pembuatan peran, maka Anda dapat menggunakan IAM untuk membuat peran yang terhubung dengan layanan.

**penting**  
Peran terkait layanan dihitung terhadap peran [IAM Anda dalam Akun AWS batas, tetapi jika Anda telah mencapai batas, Anda masih dapat membuat peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entities) terkait layanan di akun Anda. Hanya peran yang berkaitan dengan layanan yang dapat melebihi batas.

### Membuat peran terkait layanan (konsol)
<a name="create-service-linked-role-iam-console"></a>

Sebelum Anda membuat peran yang ditautkan ke layanan di IAM, cari tahu apakah layanan yang ditautkan secara otomatis membuat peran yang ditautkan ke layanan. Selain itu, pelajari apakah Anda dapat membuat peran dari konsol layanan, API, atau CLI.<a name="create-service-linked-role-iam-console"></a>

**Untuk membuat peran terkait layanan (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran**. Kemudian, pilih **Buat peran**.

1. Pilih jenis peran **AWS Layanan**.

1. Pilih kasus penggunaan untuk layanan Anda. Kasus penggunaan ditentukan oleh layanan untuk menyertakan kebijakan kepercayaan yang disyaratkan oleh layanan. Lalu, pilih **Selanjutnya**.

1. Pilih satu kebijakan izin atau lebih untuk dilampirkan ke peran tersebut. Bergantung pada kasus penggunaan yang Anda pilih, layanan mungkin melakukan salah satu hal berikut:
   + Tentukan izin yang digunakan oleh peran.
   + Memungkinkan Anda memilih dari serangkaian izin terbatas.
   + Memungkinkan Anda memilih dari izin apa pun.
   + Memungkinkan Anda memilih tidak ada kebijakan saat ini, membuat kebijakan nanti, lalu melampirkannya ke peran.

   **Pilih kotak centang di samping kebijakan yang menetapkan izin yang Anda inginkan untuk peran tersebut, lalu pilih Berikutnya.** 
**catatan**  
Izin yang Anda tentukan tersedia untuk setiap entitas yang menggunakan peran tersebut. Secara default, peran tidak memiliki izin.

1. Untuk **Nama peran**, tingkat penyesuaian nama peran ditentukan oleh layanan. Jika layanan mendefinisikan nama peran, maka opsi ini tidak dapat diedit. Dalam kasus lain, layanan mungkin menentukan awalan untuk peran dan memungkinkan Anda memasukkan akhiran opsional.

   Jika memungkinkan, masukkan akhiran nama peran untuk ditambahkan ke nama default. Akhiran ini membantu Anda mengidentifikasi tujuan peran ini. Nama peran harus unik di akun AWS Anda. Grup tidak dibedakan berdasarkan huruf besar-kecil. Misalnya, Anda tidak dapat membuat peran dengan nama **<service-linked-role-name>\$1SAMPLE** dan **<service-linked-role-name>\$1sample**. Anda tidak dapat mengubah nama peran setelah dibuat karena berbagai entitas mungkin mereferensikan peran tersebut.

1. (Opsional) Untuk **Deskripsi**, edit deskripsi untuk peran terkait layanan baru.

1. Anda tidak dapat melampirkan tag ke peran terkait layanan selama pembuatan. Untuk informasi selengkapnya tentang menggunakan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md).

1. Tinjau peran dan kemudian pilih **Buat peran**.

### Membuat peran terkait layanan (AWS CLI)
<a name="create-service-linked-role-iam-cli"></a>

Sebelum membuat peran terkait layanan di IAM, cari tahu apakah layanan tertaut secara otomatis membuat peran terkait layanan dan apakah Anda dapat membuat peran dari CLI layanan. Jika CLI layanan tidak didukung, Anda dapat menggunakan perintah IAM untuk membuat peran terkait layanan dengan kebijakan kepercayaan dan kebijakan sebaris yang diperlukan layanan untuk menjalankan peran tersebut.

**Untuk membuat peran terkait layanan ()AWS CLI**

Jalankan perintah berikut:

```
aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name SERVICE-NAME.amazonaws.com
```

### Membuat peran terkait layanan (API)AWS
<a name="create-service-linked-role-iam-api"></a>

Sebelum membuat peran terkait layanan di IAM, cari tahu apakah layanan tertaut secara otomatis membuat peran terkait layanan dan apakah Anda dapat membuat peran dari API layanan. Jika API layanan tidak didukung, Anda dapat menggunakan AWS API untuk membuat peran terkait layanan dengan kebijakan kepercayaan dan kebijakan sebaris yang diperlukan layanan untuk mengambil peran tersebut.

**Untuk membuat peran terkait layanan (API)AWS **

Gunakan panggilan API [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html). Dalam permintaan, sebutkan nama layanan `SERVICE_NAME_URL.amazonaws.com`. 

Misalnya, untuk membuat peran terkait layanan **Lex Bots**, gunakan `lex.amazonaws.com`.

# Membuat peran untuk penyedia identitas pihak ketiga
<a name="id_roles_create_for-idp"></a>

Anda dapat menggunakan penyedia identitas alih-alih membuat pengguna IAM di situs Anda Akun AWS. Dengan penyedia identitas (iDP), Anda dapat mengelola identitas pengguna di luar AWS dan memberikan izin identitas pengguna eksternal ini untuk mengakses AWS sumber daya di akun Anda. Untuk informasi lebih lanjut tentang federasi dan penyedia identitas, lihat [Penyedia identitas dan federasi ke AWS](id_roles_providers.md).

## Membuat peran untuk prinsipal federasi OIDC dan SAMP (konsol)
<a name="roles-creatingrole-federated-users-console"></a>

Prosedur untuk membuat peran tergantung pada pilihan penyedia pihak ketiga Anda:
+ Untuk OpenID Connect (OIDC), lihat. [Buat peran untuk federasi OpenID Connect (konsol)](id_roles_create_for-idp_oidc.md)
+ Untuk SAML 2.0, lihat [Buat peran untuk federasi SAMP 2.0 (konsol)](id_roles_create_for-idp_saml.md).

## Membuat peran untuk akses gabungan (AWS CLI)
<a name="roles-creatingrole-identityprovider-cli"></a>

Langkah-langkah untuk membuat peran untuk penyedia identitas yang didukung (OIDC atau SAML) dari AWS CLI adalah identik. Perbedaannya ada dalam konten kebijakan kepercayaan yang Anda buat dalam langkah-langkah prasyarat. Mulai dengan mengikuti langkah-langkah dalam bagian **Prasyarat** untuk jenis penyedia yang Anda gunakan:
+ Untuk penyedia OIDC, lihat [Prasyarat untuk menciptakan peran untuk OIDC](id_roles_create_for-idp_oidc.md#idp_oidc_Prerequisites).
+ Untuk penyedia SAML, lihat [Prasyarat untuk membuat peran untuk SAML](id_roles_create_for-idp_saml.md#idp_saml_Prerequisites).

Membuat peran dari AWS CLI melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah dilakukan untuk Anda, tetapi dengan itu AWS CLI Anda harus secara eksplisit melakukan setiap langkah sendiri. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Atau, Anda juga dapat mengatur [batas izin](access_policies_boundaries.md) untuk peran Anda.

**Untuk membuat peran (AWS CLI)**

1. Buat peran: [aws iam create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)

1. Lampirkan kebijakan izin ke peran: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) iam attach-role-policy

    atau

   [Buat kebijakan izin sebaris untuk peran tersebut: aws iam put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)

1. (Opsional) Tambahkan atribut khusus ke peran tersebut dengan melampirkan tag: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)

   Untuk informasi selengkapnya, lihat [Mengelola tag pada peran IAM (AWS CLI atau AWS API)](id_tags_roles.md#id_tags_roles_procs-cli-api).

1. [(Opsional) Tetapkan [batas izin](access_policies_boundaries.md) untuk peran: aws iam put-role-permissions-boundary](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html)

   Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Contoh berikut menunjukkan dua langkah pertama, dan paling umum, untuk membuat peran penyedia identitas dalam lingkungan yang sederhana. Contoh ini memungkinkan setiap pengguna dalam akun `123456789012` untuk mengasumsikan peran dan melihat `example_bucket` bucket Amazon S3. Contoh ini juga mengasumsikan bahwa Anda menjalankan AWS CLI pada komputer yang menjalankan Windows, dan telah mengkonfigurasi AWS CLI dengan kredensi Anda. Untuk informasi selengkapnya, lihat [Mengonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

Contoh kebijakan kepercayaan berikut ini dirancang untuk aplikasi seluler jika pengguna masuk dengan menggunakan Amazon Cognito. Dalam contoh ini, *us-east:12345678-ffff-ffff-ffff-123456* mewakili ID kumpulan identitas yang ditetapkan oleh Amazon Cognito.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid": "RoleForCognito",
        "Effect": "Allow",
        "Principal": {"Federated": "cognito-identity.amazonaws.com"},
        "Action": "sts:AssumeRoleWithWebIdentity",
        "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}}
    }
}
```

------

Kebijakan izin berikut ini memperbolehkan siapa pun yang mengasumsikan peran untuk hanya melaksanakan tindakan `ListBucket` pada `example_bucket` bucket Amazon S3.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::example_bucket"
  }
}
```

------

Untuk membuat peran ini `Test-Cognito-Role`, Anda harus terlebih dahulu menyimpan kebijakan kepercayaan sebelumnya dengan nama `trustpolicyforcognitofederation.json` dan kebijakan izin sebelumnya dengan nama `permspolicyforcognitofederation.json` ke `policies` direktori di lokasi Anda `C:`. Kemudian Anda dapat menggunakan perintah berikut untuk membuat peran dan melampirkan kebijakan inline.

```
# Create the role and attach the trust policy that enables users in an account to assume the role.
$ aws iam create-role --role-name Test-Cognito-Role --assume-role-policy-document file://C:\policies\trustpolicyforcognitofederation.json

# Attach the permissions policy to the role to specify what it is allowed to do.
aws iam put-role-policy --role-name Test-Cognito-Role --policy-name Perms-Policy-For-CognitoFederation --policy-document file://C:\policies\permspolicyforcognitofederation.json
```

## Membuat peran untuk akses federasi (AWS API)
<a name="roles-creatingrole-identityprovider-api"></a>

Langkah-langkah untuk membuat peran untuk penyedia identitas yang didukung (OIDC atau SAML) dari AWS CLI adalah identik. Perbedaannya ada dalam konten kebijakan kepercayaan yang Anda buat dalam langkah-langkah prasyarat. Mulai dengan mengikuti langkah-langkah dalam bagian **Prasyarat** untuk jenis penyedia yang Anda gunakan:
+ Untuk penyedia OIDC, lihat [Prasyarat untuk menciptakan peran untuk OIDC](id_roles_create_for-idp_oidc.md#idp_oidc_Prerequisites).
+ Untuk penyedia SAML, lihat [Prasyarat untuk membuat peran untuk SAML](id_roles_create_for-idp_saml.md#idp_saml_Prerequisites).

**Untuk membuat peran (AWS API)**

1. Buat peran: [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)

1. Lampirkan kebijakan izin pada peran: [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)

    atau

   Buat kebijakan izin inline untuk peran: [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)

1. (Opsional) Tambahkan atribut khusus ke pengguna dengan melampirkan tag: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

   Untuk informasi selengkapnya, lihat [Mengelola tag pada pengguna IAM (AWS CLI atau AWS API)](id_tags_users.md#id_tags_users_procs-cli-api).

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md) untuk peran tersebut: [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

# Buat peran untuk federasi OpenID Connect (konsol)
<a name="id_roles_create_for-idp_oidc"></a>

Anda dapat menggunakan penyedia identitas federasi OpenID Connect (OIDC) alih-alih membuat pengguna di penyedia identitas Anda. AWS Identity and Access Management Akun AWS Dengan penyedia identitas (iDP), Anda dapat mengelola identitas pengguna di luar AWS dan memberikan izin identitas pengguna eksternal ini untuk mengakses AWS sumber daya di akun Anda. Untuk informasi lebih lanjut tentang federasi dan IdPs, lihat[Penyedia identitas dan federasi ke AWS](id_roles_providers.md).

## Prasyarat untuk menciptakan peran untuk OIDC
<a name="idp_oidc_Prerequisites"></a>

Sebelum Anda dapat membuat peran untuk federasi OIDC, Anda harus terlebih dahulu menyelesaikan langkah-langkah prasyarat berikut.<a name="oidc-prereqs"></a>

**Untuk mempersiapkan diri untuk menciptakan peran untuk federasi OIDC**

1. Daftar dengan satu atau lebih layanan yang menawarkan identitas OIDC federasi. Jika Anda membuat aplikasi yang memerlukan akses ke AWS sumber daya, Anda juga mengonfigurasi aplikasi dengan informasi penyedia. Saat melakukannya, penyedia memberi Anda aplikasi atau ID audiens yang unik untuk aplikasi Anda. (Penyedia berbeda menggunakan terminologi berbeda untuk proses ini. Panduan ini menggunakan istilah *konfigurasi* untuk proses mengidentifikasi aplikasi Anda dengan penyedia.) Anda dapat mengonfigurasi beberapa aplikasi dengan setiap penyedia, atau beberapa penyedia dengan satu aplikasi. Lihat informasi tentang penggunaan penyedia identitas sebagai berikut:
   + [Login dengan Amazon Developer Center](https://login.amazon.com/)
   + [Tambahkan Login Facebook ke Aplikasi atau Website Anda](https://developers.facebook.com/docs/facebook-login/v2.1) di situs pengembang Facebook.
   + [Menggunakan OAuth 2.0 untuk Login (OpenID Connect)](https://developers.google.com/accounts/docs/OAuth2Login) di situs pengembang Google.

1. <a name="idpoidcstep2"></a>Setelah Anda menerima informasi yang diperlukan dari iDP, buat iDP di IAM. Untuk informasi selengkapnya, lihat [Buat penyedia identitas OpenID Connect (OIDC) di IAM](id_roles_providers_create_oidc.md).
**penting**  
Jika Anda menggunakan IdP OIDC dari Google, Facebook, atau Amazon Cognito, jangan buat iDP IAM terpisah di file. Konsol Manajemen AWS Penyedia identitas OIDC ini sudah dibangun AWS dan tersedia untuk Anda gunakan. Lewati langkah ini dan buat peran baru menggunakan IDP Anda di langkah berikut.

1. Persiapkan kebijakan untuk peran yang akan diaambil oleh pengguna yang diotentikasi IdP. Sebagaimana peran apa pun, peran untuk aplikasi seluler mencakup dua kebijakan. Salah satunya adalah kebijakan kepercayaan yang menentukan siapa yang dapat mengasumsikan peran tersebut. Lainnya adalah kebijakan izin yang menentukan tindakan AWS dan sumber daya yang diperbolehkan atau ditolak untuk diakses aplikasi seluler.

   Untuk web IdPs, kami menyarankan Anda menggunakan [Amazon Cognito](https://aws.amazon.com/cognito/) untuk mengelola identitas. Dalam hal ini, gunakan kebijakan kepercayaan yang serupa dengan contoh ini.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Principal": {"Federated": "cognito-identity.amazonaws.com"},
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
               "StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east-2:12345678-abcd-abcd-abcd-123456"},
               "ForAnyValue:StringLike": {"cognito-identity.amazonaws.com:amr": "unauthenticated"}
           }
       }
   }
   ```

------

   Ganti `us-east-2:12345678-abcd-abcd-abcd-123456` dengan ID kumpulan identitas yang diberikan Amazon Cognito kepada Anda.

   Jika Anda mengonfigurasi IdP OIDC secara manual, saat membuat kebijakan kepercayaan, Anda harus menggunakan tiga nilai yang memastikan bahwa hanya aplikasi yang dapat mengambil peran tersebut:
   + Untuk elemen `Action`, gunakan tindakan `sts:AssumeRoleWithWebIdentity`.
   + Untuk elemen `Principal`, gunakan string `{"Federated":providerUrl/providerArn}`.
     + Untuk beberapa OIDC umum IdPs, itu `providerUrl` adalah URL. Contoh berikut termasuk metode untuk menentukan prinsip untuk beberapa umum IdPs:

       `"Principal":{"Federated":"cognito-identity.amazonaws.com"}`

       `"Principal":{"Federated":"www.amazon.com"}`

       `"Principal":{"Federated":"graph.facebook.com"}`

       `"Principal":{"Federated":"accounts.google.com"}`
     + Untuk penyedia OIDC lainnya, gunakan Nama Sumber Daya Amazon (ARN) dari IDP OIDC yang Anda buat, seperti contoh berikut: [Step 2](#idpoidcstep2)

       `"Principal":{"Federated":"arn:aws:iam::123456789012:oidc-provider/server.example.com"}`
   + Untuk elemen `Condition` , gunakan syarat `StringEquals` untuk membatasi izin. Uji ID kumpulan identitas untuk Amazon Cognito) atau ID aplikasi untuk penyedia lain. ID kumpulan identitas harus sesuai dengan ID aplikasi yang Anda terima saat mengonfigurasi aplikasi dengan iDP. Pencocokan antara IDs memastikan bahwa permintaan berasal dari aplikasi Anda.
**catatan**  
Peran IAM untuk kumpulan identitas Amazon Cognito mempercayai `cognito-identity.amazonaws.com` kepala layanan untuk mengambil peran tersebut. Peran jenis ini harus mengandung setidaknya satu kunci kondisi untuk membatasi kepala sekolah yang dapat mengambil peran tersebut.  
Pertimbangan tambahan berlaku untuk kumpulan identitas Amazon Cognito yang mengambil peran IAM [lintas akun](access_policies-cross-account-resource-access.md). Kebijakan kepercayaan dari peran ini harus menerima prinsip `cognito-identity.amazonaws.com` layanan dan harus berisi kunci `aud` kondisi untuk membatasi asumsi peran bagi pengguna dari kumpulan identitas yang Anda inginkan. Kebijakan yang mempercayai kumpulan identitas Amazon Cognito tanpa kondisi ini menimbulkan risiko bahwa pengguna dari kumpulan identitas yang tidak diinginkan dapat mengambil peran tersebut. Untuk informasi selengkapnya, lihat [Kebijakan kepercayaan untuk peran IAM dalam autentikasi Dasar (Klasik) di Panduan](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#trust-policies) Pengembang *Amazon Cognito*.

     Buat elemen kondisi yang mirip dengan salah satu contoh berikut, tergantung pada idP yang Anda gunakan: 

     `"Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}}`

     `"Condition": {"StringEquals": {"www.amazon.com:app_id": "amzn1.application-oa2-123456"}}`

     `"Condition": {"StringEquals": {"graph.facebook.com:app_id": "111222333444555"}}`

     `"Condition": {"StringEquals": {"accounts.google.com:aud": "66677788899900pro0"}}`

     Untuk penyedia OIDC, gunakan URL IdP OIDC yang memenuhi syarat sepenuhnya dengan kunci konteks `aud`, seperti contoh berikut: 

     `"Condition": {"StringEquals": {"server.example.com:aud": "appid_from_oidc_idp"}}`
**catatan**  
Nilai-nilai untuk kepala sekolah dalam kebijakan kepercayaan untuk peran tersebut spesifik untuk IDP. Peran untuk OIDC hanya dapat menentukan satu prinsipal. Oleh karena itu, jika aplikasi seluler memungkinkan pengguna untuk masuk dari lebih dari satu iDP, buat peran terpisah untuk setiap IDP yang ingin Anda dukung. Buat kebijakan kepercayaan terpisah untuk setiap IDP.

   Jika pengguna menggunakan aplikasi seluler untuk masuk dari Login with Amazon, contoh kebijakan kepercayaan berikut akan berlaku. Dalam contoh, *amzn1.application-oa2-123456* mewakili ID aplikasi yang ditetapkan Amazon saat Anda mengonfigurasi aplikasi menggunakan Login with Amazon.

------
#### [ JSON ]

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForLoginWithAmazon",
             "Effect": "Allow",
             "Principal": {"Federated": "www.amazon.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"www.amazon.com:app_id": "amzn1.application-oa2-123456"}}
         }]
     }
   ```

------

   Jika pengguna menggunakan aplikasi seluler untuk masuk dari Facebook, contoh kebijakan kepercayaan berikut akan berlaku. Dalam contoh ini, *111222333444555* mewakili ID aplikasi yang ditetapkan Facebook.

------
#### [ JSON ]

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForFacebook",
             "Effect": "Allow",
             "Principal": {"Federated": "graph.facebook.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"graph.facebook.com:app_id": "111222333444555"}}
         }]
     }
   ```

------

   Jika pengguna menggunakan aplikasi seluler untuk masuk dari Google, contoh kebijakan kepercayaan berikut akan berlaku. Dalam contoh ini, *666777888999000* mewakili ID aplikasi yang ditetapkan Google.

------
#### [ JSON ]

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForGoogle",
             "Effect": "Allow",
             "Principal": {"Federated": "accounts.google.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"accounts.google.com:aud": "666777888999000"}}
         }]
     }
   ```

------

   Jika pengguna menggunakan aplikasi seluler untuk masuk dari Amazon Cognito, contoh kebijakan kepercayaan berikut akan berlaku. Dalam contoh ini, *us-east:12345678-ffff-ffff-ffff-123456* mewakili ID kumpulan identitas yang ditetapkan Amazon Cognito.

------
#### [ JSON ]

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForCognito",
             "Effect": "Allow",
             "Principal": {"Federated": "cognito-identity.amazonaws.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}}
         }]
     }
   ```

------

## Menciptakan peran untuk OIDC
<a name="idp_oidc_Create"></a>

Setelah Anda menyelesaikan prasyarat, Anda dapat membuat peran dalam IAM. *Untuk penyedia identitas OpenID Connect (OIDC) bersama yang diakui (IdPs), IAM memerlukan evaluasi eksplisit atas klaim spesifik dalam JSON Web Tokens () yang dikenal sebagai kontrol penyedia identitas. JWTs* Untuk informasi selengkapnya tentang OIDC mana yang IdPs memiliki kontrol penyedia *identitas*, lihat. [Kontrol penyedia identitas untuk penyedia OIDC bersama](id_roles_providers_oidc_secure-by-default.md)

Prosedur berikut menjelaskan cara membuat peran untuk federasi OIDC di. Konsol Manajemen AWS Untuk membuat peran dari AWS CLI atau AWS API, lihat prosedur di[Membuat peran untuk penyedia identitas pihak ketiga](id_roles_create_for-idp.md).

**penting**  
Jika Anda menggunakan Amazon Cognito, gunakan konsol Amazon Cognito untuk mengatur peran. Jika tidak, gunakan konsol IAM untuk membuat peran federasi OIDC.

**Untuk membuat peran IAM untuk federasi OIDC**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Pada panel navigasi, silakan pilih **Peran** lalu pilih **Buat peran**.

1. Pilih **identitas Web** sebagai jenis entitas tepercaya dan pilih **Berikutnya**.

1. Untuk **penyedia Identity**, pilih IDP untuk peran Anda: 
   + **Jika Anda ingin membuat peran untuk IDP web individual, pilih **Login with Amazon**, **Facebook**, atau Google.** 
**catatan**  
Anda harus membuat peran terpisah untuk setiap IDP yang ingin Anda dukung.
   + Jika Anda ingin membuat peran skenario lanjutan untuk Amazon Cognito, pilih Amazon **Cognito**. 
**catatan**  
Anda harus membuat peran secara manual untuk digunakan dengan Amazon Cognito hanya ketika Anda mengerjakan skenario lanjutan. Jika tidak, Amazon Cognito dapat membuat peran untuk Anda. *Untuk informasi selengkapnya tentang Amazon Cognito, lihat [Penyedia identitas eksternal kumpulan identitas (identitas gabungan)](https://docs.aws.amazon.com/cognito/latest/developerguide/external-identity-providers.html) di Panduan Pengembang Amazon Cognito.* 
   + Jika Anda ingin membuat peran untuk GitHub Tindakan, Anda harus mulai dengan menambahkan penyedia GitHub OIDC ke IAM. **Setelah Anda menambahkan penyedia GitHub OIDC ke IAM, pilih token.actions.githubusercontent.com.** 
**catatan**  
Untuk informasi tentang cara AWS mengonfigurasi penyedia OIDC trust GitHub sebagai identitas gabungan, lihat [GitHub Dokumen - Mengonfigurasi OpenID Connect di](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) Amazon Web Services. Untuk informasi tentang praktik terbaik untuk membatasi akses untuk peran yang terkait dengan IDP IAM GitHub untuk, [Mengkonfigurasi peran untuk penyedia identitas GitHub OIDC](#idp_oidc_Create_GitHub) lihat di halaman ini.
   + Jika Anda ingin membuat peran untuk HashiCorp Cloud Platform (HCP) Terraform, Anda harus mulai dengan menambahkan penyedia Terraform OIDC ke IAM. **Setelah Anda menambahkan penyedia Terraform OIDC ke IAM, pilih app.terraform.io.** 
**penting**  
Peran IAM untuk penyedia HashiCorp Cloud Platform (HCP) Terraform OIDC harus mengevaluasi kunci kondisi IAM,, `app.terraform.io:sub` dalam kebijakan kepercayaan peran. Kunci kondisi ini membatasi organisasi, proyek, ruang kerja, atau fase lari HCP Terraform yang dapat mengambil peran tersebut. Tanpa kunci kondisi ini, kebijakan kepercayaan Anda memberikan akses ke peran dan AWS sumber daya Anda dengan identitas di luar organisasi Anda, yang tidak sejalan dengan prinsip hak istimewa paling sedikit.   
Jika Anda menetapkan atau mengubah kebijakan kepercayaan peran untuk peran yang terkait dengan penyedia HCP Terraform OIDC di AWS akun Anda, tetapi tidak mengevaluasi kunci kondisi IAM`app.terraform.io:sub`, Anda akan menerima kesalahan. Selain itu, AWS STS akan menolak permintaan otorisasi jika kebijakan kepercayaan peran Anda tidak mengevaluasi kunci kondisi ini.

1. Informasi yang diminta bervariasi berdasarkan penyedia OIDC yang Anda pilih.
   + Masukkan pengenal untuk aplikasi Anda. Label pengenal berubah berdasarkan penyedia yang Anda pilih:
     + Jika Anda ingin membuat peran untuk Login with Amazon, masukkan ID aplikasi ke dalam kotak **ID Aplikasi**.
     + Jika Anda ingin membuat peran untuk Facebook, masukkan ID aplikasi ke dalam kotak **ID Aplikasi**.
     + Jika Anda ingin membuat peran untuk Google, masukkan nama audiens ke dalam kotak **Audiens**.
     + Jika Anda ingin membuat peran untuk Amazon Cognito, masukkan ID kumpulan identitas yang telah Anda buat untuk aplikasi Amazon Cognito ke dalam kotak ID Kumpulan **Identitas**.
   + Jika Anda ingin membuat peran untuk GitHub Tindakan, masukkan detail berikut:
     + Untuk **Audiens**, pilih `sts.amazonaws.com`.
     + Untuk **GitHub organisasi**, masukkan nama GitHub organisasi. Nama GitHub organisasi diperlukan dan harus alfanumerik termasuk tanda hubung (-). Anda tidak dapat menggunakan karakter wildcard (\$1 dan?) dalam nama GitHub organisasi.
     + (Opsional) Untuk **GitHub repositori**, masukkan nama GitHub repositori. Jika Anda tidak menentukan nilai, itu default ke wildcard (). `*`
     + (Opsional) Untuk **GitHub cabang**, masukkan nama GitHub cabang. Jika Anda tidak menentukan nilai, itu default ke wildcard (). `*`
   + Jika Anda ingin membuat peran untuk HashiCorp Cloud Platform (HCP) Terraform, masukkan detail berikut:
     + Untuk **Audiens**, pilih `aws.workload.identity`.
     + Untuk **Organisasi**, masukkan nama organisasi. Anda dapat menentukan karakter wildcard (`*`) untuk semua organisasi.
     + Untuk **Project**, masukkan nama proyek. Anda dapat menentukan karakter wildcard (`*`) untuk semua proyek.
     + Untuk **Workspace**, masukkan nama ruang kerja. Anda dapat menentukan karakter wildcard (`*`) untuk semua ruang kerja.
     + Untuk **Run Phase**, masukkan nama fase run. Anda dapat menentukan karakter wildcard (`*`) untuk semua fase run.

1. (Opsional) Untuk **Kondisi (opsional)**, pilih **Tambahkan Kondisi** untuk membuat kondisi tambahan yang harus dipenuhi sebelum pengguna aplikasi Anda dapat menggunakan izin yang diberikan peran. Misalnya, Anda dapat menambahkan kondisi yang memberikan akses ke AWS sumber daya hanya untuk ID pengguna IAM tertentu. Anda juga dapat menambahkan ketentuan ke kebijakan kepercayaan setelah peran dibuat. Untuk informasi selengkapnya, lihat [Memperbarui kebijakan kepercayaan peran](id_roles_update-role-trust-policy.md).

1. **Tinjau informasi OIDC Anda dan kemudian pilih Berikutnya.**

1. IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda. Pilih kebijakan yang akan digunakan untuk kebijakan izin, atau pilih **Buat kebijakan** untuk membuka tab browser baru dan membuat kebijakan baru dari awal. Untuk informasi selengkapnya, lihat [Membuat kebijakan IAM](access_policies_create-console.md#access_policies_create-start). Setelah Anda membuat kebijakan, tutup tab tersebut dan kembali ke tab asli Anda. Pilih kotak centang di samping kebijakan izin yang ingin dimiliki pengguna OIDC. Jika Anda lebih suka, Anda boleh tidak memilih kebijakan saat ini, kemudian melampirkan kebijakan kepada peran di lain waktu. Secara default, peran tidak memiliki izin.

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md). Ini adalah fitur lanjutan.

   Buka bagian **batas izin dan pilih Gunakan batas** **izin untuk mengontrol izin peran maksimum**. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Untuk **Nama peran**, masukkan nama peran. Nama peran harus unik di dalam diri Anda Akun AWS. Mereka tidak bergantung pada kasus. Misalnya, Anda tidak dapat membuat peran bernama keduanya **PRODROLE** dan**prodrole**. Karena AWS sumber daya lain mungkin mereferensikan peran, Anda tidak dapat mengedit nama peran setelah membuatnya.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran baru ini.

1. Untuk mengedit kasus penggunaan dan izin untuk peran, pilih **Edit** di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan izin** bagian. 

1. (Opsional) Untuk menambahkan metadata ke peran, lampirkan tag sebagai pasangan kunci-nilai. Untuk informasi selengkapnya tentang menggunakan tanda di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md).

1. Tinjau peran, lalu pilih **Buat peran**.

## Mengkonfigurasi peran untuk penyedia identitas GitHub OIDC
<a name="idp_oidc_Create_GitHub"></a>

Jika Anda menggunakan GitHub sebagai penyedia identitas OpenID Connect (OIDC) (IDP), praktik terbaik adalah membatasi entitas yang dapat mengambil peran yang terkait dengan IDP IAM. Bila Anda menyertakan pernyataan kondisi dalam kebijakan kepercayaan, Anda dapat membatasi peran ke GitHub organisasi, repositori, atau cabang tertentu. Anda dapat menggunakan kunci kondisi `token.actions.githubusercontent.com:sub` dengan operator kondisi string untuk membatasi akses. Kami menyarankan Anda membatasi kondisi ke kumpulan repositori atau cabang tertentu dalam organisasi Anda GitHub . Untuk informasi tentang cara AWS mengonfigurasi OIDC trust GitHub sebagai identitas federasi, lihat [GitHub Dokumen - Mengonfigurasi OpenID Connect di](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) Amazon Web Services. 

Jika Anda menggunakan GitHub lingkungan dalam alur kerja tindakan atau dalam kebijakan OIDC, kami sangat menyarankan untuk menambahkan aturan perlindungan ke lingkungan untuk keamanan tambahan. Gunakan cabang dan tag penyebaran untuk membatasi cabang dan tag mana yang dapat diterapkan ke lingkungan. Untuk informasi selengkapnya tentang mengonfigurasi lingkungan dengan aturan perlindungan, lihat [Cabang dan tag penerapan](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-branches-and-tags) di GitHub artikel *Menggunakan lingkungan untuk penerapan*.

Kapan GitHub OIDC iDP adalah Principal tepercaya untuk peran Anda, IAM memeriksa kondisi kebijakan kepercayaan peran untuk memverifikasi bahwa kunci kondisi `token.actions.githubusercontent.com:sub` ada dan bahwa nilainya bukan semata-mata karakter wildcard (\$1 dan?) atau null. IAM melakukan pemeriksaan ini ketika kebijakan kepercayaan dibuat atau diperbarui. Jika kunci kondisi tidak `token.actions.githubusercontent.com:sub` ada, atau nilai kunci tidak memenuhi kriteria nilai yang disebutkan, permintaan akan gagal dan mengembalikan kesalahan.

**penting**  
Jika Anda tidak membatasi kunci kondisi `token.actions.githubusercontent.com:sub` untuk organisasi atau repositori tertentu, maka GitHub Tindakan dari organisasi atau repositori di luar kendali Anda dapat mengambil peran yang terkait dengan GitHub IDP IAM di akun Anda. AWS 

Contoh kebijakan kepercayaan berikut membatasi akses ke GitHub organisasi, repositori, dan cabang yang ditentukan. `token.actions.githubusercontent.com:sub`Nilai kunci kondisi dalam contoh berikut adalah format nilai subjek default yang didokumentasikan oleh GitHub.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::012345678910:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
          "token.actions.githubusercontent.com:sub": "repo:GitHubOrg/GitHubRepo:ref:refs/heads/GitHubBranch"
        }
      }
    }
  ]
}
```

------

Contoh kondisi berikut membatasi akses ke GitHub organisasi dan repositori yang ditentukan, tetapi memberikan akses ke cabang mana pun dalam repositori.

```
"Condition": {
  "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
  },
  "StringLike": {    
    "token.actions.githubusercontent.com:sub": "repo:GitHubOrg/GitHubRepo:*"
  }
}
```

Contoh kondisi berikut membatasi akses ke repositori atau cabang apa pun dalam organisasi yang ditentukan GitHub . Kami menyarankan Anda membatasi kunci kondisi `token.actions.githubusercontent.com:sub` ke nilai tertentu yang membatasi akses ke GitHub Tindakan dari dalam GitHub organisasi Anda.

```
"Condition": {
  "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
  },
  "StringLike": {    
    "token.actions.githubusercontent.com:sub": "repo:GitHubOrg/*"
  }
}
```

Untuk informasi selengkapnya tentang kunci federasi OIDC yang tersedia untuk pemeriksaan kondisi dalam kebijakan, lihat. [Kunci yang tersedia untuk AWS federasi OIDC](reference_policies_iam-condition-keys.md#condition-keys-wif)

# Buat peran untuk federasi SAMP 2.0 (konsol)
<a name="id_roles_create_for-idp_saml"></a>

 Anda dapat menggunakan federasi SAMP 2.0 alih-alih membuat pengguna IAM di file Anda. Akun AWS Dengan penyedia identitas (iDP), Anda dapat mengelola identitas pengguna di luar AWS dan memberikan izin identitas pengguna eksternal ini untuk mengakses AWS sumber daya di akun Anda. Untuk informasi lebih lanjut tentang federasi dan penyedia identitas, lihat [Penyedia identitas dan federasi ke AWS](id_roles_providers.md).

**catatan**  
Untuk meningkatkan ketahanan federasi, kami menyarankan Anda mengonfigurasi IDP dan AWS federasi Anda untuk mendukung beberapa titik akhir masuk SAMP. Untuk detailnya, lihat artikel Blog AWS Keamanan [Cara menggunakan endpoint SAMP regional untuk](https://aws.amazon.com/blogs//security/how-to-use-regional-saml-endpoints-for-failover) failover.

## Prasyarat untuk membuat peran untuk SAML
<a name="idp_saml_Prerequisites"></a>

Sebelum Anda dapat membuat peran untuk federasi SAMP 2.0, Anda harus terlebih dahulu menyelesaikan langkah-langkah prasyarat berikut.<a name="saml-prereqs"></a>

**Untuk mempersiapkan pembuatan peran federasi SAML 2.0**

1. <a name="idpsamlstep1"></a>Sebelum Anda membuat peran untuk federasi berbasis SAML, Anda harus membuat penyedia SAML di IAM. Untuk informasi selengkapnya, lihat [Buat penyedia identitas SAMP di IAM](id_roles_providers_create_saml.md).

1. Persiapkan kebijakan untuk peran yang akan diasumsikan oleh pengguna yang diotentikasi–SAML 2.0. Sebagaimana peran apa pun, peran untuk federasi SAML mencakup dua kebijakan. Salah satunya adalah kebijakan kepercayaan peran yang dapat mengasumsikan peran. Yang lainnya adalah kebijakan izin IAM yang menentukan AWS tindakan dan sumber daya yang diizinkan atau ditolak aksesnya oleh prinsipal federasi SAMP.

   Ketika Anda membuat kebijakan kepercayaan untuk peran Anda, Anda harus menggunakan tiga nilai untuk memastikan bahwa hanya aplikasi Anda yang dapat mengambil peran:
   + Untuk elemen `Action`, gunakan tindakan `sts:AssumeRoleWithSAML`.
   + Untuk elemen `Principal`, gunakan string `{"Federated":ARNofIdentityProvider}`. Mengganti `ARNofIdentityProvider` dengan ARN [penyedia identitas SAML](id_roles_providers_saml.md) yang Anda buat di [Step 1](#idpsamlstep1).
   + Untuk `Condition` elemen, gunakan `StringEquals` kondisi untuk menguji apakah `saml:aud` atribut dari respons SAMP cocok dengan URL yang ditampilkan browser Anda saat masuk ke konsol. URL titik akhir masuk ini adalah atribut penerima SAMP penyedia identitas Anda. Anda dapat menyertakan login URLs dalam wilayah tertentu. AWS merekomendasikan penggunaan titik akhir Regional alih-alih titik akhir global untuk meningkatkan ketahanan federasi. Untuk daftar *region-code* nilai yang mungkin, lihat kolom **Wilayah** di titik [akhir AWS Masuk](https://docs.aws.amazon.com/general/latest/gr/signin-service.html).

     Jika enkripsi SAMP diperlukan, URL masuk harus menyertakan pengenal unik yang ditetapkan ke penyedia AWS SAMP Anda. Anda dapat melihat pengenal unik dengan memilih penyedia identitas di konsol IAM untuk menampilkan halaman detail.

     `https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID`

   Contoh kebijakan kepercayaan berikut ini dirancang untuk pengguna federasi SAML:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRoleWithSAML",
           "Principal": {
               "Federated": "arn:aws:iam::111122223333:saml-provider/PROVIDER-NAME"
           },
           "Condition": {
               "StringEquals": {
                   "SAML:aud": "https://region-code.signin.aws.amazon.com/saml"
               }
           }
       }
   }
   ```

------

   Ganti ARN prinsipal dengan ARN aktual untuk penyedia SAML yang Anda buat di IAM. Itu akan memiliki ID akun dan nama penyedia Anda sendiri. 

## Membuat peran untuk SAML
<a name="idp_saml_Create"></a>

Setelah Anda menyelesaikan langkah-langkah persyaratan, Anda dapat membuat peran untuk federasi berbasis SAML. 

**Untuk membuat peran untuk federasi berbasis SAML**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran** lalu pilih **Buat peran**.

1. Pilih jenis peran **federasi SAML 2.0**.

1. Untuk **Pilih penyedia SAMP**, pilih penyedia untuk peran Anda. 

1. Pilih metode tingkat akses SAML 2.0. 
   + Pilih **Izinkan akses terprogram hanya** untuk membuat peran yang dapat diasumsikan secara terprogram dari API atau. AWS AWS CLI
   + Pilih **Izinkan programatik dan Konsol Manajemen AWS akses** untuk membuat peran yang dapat diasumsikan secara terprogram dan dari. Konsol Manajemen AWS

   Peran yang dibuat oleh keduanya serupa, tetapi peran yang juga dapat diasumsikan dari konsol mencakup suatu kebijakan kepercayaan dengan syarat tertentu. Kondisi itu secara eksplisit memastikan bahwa audiens SAMP (`SAML:aud`atribut) disetel ke titik akhir AWS masuk untuk penyedia SAMP Anda.

1. Prosedur untuk mendefinisikan atribut bervariasi tergantung pada jenis akses.
   + Jika Anda membuat peran untuk akses terprogram, pilih atribut dari daftar **Atribut**. Kemudian, di kotak **Nilai**, masukkan nilai untuk disertakan dalam peran. Hal ini membatasi akses peran kepada pengguna dari penyedia identitas yang memiliki respon otentikasi SAML (pernyataan) mencakup atribut yang Anda tentukan. Anda harus menentukan setidaknya satu atribut untuk memastikan bahwa peran Anda terbatas pada subset pengguna dalam organisasi Anda. 
   + Jika Anda membuat peran untuk programatik dan Konsol Manajemen AWS akses, bagian **Titik akhir Masuk** menentukan URL yang ditampilkan browser Anda saat masuk ke konsol. Titik akhir ini adalah atribut penerima SAMP penyedia identitas Anda, yang memetakan ke kunci [`saml:aud`](reference_policies_iam-condition-keys.md#condition-keys-saml)konteks. Untuk informasi selengkapnya, lihat [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md).

     1. Pilih Endpoint **Regional atau Endpoint** **Non-Regional**. Kami merekomendasikan penggunaan beberapa titik akhir masuk SAMP Regional untuk meningkatkan ketahanan federasi.

     1. Untuk **Wilayah**, pilih wilayah yang didukung penyedia SAMP Anda untuk AWS login.

     1.  ** URLs Agar login menyertakan pengidentifikasi unik**, pilih apakah titik akhir masuk menyertakan pengidentifikasi unik yang ditetapkan ke penyedia identitas AWS SAMP Anda. Opsi ini diperlukan untuk pernyataan SAMP terenkripsi. Untuk informasi selengkapnya, lihat [Federasi SAMP 2.0](id_roles_providers_saml.md).

1. Untuk menambahkan lebih banyak kondisi terkait atribut ke kebijakan trust, pilih **Kondisi (opsional)**, pilih kondisi tambahan, dan tentukan nilai. 
**catatan**  
Daftar ini mencakup atribut SAML yang paling umum digunakan. IAM mendukung atribut tambahan yang dapat Anda gunakan untuk membuat persyaratan. Untuk daftar atribut didukung, lihat [Kunci yang Tersedia untuk Federasi SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#condition-keys-saml). Jika Anda memerlukan syarat untuk atribut SAML yang didukung yang tidak ada dalam daftar, Anda dapat menambahkan syarat tersebut secara manual. Untuk melakukannya, ubah kebijakan kepercayaan setelah Anda membuat peran tersebut.

1.  Tinjau informasi kepercayaan SAMP 2.0 Anda dan kemudian pilih **Berikutnya**. 

1. IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda. Pilih kebijakan yang akan digunakan untuk kebijakan izin, atau pilih **Buat kebijakan** untuk membuka tab browser baru dan membuat kebijakan baru dari awal. Untuk informasi selengkapnya, lihat [Membuat kebijakan IAM](access_policies_create-console.md#access_policies_create-start). Setelah Anda membuat kebijakan, tutup tab tersebut dan kembali ke tab asli Anda. Pilih kotak centang di samping kebijakan izin yang Anda inginkan untuk dimiliki oleh pengguna federasi SAMP. Jika Anda lebih suka, Anda boleh tidak memilih kebijakan saat ini, kemudian melampirkan kebijakan kepada peran di lain waktu. Secara default, peran tidak memiliki izin.

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md). Ini adalah fitur lanjutan.

   Buka bagian **batas izin dan pilih Gunakan batas** **izin untuk mengontrol izin peran maksimum**. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Pilih **Berikutnya: Tinjauan**.

1. Untuk **Nama peran**, masukkan nama peran. Nama peran harus unik dalam diri Anda Akun AWS. Grup tidak dibedakan berdasarkan huruf besar-kecil. Misalnya, Anda tidak dapat membuat peran dengan nama **PRODROLE** dan **prodrole**. Karena AWS sumber daya lain mungkin merujuk peran, Anda tidak dapat mengedit nama peran setelah dibuat. 

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran baru ini.

1. Pilih **Edit** di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan bagian izin** untuk mengedit kasus penggunaan dan izin untuk peran tersebut. 

1. (Opsional) Tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang menggunakan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md).

1. Tinjau peran, lalu pilih **Buat peran**.

Setelah membuat peran tersebut, Anda menyelesaikan kepercayaan SAML dengan mengonfigurasi perangkat lunak penyedia identitas dengan informasi tentang AWS. Informasi ini mencakup peran yang Anda inginkan untuk digunakan oleh pengguna federasi SAMP Anda. Ini disebut sebagai mengonfigurasi kepercayaan pihak pengandal antara Idp dan AWS. Lihat informasi yang lebih lengkap di [Konfigurasikan IDP SAMP 2.0 Anda dengan mengandalkan kepercayaan pihak dan menambahkan klaim](id_roles_providers_create_saml_relying-party.md). 

# Membuat peran menggunakan kebijakan kepercayaan khusus
<a name="id_roles_create_for-custom"></a>

Anda dapat membuat kebijakan kepercayaan khusus untuk mendelegasikan akses dan mengizinkan orang lain melakukan tindakan di situs Anda Akun AWS. Untuk informasi selengkapnya, lihat [Membuat kebijakan IAM](access_policies_create-console.md#access_policies_create-start).

Untuk informasi tentang cara menggunakan peran untuk mendelegasikan izin, lihat [Istilah dan konsep peran](id_roles.md#id_roles_terms-and-concepts).

## Membuat peran IAM menggunakan kebijakan kepercayaan khusus (konsol)
<a name="roles-creatingrole-custom-trust-policy-console"></a>

Anda dapat menggunakan Konsol Manajemen AWS untuk membuat peran yang dapat diasumsikan oleh pengguna IAM. Misalnya, asumsikan bahwa organisasi Anda memiliki banyak Akun AWS untuk mengisolasi lingkungan pengembangan dari lingkungan produksi. Untuk informasi tingkat tinggi tentang membuat peran yang memungkinkan pengguna di akun pengembangan mengakses sumber daya di akun produksi, lihat[Contoh skenario menggunakan akun pengembangan dan produksi terpisah](id_roles_common-scenarios_aws-accounts.md#id_roles_common-scenarios_aws-accounts-example).

**Untuk membuat peran menggunakan kebijakan kepercayaan khusus (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol, pilih **Peran** dan kemudian pilih **Buat peran**.

1. Pilih jenis peran **kebijakan kepercayaan kustom**.

1. Di bagian **Kebijakan kepercayaan khusus**, masukkan atau tempel kebijakan kepercayaan khusus untuk peran tersebut. Untuk informasi selengkapnya, lihat [Membuat kebijakan IAM](access_policies_create-console.md#access_policies_create-start).

1. Selesaikan peringatan keamanan, kesalahan, atau peringatan umum yang dihasilkan selama [validasi kebijakan](access_policies_policy-validator.md), lalu pilih **Berikutnya**.

1. (Opsional) Tetapkan [batas izin](access_policies_boundaries.md). Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.

   Buka bagian **batas izin dan pilih Gunakan batas** **izin untuk mengontrol izin peran maksimum**. IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Untuk **Nama peran**, tingkat penyesuaian nama peran ditentukan oleh layanan. Jika layanan mendefinisikan nama peran, opsi ini tidak dapat diedit. Dalam kasus lain, layanan mungkin menentukan awalan peran dan memungkinkan Anda untuk memasukkan akhiran opsional. Beberapa layanan memungkinkan Anda untuk menentukan seluruh nama peran Anda.

   Jika memungkinkan, masukkan nama peran atau akhiran nama peran. Nama peran harus unik di dalam diri Anda Akun AWS. Grup tidak dibedakan berdasarkan huruf besar-kecil. Misalnya, Anda tidak dapat membuat peran dengan nama **PRODROLE** dan **prodrole**. Karena AWS sumber daya lain mungkin mereferensikan peran, Anda tidak dapat mengedit nama peran setelah dibuat.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran baru ini.

1. (Opsional) Pilih **Edit** di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan izin** bagian untuk mengedit kebijakan kustom dan izin untuk peran tersebut. 

1. (Opsional) Tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang menggunakan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md).

1. Tinjau peran dan kemudian pilih **Buat peran**.

# Contoh kebijakan untuk mendelegasikan akses
<a name="id_roles_create_policy-examples"></a>

Contoh berikut menunjukkan bagaimana Anda dapat mengizinkan atau memberikan Akun AWS akses ke sumber daya di sumber lain Akun AWS. Untuk mempelajari cara membuat kebijakan IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan menggunakan editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

**Topics**
+ [Menggunakan peran untuk mendelegasikan akses ke sumber daya sumber daya lain Akun AWS](#example-delegate-xaccount-rolesapi)
+ [Menggunakan kebijakan untuk mendelegasikan akses ke layanan](#id_roles_create_policy-examples-access-to-services)
+ [Menggunakan kebijakan berbasis sumber daya untuk mendelegasikan akses ke bucket Amazon S3 di akun lain](#example-delegate-xaccount-S3)
+ [Menggunakan kebijakan berbasis sumber daya untuk mendelegasikan akses ke antrean Amazon SQS di akun lainnya](#example-delegate-xaccount-SQS)
+ [Tidak dapat mendelegasikan akun ketika akun ditolak aksesnya](#example-delegate-xaccount-SQS-denied)

## Menggunakan peran untuk mendelegasikan akses ke sumber daya sumber daya lain Akun AWS
<a name="example-delegate-xaccount-rolesapi"></a>

 Untuk tutorial yang menunjukkan cara menggunakan peran IAM untuk memberikan pengguna dalam satu akun akses ke AWS sumber daya yang ada di akun lain, lihat[Tutorial IAM: Delegasikan akses di seluruh AWS akun menggunakan peran IAM](tutorial_cross-account-with-roles.md). 

**penting**  
Anda dapat menyertakan ARN untuk peran atau pengguna tertentu dalam elemen `Principal` kebijakan kepercayaan peran. Saat Anda menyimpan polis, AWS ubah ARN menjadi ID utama yang unik. Hal ini membantu memitigasi risiko seseorang meningkatkan hak istimewa mereka dengan menghapus dan membuat kembali peran atau pengguna. Anda biasanya tidak melihat ID ini di konsol, karena juga ada transformasi balik kembali ke ARN ketika kebijakan kepercayaan ditampilkan. Namun, jika Anda menghapus peran atau pengguna, maka hubungan Anda akan rusak. Kebijakan tidak lagi berlaku, bahkan jika Anda membuat ulang pengguna atau peran karena itu tidak sesuai dengan ID prinsipal yang disimpan dalam kebijakan kepercayaan. Ketika ini terjadi, ID utama muncul di konsol karena tidak AWS dapat lagi memetakannya kembali ke ARN. Oleh karena itu, jika Anda menghapus dan membuat ulang pengguna atau peran yang dirujuk di dalam elemen `Principal` kebijakan kepercayaan, Anda harus mengubah peran untuk mengganti ARN. Itu diubah menjadi ID prinsipal baru saat Anda menyimpan kebijakan.

## Menggunakan kebijakan untuk mendelegasikan akses ke layanan
<a name="id_roles_create_policy-examples-access-to-services"></a>

Contoh berikut ini menunjukkan kebijakan yang dapat dilampirkan pada sebuah peran. Kebijakan ini memungkinkan dua layanan, Amazon EMR dan AWS Data Pipeline, untuk mengambil peran. Layanan kemudian dapat melakukan tugas yang diberikan oleh kebijakan izin yang ditetapkan untuk peran tersebut (tidak ditampilkan). Untuk menetapkan beberapa prinsipal layanan, Anda tidak menentukan dua elemen `Service`; Anda hanya dapat memiliki satu. Sebagai gantinya, Anda menggunakan serangkaian dari beberapa prinsipal layanan sebagai nilai elemen `Service` tunggal.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "elasticmapreduce.amazonaws.com",
          "datapipeline.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## Menggunakan kebijakan berbasis sumber daya untuk mendelegasikan akses ke bucket Amazon S3 di akun lain
<a name="example-delegate-xaccount-S3"></a>

Dalam contoh ini, akun A menggunakan kebijakan berbasis sumber daya ([kebijakan bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucketPolicies.html) Amazon S3) untuk memberikan akun B akses penuh ke bucket S3 akun A. Lalu akun B membuat kebijakan pengguna IAM untuk mendelegasikan akses ke bucket akun A kepada salah satu pengguna di akun B. 

Kebijakan S3 bucket di akun A mungkin terlihat seperti kebijakan berikut. Dalam contoh ini, bucket S3 akun A diberi nama *amzn-s3-demo-bucket*, dan nomor akun B adalah 111122223333. Itu tidak menentukan pengguna individual atau pengguna kelompok di akun B, hanya akun itu sendiri.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "AccountBAccess1",
    "Effect": "Allow",
    "Principal": {"AWS": "111122223333"},
    "Action": "s3:*",
    "Resource": [
      "arn:aws:s3:::amzn-s3-demo-bucket",
      "arn:aws:s3:::amzn-s3-demo-bucket/*"
    ]
  }
}
```

------

Atau, akun A dapat menggunakan Amazon S3 [Access Control Lists (ACLs)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3_ACLs_UsingACLs.html) untuk memberikan akses akun B ke bucket S3 atau satu objek di dalam bucket. Dalam hal ini, satu-satunya hal yang berubah adalah bagaimana akun A memberikan akses ke akun B. Akun B masih menggunakan kebijakan untuk mendelegasikan akses ke kelompok IAM di akun B, seperti yang dijelaskan di bagian berikutnya dari contoh ini. Untuk informasi selengkapnya tentang mengontrol akses pada bucket dan objek S3, buka [Kontrol Akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*. 

Administrator akun B dapat membuat sampel kebijakan berikut. Kebijakan ini memungkinkan akses baca ke kelompok atau pengguna di akun B. Kebijakan sebelumnya memberikan akses ke akun B. Namun demikian, kelompok individu dan pengguna di akun B tidak dapat mengakses sumber daya sampai suatu kelompok atau pengguna memberikan izin secara jelas ke sumber daya tersebut. Izin dalam kebijakan ini hanya dapat menjadi subset dari izin yang ada di kebijakan lintas akun sebelumnya. Akun B tidak dapat memberikan lebih banyak izin untuk kelompok dan penggunanya daripada yang diberikan akun A ke akun B dalam kebijakan pertama. Dalam kebijakan ini, elemen `Action` secara jelas ditentukan untuk hanya mengizinkan tindakan `List`, dan elemen `Resource` kebijakan ini sesuai dengan `Resource` untuk kebijakan bucket yang diterapkan oleh akun A.

Untuk menerapkan kebijakan ini akun B menggunakan IAM untuk melampirkannya ke pengguna (atau kelompok) yang sesuai di akun B. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:List*",
    "Resource": [
      "arn:aws:s3:::amzn-s3-demo-bucket",
      "arn:aws:s3:::amzn-s3-demo-bucket/*"
    ]
  }
}
```

------

## Menggunakan kebijakan berbasis sumber daya untuk mendelegasikan akses ke antrean Amazon SQS di akun lainnya
<a name="example-delegate-xaccount-SQS"></a>

Dalam contoh berikut, akun A memiliki antrean Amazon SQS yang menggunakan kebijakan berbasis sumber daya yang dilampirkan ke antrean untuk memberikan akses antrean ke akun B. Kemudian akun B menggunakan kebijakan kelompok IAM untuk mendelegasikan akses ke kelompok di akun B. 

Contoh kebijakan antrean berikut memberi akun B izin untuk melakukan tindakan `SendMessage` dan `ReceiveMessage` pada antrean akun A yang disebut *antrean1*, tetapi hanya antara tengah hari hingga pukul 15.00 pada 30 November 2014. Nomor akun Akun B adalah 1111-2222-3333. Akun A menggunakan Amazon SQS untuk menerapkan kebijakan ini. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "111122223333"},
    "Action": [
      "sqs:SendMessage",
      "sqs:ReceiveMessage"
    ],
    "Resource": ["arn:aws:sqs:*:123456789012:queue1"],
    "Condition": {
      "DateGreaterThan": {"aws:CurrentTime": "2014-11-30T12:00Z"},
      "DateLessThan": {"aws:CurrentTime": "2014-11-30T15:00Z"}
    }
  }
}
```

------

Kebijakan akun B untuk mendelegasikan akses ke suatu kelompok di akun B dapat terlihat seperti contoh berikut. Akun B menggunakan IAM untuk melampirkan kebijakan ini ke kelompok (atau pengguna). 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "sqs:*",
    "Resource": "arn:aws:sqs:*:123456789012:queue1"
  }
}
```

------

Dalam contoh kebijakan pengguna IAM sebelumnya, akun B menggunakan wildcard untuk memberikan akses ke penggunanya ke semua tindakan Amazon SQS pada antrean akun A. Namun, akun B hanya dapat mendelegasikan akses jika akun B telah diberi akses. Kelompok akun B yang memiliki kebijakan kedua dapat mengakses antrean hanya antara tengah hari hingga pukul 15.00 pada 30 November 2014. Pengguna hanya dapat melakukan tindakan `SendMessage` dan `ReceiveMessage`, sebagaimana ditentukan dalam kebijakan antrean Amazon SQS akun A. 

## Tidak dapat mendelegasikan akun ketika akun ditolak aksesnya
<a name="example-delegate-xaccount-SQS-denied"></a>

 Akun AWS Tidak dapat mendelegasikan akses ke sumber daya akun lain jika akun lain secara eksplisit menolak akses ke akun induk pengguna. Penolakan ini meluas ke para pengguna dalam akun tersebut, baik apakah pengguna sudah memiliki kebijakan yang memberikan akses kepada mereka atau belum.

Sebagai contoh, akun A menyusun kebijakan bucket pada bucket S3 akun A yang secara eksplisit menolak akses akun B ke bucket akun A. Namun, akun B menyusun kebijakan pengguna IAM yang memberi pengguna akun B akses ke bucket akun A. Penolakan secara eksplisit yang diterapkan kepada bucket S3 akun A meluas ke para pengguna di akun B. Itu membatalkan kebijakan pengguna IAM yang memberikan akses ke pengguna di akun B. (Untuk informasi selengkapnya tentang bagaimana izin dievaluasi, lihat [Logika evaluasi kebijakan](reference_policies_evaluation-logic.md).) 

Kebijakan bucket Akun A dapat terlihat seperti kebijakan berikut ini. Dalam contoh ini, bucket S3 akun A diberi nama *amzn-s3-demo-bucket*, dan nomor akun B adalah 1111-2222-3333. Akun A menggunakan Amazon S3 untuk menerapkan kebijakan ini. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "AccountBDeny",
    "Effect": "Deny",
    "Principal": {"AWS": "111122223333"},
    "Action": "s3:*",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
  }
}
```

------

Penolakan secara eksplisit ini membatalkan kebijakan apa pun dalam akun B yang memberikan izin untuk mengakses bucket S3 dalam akun A. 