

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

# Kebijakan berbasis identitas untuk Amazon EC2
<a name="iam-policies-for-amazon-ec2"></a>

Secara default, pengguna tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon EC2, atau melakukan tugas menggunakan API Amazon EC2, konsol Amazon EC2, atau CLI. Untuk memungkinkan pengguna membuat atau memodifikasi sumber daya dan melakukan tugas, Anda harus membuat kebijakan IAM yang memberikan izin kepada pengguna untuk menggunakan sumber daya serta tindakan API tertentu yang akan mereka perlukan, lalu melampirkan kebijakan tersebut ke pengguna, grup, atau peran IAM yang memerlukan izin tersebut.

Saat Anda melampirkan kebijakan ke pengguna atau grup pengguna atau peran, kebijakan tersebut akan mengizinkan atau menolak izin pengguna untuk melakukan tugas tertentu pada sumber daya tertentu. Untuk informasi umum selengkapnya tentang kebijakan IAM, lihat [Kebijakan dan izin di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) di *Panduan Pengguna IAM*. Untuk informasi selengkapnya tentang mengelola dan membuat kebijakan IAM, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html).

 kebijakan IAM harus mengizinkan atau menolak izin untuk menggunakan satu atau beberapa tindakan Amazon EC2. Kebijakan tersebut juga harus menentukan sumber daya yang dapat digunakan bersama dengan tindakan tersebut, yang dapat berupa semua sumber daya, atau dalam beberapa kasus, sumber daya tertentu. Kebijakan ini juga dapat mencakup syarat-syarat yang Anda terapkan pada sumber daya.

Untuk memulai, Anda dapat memeriksa apakah kebijakan AWS terkelola untuk Amazon EC2 memenuhi kebutuhan Anda. Jika tidak, Anda dapat membuat kebijakan khusus Anda sendiri. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola untuk Amazon EC2](security-iam-awsmanpol.md).

**Topics**
+ [Sintaksis kebijakan](#policy-syntax)
+ [Tindakan-tindakan untuk Amazon EC2](#UsingWithEC2_Actions)
+ [Izin tingkat sumber daya yang mendukung tindakan API Amazon EC2](#ec2-supported-iam-actions-resources)
+ [Amazon Resource Name (ARN) untuk Amazon EC2](#EC2_ARN_Format)
+ [Kunci syarat untuk Amazon EC2](#amazon-ec2-keys)
+ [Kontrol akses menggunakan akses berbasis atribut](#control-access-with-tags)
+ [Berikan izin kepada pengguna, grup, dan peran](#granting-iam-permissions)
+ [Memeriksa apakah pengguna memiliki izin yang diperlukan](#check-required-permissions)

## Sintaksis kebijakan
<a name="policy-syntax"></a>

 kebijakan IAM adalah dokumen JSON yang terdiri dari satu atau beberapa pernyataan. Masing-masing pernyataan memiliki struktur sebagai berikut.

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Ada berbagai elemen yang membentuk pernyataan:
+ **Efek:** *Efek* bisa berupa `Allow` atau `Deny`. Secara default, pengguna tidak memiliki izin untuk menggunakan sumber daya dan tindakan API, sehingga semua permintaan akan ditolak. izin eksplisit akan menggantikan izin default. penolakan eksplisit akan menggantikan izin apa pun.
+ **Tindakan**: *Tindakan* adalah tindakan API tertentu yang Anda izinkan atau tolak. Untuk mempelajari tentang cara menentukan *tindakan*, lihat [Tindakan-tindakan untuk Amazon EC2](#UsingWithEC2_Actions). 
+ **Sumber daya**: Sumber daya yang dipengaruhi oleh tindakan. Beberapa tindakan Amazon EC2 API memungkinkan Anda untuk menyertakan sumber daya tertentu dalam kebijakan Anda yang dapat dibuat atau dimodifikasi oleh tindakan tersebut. Anda dapat menentukan sumber daya menggunakan Amazon Resource Name (ARN) atau menggunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan berlaku untuk semua sumber daya. Untuk informasi selengkapnya, lihat [Izin tingkat sumber daya yang mendukung tindakan API Amazon EC2](#ec2-supported-iam-actions-resources). 
+ **Syarat**: Syarat-syarat bersifat opsional. Syarat-syarat ini dapat digunakan untuk mengendalikan kapan kebijakan Anda berlaku. Untuk informasi selengkapnya tentang cara menentukan syarat untuk Amazon EC2, lihat [Kunci syarat untuk Amazon EC2](#amazon-ec2-keys).

Untuk informasi selengkapnya tentang persyaratan kebijakan, lihat [Referensi kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) di *Panduan Pengguna IAM*. Misalnya pernyataan kebijakan IAM untuk Amazon EC2, lihat [Contoh kebijakan untuk mengontrol akses API Amazon EC2](ExamplePolicies_EC2.md). 

## Tindakan-tindakan untuk Amazon EC2
<a name="UsingWithEC2_Actions"></a>

Dalam pernyataan kebijakan IAM, Anda dapat menentukan tindakan API apa pun dari layanan apa pun yang mendukung IAM. Untuk Amazon EC2, gunakan awalan berikut ini dengan nama dari tindakan API: `ec2:`. Misalnya: `ec2:RunInstances` dan `ec2:CreateImage`.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan tindakan-tindakan tersebut menggunakan koma seperti berikut:

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

Anda juga dapat menentukan beberapa tindakan menggunakan wildcard. Sebagai contoh, Anda dapat menentukan semua tindakan yang namanya dimulai dengan kata “Describe” seperti berikut ini:

```
"Action": "ec2:Describe*"
```

**catatan**  
Saat ini, tindakan API Describe\$1 Amazon EC2 tidak mendukung izin tingkat sumber daya. Untuk informasi selengkapnya tentang izin tingkat sumber daya untuk Amazon EC2, lihat [Kebijakan berbasis identitas untuk Amazon EC2](#iam-policies-for-amazon-ec2).

Untuk menentukan semua tindakan API Amazon EC2, gunakan wildcard \$1 sebagai berikut:

```
"Action": "ec2:*"
```

Untuk melihat daftar tindakan Amazon EC2, lihat [Actions defined by Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) (Tindakan yang ditentukan oleh Amazon EC2) di *Referensi Otorisasi Layanan*.

## Izin tingkat sumber daya yang mendukung tindakan API Amazon EC2
<a name="ec2-supported-iam-actions-resources"></a>

*Izin tingkat sumber daya* mengacu pada kemampuan untuk menentukan sumber daya mana yang boleh digunakan oleh para pengguna untuk melakukan tindakan. Amazon EC2 memiliki dukungan parsial untuk izin tingkat sumber daya. Artinya untuk tindakan Amazon EC2 tertentu, Anda dapat mengontrol kapan para pengguna diizinkan untuk menggunakan tindakan tersebut berdasarkan syarat yang harus dipenuhi, atau sumber daya tertentu yang diizinkan untuk digunakan oleh pengguna. Sebagai contoh, Anda dapat memberikan izin kepada para pengguna untuk meluncurkan instans, tetapi hanya untuk tipe instans tertentu, dan hanya menggunakan AMI tertentu.

Untuk menentukan sumber daya di pernyataan kebijakan IAM, gunakan Amazon Resource Name (ARN) sumber daya tersebut. Untuk informasi selengkapnya tentang cara menentukan nilai ARN, lihat [Amazon Resource Name (ARN) untuk Amazon EC2](#EC2_ARN_Format). Jika tindakan API tidak mendukung individu ARNs, Anda harus menggunakan wildcard (\$1) untuk menentukan bahwa semua sumber daya dapat terpengaruh oleh tindakan tersebut. 

Untuk melihat tabel yang mengidentifikasi tindakan API Amazon EC2 mana yang mendukung izin tingkat sumber daya, serta kunci kondisi ARNs dan yang dapat Anda gunakan dalam kebijakan, lihat [Tindakan, sumber daya, dan kunci kondisi](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html) untuk Amazon EC2.

Ingatlah bahwa Anda dapat menerapkan izin tingkat sumber daya berbasis tanda dalam kebijakan IAM yang Anda gunakan untuk tindakan API Amazon EC2. Hal ini akan memberikan Anda kontrol yang lebih baik atas sumber daya yang dapat dibuat, dimodifikasi, atau digunakan oleh seorang pengguna. Untuk informasi selengkapnya, lihat [Berikan izin untuk menandai sumber daya Amazon EC2 selama pembuatan](supported-iam-actions-tagging.md). 

## Amazon Resource Name (ARN) untuk Amazon EC2
<a name="EC2_ARN_Format"></a>

Setiap pernyataan kebijakan IAM berlaku untuk sumber daya yang Anda tentukan menggunakan mereka ARNs. 

 ARN memiliki sintaksis umum sebagai berikut:

```
arn:aws:[service]:[region]:[account-id]:resourceType/resourcePath
```

*layanan*  
Layanan (contohnya, `ec2`).

*wilayah*  
Wilayah untuk sumber daya (contohnya, `us-east-1`).

*account-id*  
ID AWS akun, tanpa tanda hubung (misalnya,`123456789012`).

*resourceType*  
Jenis dari sumber daya (contohnya, `instance`).

*resourcePath*  
 jalur yang mengidentifikasi sumber daya. Anda dapat menggunakan wildcard \$1 dalam jalur Anda.

Sebagai contoh, Anda dapat mengindikasikan instans tertentu (`i-1234567890abcdef0`) dalam pernyataan Anda menggunakan ARN seperti berikut ini. 

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
```

Anda dapat menentukan semua instans yang menjadi milik dari akun tertentu menggunakan wildcard \$1 seperti berikut ini.

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
```

Anda juga dapat menentukan semua sumber daya Amazon EC2 yang menjadi milik dari akun tertentu menggunakan wildcard \$1 seperti berikut ini.

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:*"
```

Untuk menentukan semua sumber daya, atau jika tindakan API tertentu tidak mendukung ARNs, gunakan wildcard \$1 dalam `Resource` elemen sebagai berikut.

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

Banyak tindakan API Amazon EC2 yang melibatkan beberapa sumber daya. Misalnya, `AttachVolume` melampirkan volume Amazon EBS pada instans, sehingga pengguna harus memiliki izin untuk menggunakan volume dan instans tersebut. Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma, sebagai berikut.

```
"Resource": ["arn1", "arn2"]
```

Untuk melihat daftar ARN untuk sumber daya Amazon EC2, lihat [Jenis sumber daya yang ditentukan oleh Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies).

## Kunci syarat untuk Amazon EC2
<a name="amazon-ec2-keys"></a>

di pernyataan kebijakan, Anda dapat secara opsional menentukan syarat yang mengontrol kapan pernyataan tersebut berlaku. Setiap syarat mengandung satu atau beberapa pasangan nilai-kunci . Kunci syarat tidak memedulikan huruf besar atau kecil. Kami telah menetapkan kunci kondisi AWS global, ditambah kunci kondisi khusus layanan tambahan.

Untuk melihat daftar kunci syarat spesifik layanan untuk Amazon EC2, lihat [Kunci syarat untuk Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-policy-keys). Amazon EC2 juga mengimplementasikan kunci kondisi AWS global. Untuk informasi selengkapnya, lihat [Informasi yang tersedia dalam semua permintaan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infoallreqs) dalam *Panduan Pengguna IAM*.

Semua tindakan Amazon EC2 mendukung kunci syarat `aws:RequestedRegion` dan `ec2:Region`. Untuk informasi selengkapnya, lihat [Contoh: Membatasi akses ke suatu Wilayah tertentu](ExamplePolicies_EC2.md#iam-example-region).

Untuk menggunakan kunci syarat dalam kebijakan IAM Anda, gunakan pernyataan `Condition`. Sebagai contoh, kebijakan berikut memberikan izin kepada para pengguna untuk menambah dan menghapus aturan ke dalam dan ke luar untuk grup keamanan apa pun. Kebijakan tersebut menggunakan kunci syarat `ec2:Vpc` untuk menentukan bahwa tindakan ini hanya dapat dilakukan pada grup keamanan di VPC tertentu.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement":[{
    "Effect":"Allow",
    "Action": [
       "ec2:AuthorizeSecurityGroupIngress",
       "ec2:AuthorizeSecurityGroupEgress",
       "ec2:RevokeSecurityGroupIngress",
       "ec2:RevokeSecurityGroupEgress"],
     "Resource": "arn:aws:ec2:us-east-1:111122223333:security-group/*",
      "Condition": {
        "StringEquals": {
          "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
        }
      }
    }
  ]
}
```

------

Jika Anda menentukan beberapa syarat, atau beberapa kunci dalam satu syarat, maka kami akan mengevaluasinya menggunakan operasi logika AND. Jika Anda menentukan satu syarat dengan beberapa nilai untuk satu kunci, kami akan mengevaluasi syarat tersebut menggunakan operasi logika OR. Agar izin bisa diberikan, semua syarat harus terpenuhi.

Anda juga dapat menggunakan placeholder saat menentukan syarat. Untuk informasi lebih lanjut, lihat [Elemen kebijakan IAM: Variabel dan tanda](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) dalam *Panduan Pengguna IAM*.

**penting**  
Beberapa kunci syarat bersifat khusus untuk sumber daya, dan beberapa tindakan API menggunakan beberapa sumber daya. Jika Anda menyusun kebijakan dengan kunci syarat, gunakan elemen `Resource` dari pernyataan tersebut untuk menentukan sumber daya yang padanya kunci syarat tersebut berlaku. Jika tidak, kebijakan ini dapat membuat pengguna tidak bisa melakukan tindakan sama sekali, karena pemeriksaan syarat gagal sebab kunci syarat tidak berlaku terhadap sumber daya tersebut. Jika Anda tidak ingin menentukan sumber daya, atau jika Anda telah menyusun elemen `Action` dari kebijakan Anda untuk menyertakan beberapa tindakan API, maka Anda harus menggunakan jenis syarat `...IfExists` untuk memastikan bahwa kunci syarat diabaikan untuk sumber daya yang tidak menggunakannya. Untuk informasi lebih lanjut, lihat[... IfExists Ketentuan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IfExists) dalam *Panduan Pengguna IAM*.

**Topics**
+ [Kunci syarat ec2:Attribute](#attribute-key)
+ [Kunci syarat ec2:ResourceID](#imageId-key)
+ [Kunci syarat ec2:SourceInstanceARN](#SourceInstanceARN)

### Kunci syarat ec2:Attribute
<a name="attribute-key"></a>

Kunci syarat `ec2:Attribute` dapat digunakan untuk syarat-syarat yang memfilter akses berdasarkan atribut sumber daya.

Kunci kondisi ini hanya mendukung properti yang bertipe data primitif (seperti string atau bilangan bulat), atau **[AttributeValue](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttributeValue.html)**objek kompleks yang hanya berisi properti **Value** (seperti **Deskripsi** atau **ImdsSupport**objek aksi [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)API). Kunci kondisi tidak dapat digunakan dengan objek kompleks yang berisi beberapa properti, seperti **LaunchPermission**objek dari [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html).

Misalnya, kebijakan berikut menggunakan kunci `ec2:Attribute/Description` kondisi untuk memfilter akses berdasarkan objek **Description** kompleks dari tindakan **ModifyImageAttribute**API. Kunci syarat hanya mengizinkan permintaan yang memodifikasi deskripsi citra ke `Production` atau `Development`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute/Description": [
            "Production",
            "Development"
          ]
        }
      }
    }
  ]
}
```

------

Kebijakan contoh berikut menggunakan kunci `ec2:Attribute` kondisi untuk memfilter akses berdasarkan properti **Atribut** primitif dari tindakan **ModifyImageAttribute**API. Kunci syarat menolak semua permintaan yang berusaha memodifikasi deskripsi citra.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute": "Description"
        }
      }
    }
  ]
}
```

------

### Kunci syarat ec2:ResourceID
<a name="imageId-key"></a>

Saat menggunakan kunci syarat `ec2:ResourceID` berikut dengan tindakan API tertentu, nilai kunci syarat digunakan untuk menentukan sumber daya yang dihasilkan yang dibuat oleh tindakan API. Kunci syarat `ec2:ResourceID` tidak dapat digunakan untuk menentukan sumber daya sumber yang ditentukan dalam permintaan API. Jika Anda menggunakan salah satu dari kunci syarat `ec2:ResourceID` berikut dengan API tertentu, maka Anda harus selalu menentukan wildcard (`*`). Jika Anda menentukan nilai yang berbeda, syarat tersebut selalu diselesaikan dengan `*` selama runtime. Misalnya, untuk menggunakan kunci `ec2:ImageId` kondisi dengan **CopyImage**API, maka Anda harus menentukan kunci kondisi sebagai berikut:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:ImageID": "*"
        }
      }
    }
  ]
}
```

------

Kami menyarankan Anda menghindari penggunaan kunci kondisi ini dengan tindakan API ini:
+ `ec2:DhcpOptionsID` – `CreateDhcpOptions`
+ `ec2:ImageID`—`CopyImage`,`CreateImage`,`ImportImage`, dan `RegisterImage`
+ `ec2:InstanceID`— `RunInstances` dan `ImportInstance`
+ `ec2:InternetGatewayID` – `CreateInternetGateway`
+ `ec2:NetworkAclID` – `CreateNetworkAcl`
+ `ec2:NetworkInterfaceID` – `CreateNetworkInterface`
+ `ec2:PlacementGroupName` – `CreatePlacementGroup`
+ `ec2:RouteTableID` – `CreateRouteTable`
+ `ec2:SecurityGroupID` – `CreateSecurityGroup`
+ `ec2:SnapshotID`—`CopySnapshot`,`CreateSnapshot`,`CreateSnapshots`, dan `ImportSnapshots`
+ `ec2:SubnetID` – `CreateSubnet`
+ `ec2:VolumeID`— `CreateVolume` dan `ImportVolume`
+ `ec2:VpcID` – `CreateVpc`
+ `ec2:VpcPeeringConnectionID` – `CreateVpcPeeringConnection`

Untuk memfilter akses berdasarkan sumber daya tertentu IDs, sebaiknya gunakan elemen `Resource` kebijakan sebagai berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-01234567890abcdef"
    }
  ]
}
```

------

### Kunci syarat ec2:SourceInstanceARN
<a name="SourceInstanceARN"></a>

Gunakan `ec2:SourceInstanceARN` untuk menentukan ARN dari instance dari mana permintaan dibuat. Ini adalah [kunci kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html), yang berarti Anda dapat menggunakannya dengan layanan selain Amazon EC2. Untuk contoh kebijakan, lihat[Contoh: Izinkan instance tertentu untuk melihat sumber daya di AWS layanan lain](ExamplePolicies_EC2.md#iam-example-source-instance).

## Kontrol akses menggunakan akses berbasis atribut
<a name="control-access-with-tags"></a>

Saat membuat kebijakan IAM yang memberikan izin kepada pengguna untuk menggunakan sumber daya EC2, Anda dapat menyertakan informasi tanda dalam elemen `Condition` dari kebijakan tersebut untuk mengontrol akses berdasarkan tanda. Hal ini dikenal sebagai kendali akses berbasis atribut (ABAC). ABAC memberikan Anda kendali yang lebih baik atas sumber daya mengenai sumber daya mana yang dapat diubah, digunakan, atau dihapus oleh seorang pengguna. Untuk informasi lebih lanjut, lihat [Apa fungsi ABAC untuk AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

Sebagai contoh, Anda dapat membuat kebijakan yang memungkinkan para pengguna untuk mengakhiri instans, tetapi menolak tindakan itu jika instans tersebut memiliki tanda `environment=production`. Untuk melakukan hal ini, Anda bisa menggunakan kunci syarat `aws:ResourceTag` untuk mengizinkan atau menolak akses ke sumber daya berdasarkan tanda yang dilampirkan pada sumber daya.

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

Untuk mempelajari apakah tindakan API Amazon EC2 mendukung kontrol akses menggunakan kunci syarat `aws:ResourceTag`, lihat [Tindakan, sumber daya, dan kunci syarat untuk Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html). Perhatikan bahwa tindakan `Describe` tidak mendukung izin tingkat sumber daya, sehingga Anda harus menentukannya dalam pernyataan terpisah yang tidak disertai syarat.

Untuk contoh kebijakan IAM, lihat [Contoh kebijakan untuk mengontrol akses API Amazon EC2](ExamplePolicies_EC2.md). 

Jika Anda mengizinkan atau menolak akses para pengguna ke sumber daya berdasarkan tanda, maka Anda harus mempertimbangkan untuk menolak secara eksplisit memberikan kemampuan kepada pengguna untuk menambahkan atau menghapus tanda tersebut dari sumber daya yang sama. Jika tidak, pengguna dapat mengakali pembatasan Anda dan mendapatkan akses atas sumber daya dengan melakukan modifikasi pada tanda dari sumber daya tersebut.

## Berikan izin kepada pengguna, grup, dan peran
<a name="granting-iam-permissions"></a>

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Memeriksa apakah pengguna memiliki izin yang diperlukan
<a name="check-required-permissions"></a>

Setelah Anda membuat kebijakan IAM, kami merekomendasikan agar Anda memeriksa apakah kebijakan itu memberikan izin kepada para pengguna untuk menggunakan tindakan API dan sumber daya tertentu yang mereka butuhkan sebelum Anda memasukkan kebijakan tersebut ke dalam produksi.

Pertama-tama, buatlah pengguna untuk tujuan pengujian, lalu lampirkan kebijakan IAM yang Anda buat tersebut ke pengguna pengujian. Kemudian, buatlah permintaan sebagai pengguna uji.

Jika tindakan Amazon EC2 yang Anda uji membuat atau memodifikasi sumber daya, maka Anda harus mengajukan permintaan menggunakan parameter `DryRun` (atau jalankan perintah AWS CLI dengan opsi `--dry-run`). Dalam hal ini, perintah akan menyelesaikan pemeriksaan otorisasi, tetapi tidak akan menyelesaikan operasi. Sebagai contoh, Anda dapat memeriksa apakah pengguna dapat mengakhiri instans tertentu tanpa benar-benar mengakhirinya. Jika pengguna uji tersebut memiliki izin yang diperlukan, maka permintaan itu akan menampilkan `DryRunOperation`; jika tidak, `UnauthorizedOperation` yang akan ditampilkan.

Jika kebijakan tersebut tidak memberikan izin kepada pengguna seperti yang Anda harapkan, atau terlalu longgar dalam memberikan izin, maka Anda dapat menyesuaikan kebijakan itu sesuai kebutuhan Anda dan menguji ulang hingga Anda mendapatkan hasil yang Anda inginkan. 

**penting**  
Pengujian ini dapat memakan waktu beberapa menit sebelum perubahan terjadi pada kebijakan untuk ditransmisikan sebelum diberlakukan. Oleh karena itu, kami merekomendasikan Anda memberikan waktu lima menit sebelum Anda menguji pembaruan kebijakan Anda.

Jika pemeriksaan otorisasi gagal, maka permintaan akan menampilkan informasi berenkode yang memuat informasi diagnostik. Anda dapat melakukan dekode pada pesan tersebut menggunakan tindakan `DecodeAuthorizationMessage`. Untuk informasi selengkapnya, lihat [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)di *Referensi AWS Security Token Service API*, dan [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html).