

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

# Memecahkan masalah IAM dan Amazon EC2
<a name="troubleshoot_iam-ec2"></a>

Informasi berikut dapat membantu Anda memecahkan masalah IAM dengan Amazon EC2.

**Topics**
+ [Ketika saya mencoba meluncurkan instance, saya tidak melihat peran dalam daftar Peran **IAM** konsol Amazon EC2](#troubleshoot_iam-ec2_missingrole)
+ [Kredensial pada instans saya untuk peran yang salah](#troubleshoot_iam-ec2_wrongrole)
+ [Saat saya mencoba memanggil `AddRoleToInstanceProfile`, saya mendapatkan kesalahan `AccessDenied`](#troubleshoot_iam-ec2_access-denied-adding-role)
+ [Amazon EC2: Ketika saya mencoba meluncurkan instance dengan peran, saya mendapatkan kesalahan `AccessDenied`](#troubleshoot_iam-ec2_access-denied-launch)
+ [Saya tidak dapat mengakses kredensial keamanan sementara di instans EC2 saya](#troubleshoot_iam-ec2_no-keys)
+ [Apa arti kesalahan dari dokumen `info` di subtree IAM?](#troubleshoot_iam-ec2_errors-info-doc)

## Ketika saya mencoba meluncurkan instance, saya tidak melihat peran dalam daftar Peran **IAM** konsol Amazon EC2
<a name="troubleshoot_iam-ec2_missingrole"></a>

Periksa hal-hal berikut:
+ Jika Anda masuk sebagai pengguna IAM, pastikan Anda memiliki izin untuk memanggil`ListInstanceProfiles`. Untuk informasi tentang izin yang diperlukan untuk bekerja dengan peran, lihat[Izin yang diperlukan untuk menggunakan peran dengan Amazon EC2](id_roles_use_switch-role-ec2.md#roles-usingrole-ec2instance-permissions). Untuk informasi tentang menambahkan izin ke pengguna, lihat [Kelola kebijakan IAM](access_policies_manage.md).

  Jika Anda tidak dapat mengubah izin Anda sendiri, Anda harus menghubungi administrator yang dapat bekerja dengan IAM untuk memperbarui izin Anda.
+ Jika Anda membuat peran menggunakan IAM CLI atau API, verifikasi hal berikut:
  + Anda membuat profil instance dan menambahkan peran ke profil instance tersebut.
  + Anda menggunakan nama yang sama untuk peran dan profil instance. Jika Anda memberi nama profil peran dan instans secara berbeda, Anda tidak akan melihat nama peran yang benar di konsol Amazon EC2.

  Daftar **Peran IAM** di konsol Amazon EC2 mencantumkan nama profil instans, bukan nama peran. Anda harus memilih nama profil instans yang berisi peran yang Anda inginkan. Untuk detail tentang profil instans, lihat [Gunakan profil contoh](id_roles_use_switch-role-ec2_instance-profiles.md).
**catatan**  
Jika Anda menggunakan konsol IAM untuk membuat peran, Anda tidak perlu bekerja dengan profil instans. Untuk setiap peran yang Anda buat di konsol IAM, profil instans dibuat dengan nama yang sama dengan peran tersebut, dan peran tersebut secara otomatis ditambahkan ke profil instans tersebut. Sebuah profil instans hanya dapat berisi satu peran IAM, dan batas itu tidak dapat ditingkatkan.

## Kredensial pada instans saya untuk peran yang salah
<a name="troubleshoot_iam-ec2_wrongrole"></a>

Peran dalam profil instans mungkin telah diganti baru-baru ini. Jika demikian, aplikasi Anda perlu menunggu rotasi kredensial terjadwal otomatis berikutnya sebelum kredensial untuk peran Anda tersedia.

Untuk memaksa perubahan, Anda harus [memisahkan profil instans](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html) dan kemudian [mengaitkan profil instans](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), atau Anda dapat menghentikan instance Anda lalu memulainya ulang.

## Saat saya mencoba memanggil `AddRoleToInstanceProfile`, saya mendapatkan kesalahan `AccessDenied`
<a name="troubleshoot_iam-ec2_access-denied-adding-role"></a>

Jika Anda membuat permintaan sebagai pengguna IAM, verifikasi bahwa Anda memiliki izin berikut:
+ `iam:AddRoleToInstanceProfile` dengan sumber daya yang cocok dengan ARN profil instans (misalnya, `arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile`). 

Untuk informasi selengkapnya tentang izin yang diperlukan untuk bekerja dengan peran, lihat[Bagaimana saya memulainya?](id_roles_use_switch-role-ec2.md#roles-usingrole-ec2instance-get-started). Untuk informasi tentang menambahkan izin ke pengguna, lihat [Kelola kebijakan IAM](access_policies_manage.md).

## Amazon EC2: Ketika saya mencoba meluncurkan instance dengan peran, saya mendapatkan kesalahan `AccessDenied`
<a name="troubleshoot_iam-ec2_access-denied-launch"></a>

Periksa hal-hal berikut:
+ Luncurkan instans tanpa profil instans. Hal ini akan membantu memastikan bahwa masalah terbatas pada peran IAM untuk instans Amazon EC2.
+ Jika Anda membuat permintaan sebagai pengguna IAM, verifikasi bahwa Anda memiliki izin berikut:
  + `ec2:RunInstances` dengan sumber daya wildcard ("\*")
  + `iam:PassRole` dengan sumber daya yang cocok dengan ARN peran (misalnya, `arn:aws:iam::999999999999:role/ExampleRoleName`)
+ Panggil tindakan `GetInstanceProfile` IAM untuk memastikan bahwa Anda menggunakan nama profil instans valid atau ARN profil instans valid. Untuk informasi lebih lanjut, lihat [ Menggunakan peran IAM dengan instans Amazon EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances).
+ Panggil tindakan `GetInstanceProfile` IAM untuk memastikan profil instans memiliki peran. Profil instans kosong akan gagal dengan kesalahan `AccessDenied`. Untuk informasi selengkapnya tentang membuat peran, lihat [Pembuatan peran IAM](id_roles_create.md).

Untuk informasi selengkapnya tentang izin yang diperlukan untuk bekerja dengan peran, lihat[Bagaimana saya memulainya?](id_roles_use_switch-role-ec2.md#roles-usingrole-ec2instance-get-started). Untuk informasi tentang menambahkan izin ke pengguna, lihat [Kelola kebijakan IAM](access_policies_manage.md). 

## Saya tidak dapat mengakses kredensial keamanan sementara di instans EC2 saya
<a name="troubleshoot_iam-ec2_no-keys"></a>

Untuk mengakses kredensial keamanan sementara pada instans EC2 Anda, Anda harus menggunakan konsol IAM terlebih dahulu untuk membuat peran. Kemudian Anda meluncurkan instans EC2 yang menggunakan peran tersebut dan memeriksa instans yang berjalan. Untuk informasi selengkapnya, lihat **Bagaimana Cara Memulai?** di [Menggunakan peran IAM untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2](id_roles_use_switch-role-ec2.md).

Jika Anda masih tidak dapat mengakses kredensial keamanan sementara Anda di instans EC2, periksa hal berikut:
+ Bisakah Anda mengakses bagian lain dari Layanan Metadata Instans (IMDS)? Jika tidak, periksa bahwa Anda tidak memiliki aturan firewall yang memblokir akses permintaan ke IMDS.

  ```
  [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/hostname; echo
  ```
+ Apakah ada subtree `iam` IMDS? Jika tidak, verifikasi bahwa instans Anda memiliki profil instans IAM yang terkait dengannya dengan memanggil operasi EC2 `DescribeInstances` API atau menggunakan perintah CLI`aws ec2 describe-instances`. 

  ```
  [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam; echo
  ```
+ Periksa kesalahan pada dokumen `info` di subtree IAM. Jika Anda memiliki kesalahan, lihat [Apa arti kesalahan dari dokumen `info` di subtree IAM?](#troubleshoot_iam-ec2_errors-info-doc) untuk informasi selengkapnya.

  ```
  [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam/info; echo
  ```

## Apa arti kesalahan dari dokumen `info` di subtree IAM?
<a name="troubleshoot_iam-ec2_errors-info-doc"></a>

### Dokumen `iam/info` berarti `"Code":"InstanceProfileNotFound"`
<a name="troubleshoot_iam-ec2_errors-info-doc-profile-not-found"></a>

Profil instans IAM Anda telah dihapus dan Amazon EC2 tidak dapat lagi memberikan kredensial ke instans Anda. Anda harus melampirkan profil instans yang valid ke instans Amazon EC2 Anda.

Jika ada profil instans dengan nama tersebut, periksa apakah profil instans tidak dihapus dan penggantinya dibuat dengan nama yang sama:

1. Panggil operasi `GetInstanceProfile` IAM untuk mendapatkan `InstanceProfileId`.

1. Panggil operasi `DescribeInstances` Amazon EC2 untuk mendapatkan `IamInstanceProfileId` untuk instans.

1. Verifikasi bahwa `InstanceProfileId` dari operasi IAM sesuai dengan `IamInstanceProfileId` dari operasi Amazon EC2.

Jika IDs berbeda, maka profil instance yang dilampirkan ke instance Anda tidak lagi valid. Anda harus melampirkan profil instans yang valid ke instans. 

### Dokumen `iam/info` menunjukkan keberhasilan tetapi juga menunjukkan `"Message":"Instance Profile does not contain a role..."`
<a name="troubleshoot_iam-ec2_errors-info-doc-no-role"></a>

Peran tersebut telah dihapus dari profil instans oleh tindakan `RemoveRoleFromInstanceProfile` IAM. Anda dapat menggunakan tindakan `AddRoleToInstanceProfile` IAM untuk melampirkan peran ke profil instans. Aplikasi Anda perlu menunggu hingga penyegaran yang terjadwal berikutnya untuk mengakses kredensial untuk peran tersebut. 

Untuk memaksa perubahan, Anda harus [memisahkan profil instans](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html) dan kemudian [mengaitkan profil instans](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), atau Anda dapat menghentikan instance Anda lalu memulainya ulang.

### Dokumen `iam/security-credentials/[role-name]` menunjukkan `"Code":"AssumeRoleUnauthorizedAccess"`
<a name="troubleshoot_iam-ec2_errors-info-doc-unauthorized-access"></a>

Amazon EC2 tidak memiliki izin untuk mengambil peran tersebut. Izin untuk mengambil peran tersebut dikendalikan oleh kebijakan kepercayaan yang terlampir pada peran tersebut, seperti contoh berikut. Gunakan API `UpdateAssumeRolePolicy` IAM untuk memperbarui kebijakan kepercayaan. 

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

****  

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

------

Aplikasi Anda perlu menunggu hingga penyegaran terjadwal otomatis berikutnya untuk mengakses kredensial untuk peran tersebut.

Untuk memaksa perubahan, Anda harus [memisahkan profil instans](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html) dan kemudian [mengaitkan profil instans](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), atau Anda dapat menghentikan instance Anda lalu memulainya ulang.