

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

# Memecahkan masalah IAM
<a name="troubleshoot"></a>

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki masalah umum saat Anda bekerja dengan AWS Identity and Access Management (IAM).

**Topics**
+ [Saya tidak bisa masuk ke AWS akun saya](#troubleshoot_general_cant-sign-in)
+ [Saya kehilangan access key saya](#troubleshoot_general_access-keys)
+ [Variabel kebijakan tidak berfungsi](#troubleshoot_general_policy-variables-dont-work)
+ [Perubahan yang saya buat tidak selalu langsung terlihat](#troubleshoot_general_eventual-consistency)
+ [Saya tidak berwenang untuk melakukan: iam: DeleteVirtual MFADevice](#troubleshoot_general_access-denied-delete-mfa)
+ [Bagaimana cara membuat pengguna IAM dengan aman?](#troubleshoot_general_securely-create-iam-users)
+ [Sumber daya tambahan](#troubleshoot_general_resources)
+ [Memecahkan masalah akses ditolak pesan kesalahan](troubleshoot_access-denied.md)
+ [Memecahkan masalah dengan pengguna root](troubleshooting_root-user.md)
+ [Memecahkan masalah kebijakan IAM](troubleshoot_policies.md)
+ [Memecahkan Masalah Kunci Sandi dan Kunci Keamanan FIDO](troubleshoot_mfa-fido.md)
+ [Memecahkan masalah peran IAM](troubleshoot_roles.md)
+ [Memecahkan masalah IAM dan Amazon EC2](troubleshoot_iam-ec2.md)
+ [Memecahkan masalah IAM dan Amazon S3](troubleshoot_iam-s3.md)
+ [Memecahkan masalah federasi SAMP dengan IAM](troubleshoot_saml.md)

## Saya tidak bisa masuk ke AWS akun saya
<a name="troubleshoot_general_cant-sign-in"></a>

Verifikasi bahwa Anda memiliki kredensial yang benar dan bahwa Anda menggunakan metode yang benar untuk masuk. *Untuk informasi selengkapnya, lihat [Memecahkan masalah login di Panduan](https://docs.aws.amazon.com/signin/latest/userguide/troubleshooting-sign-in-issues.html) Pengguna.AWS Sign-In *

## Saya kehilangan access key saya
<a name="troubleshoot_general_access-keys"></a>

Access key terdiri atas dua bagian:
+ **Pengidentifikasi kunci akses**. Ini bukan rahasia, dan dapat dilihat di konsol IAM di mana pun kunci akses dicantumkan, seperti di laman ringkasan pengguna.
+ **Kunci akses rahasia**. Ini tersedia saat Anda membuat pasangan access key di awal. Seperti kata sandi, kunci ini ***tidak dapat diambil lagi di lain waktu***. Jika Anda kehilangan secret access key, Anda harus membuat pasangan access key baru. Jika Anda sudah memiliki [jumlah maksimal access key](reference_iam-quotas.md#reference_iam-quotas-entities), Anda harus menghapus pasangan yang ada sebelum Anda dapat membuat yang lain.

Jika Anda kehilangan secret access key, Anda harus menghapus access key dan membuat access key baru. Untuk instruksi lebih lanjut, lihat[Perbarui kunci akses](id-credentials-access-keys-update.md).

## Variabel kebijakan tidak berfungsi
<a name="troubleshoot_general_policy-variables-dont-work"></a>

Jika variabel kebijakan Anda tidak berfungsi, salah satu kesalahan berikut telah terjadi:

**Tanggal salah dalam elemen kebijakan Versi.**  
Verifikasi bahwa semua kebijakan yang mencakup variabel menyertakan nomor versi berikut dalam kebijakan: `"Version": "2012-10-17"`. Tanpa nomor versi yang benar, variabel tidak diganti selama evaluasi. Alih-alih, variabel dievaluasi secara literal. Kebijakan yang tidak menyertakan variabel masih berfungsi saat Anda menyertakan nomor versi terbaru.  
Elemen kebijakan `Version` berbeda dari versi kebijakan. Elemen kebijakan `Version` digunakan dalam kebijakan dan menentukan versi bahasa kebijakan. Versi kebijakan dibuat saat Anda mengubah kebijakan yang dikelola pelanggan di IAM. Perubahan kebijakan tidak mengesampingkan kebijakan yang ada. Sebagai gantinya, IAM membuat versi baru dari kebijakan yang dikelola. Untuk mempelajari lebih lanjut tentang elemen kebijakan `Version`, lihat [Elemen kebijakan IAM JSON: Version](reference_policies_elements_version.md). Untuk mempelajari selengkapnya tentang versi kebijakan, lihat [Peningkatan versi IAM](access_policies_managed-versioning.md).

**Karakter variabel berada dalam kasus huruf yang salah.**  
Verifikasi bahwa variabel kebijakan Anda berada di kasus yang tepat. Lihat perinciannya di [Elemen kebijakan IAM: Variabel dan tag](reference_policies_variables.md).

## Perubahan yang saya buat tidak selalu langsung terlihat
<a name="troubleshoot_general_eventual-consistency"></a>

Sebagai layanan yang diakses melalui komputer di pusat data di seluruh dunia, IAM menggunakan model komputasi terdistribusi yang disebut [konsistensi akhir](https://wikipedia.org/wiki/Eventual_consistency). Setiap perubahan yang Anda buat di IAM (atau AWS layanan lainnya), termasuk tag [kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html), membutuhkan waktu untuk terlihat dari semua titik akhir yang mungkin. Beberapa hasil penundaan dari waktu yang diperlukan untuk mengirim data dari server ke server, zona replikasi ke zona replikasi, dan Wilayah ke Wilayah. IAM juga menggunakan caching untuk meningkatkan kinerja, tetapi dalam beberapa kasus ini dapat menambah waktu. Perubahan mungkin tidak terlihat sampai waktu data yang disimpan di-cache sebelumnya habis.

Anda harus merancang aplikasi global untuk memperhitungkan kemungkinan penundaan ini. Pastikan aplikasi bekerja sesuai harapan, bahkan ketika perubahan yang dilakukan di satu lokasi tidak secara langsung terlihat di lokasi lain. Perubahan tersebut mencakup membuat atau memperbarui pengguna, kelompok, peran, atau kebijakan. Kami menyarankan agar Anda tidak menyertakan perubahan IAM tersebut di jalur kode ketersediaan tinggi dan kritis dari aplikasi Anda. Sebaliknya, buat perubahan IAM dalam inisialisasi terpisah atau rutinitas pengaturan yang lebih jarang Anda lakukan. Selain itu, pastikan untuk memverifikasi bahwa perubahan telah disebar merata sebelum alur kerja produksi bergantung padanya. 

Untuk informasi lebih lanjut tentang bagaimana beberapa AWS layanan lain dipengaruhi oleh ini, lihat sumber daya berikut:
+ **Amazon DynamoDB**[: Baca](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) konsistensi di Panduan Pengembang *DynamoDB, dan Baca [Konsistensi di](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) Panduan Pengembang Amazon DynamoDB*.
+ **Amazon EC2***: Konsistensi Akhir [EC2 dalam Referensi API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-api-troubleshooting.html#eventual-consistency) Amazon EC2.*
+ **Amazon EMR**: [Memastikan Konsistensi Saat Menggunakan Amazon S3 dan Amazon EMR untuk Alur Kerja](https://aws.amazon.com/blogs/big-data/ensuring-consistency-when-using-amazon-s3-and-amazon-elastic-mapreduce-for-etl-workflows/) ETL di Blog Big Data AWS 
+ **Amazon Redshift**: [Mengelola Konsistensi Data dalam Panduan](https://docs.aws.amazon.com/redshift/latest/dg/managing-data-consistency.html) Pengembang *Basis Data Amazon Redshift*
+ **Amazon S3: Model** [Konsistensi Data Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/Welcome.html#ConsistencyModel) Pengguna Layanan *Penyimpanan Sederhana Amazon*

## Saya tidak berwenang untuk melakukan: iam: DeleteVirtual MFADevice
<a name="troubleshoot_general_access-denied-delete-mfa"></a>

Anda mungkin menerima kesalahan berikut saat mencoba menugaskan atau menghapus perangkat MFA virtual untuk diri sendiri atau orang lain:

```
User: arn:aws:iam::123456789012:user/Diego is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::123456789012:mfa/Diego with an explicit deny
```

Hal ini dapat terjadi jika sebelumnya seseorang menugaskan perangkat MFA virtual ke pengguna di konsol IAM dan kemudian membatalkan proses. Ini menciptakan perangkat MFA virtual untuk pengguna di IAM tetapi tidak pernah menetapkannya kepada pengguna. Hapus perangkat MFA virtual yang ada sebelum Anda membuat perangkat MFA virtual baru dengan nama perangkat yang sama.

Untuk mengatasi masalah ini, administrator seharusnya **tidak** mengedit izin kebijakan. Sebagai gantinya, administrator harus menggunakan AWS API AWS CLI atau untuk menghapus perangkat MFA virtual yang ada tetapi tidak ditetapkan.

**Untuk menghapus perangkat MFA virtual yang ada tetapi tidak ditetapkan**

1. Lihat perangkat MFA virtual di akun Anda.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html)
   + AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html)

1. Sebagai tanggapan, cari ARN perangkat MFA virtual untuk pengguna yang Anda coba perbaiki.

1. Hapus perangkat MFA virtual.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html)
   + AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html)

## Bagaimana cara membuat pengguna IAM dengan aman?
<a name="troubleshoot_general_securely-create-iam-users"></a>

Jika Anda memiliki karyawan yang memerlukan akses ke AWS, Anda dapat memilih untuk membuat pengguna IAM atau [menggunakan IAM Identity Center untuk](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) otentikasi. Jika Anda menggunakan IAM, AWS merekomendasikan agar Anda membuat pengguna IAM dan mengomunikasikan kredensialnya dengan aman kepada karyawan. Jika Anda tidak berada di sebelah karyawan Anda secara fisik, gunakan alur kerja yang aman untuk memberi tahu kredensialnya kepada karyawan.

Gunakan alur kerja aman berikut untuk membuat pengguna baru di IAM:

1. [Buat pengguna baru](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) menggunakan Konsol Manajemen AWS. Pilih untuk memberikan Konsol Manajemen AWS akses dengan kata sandi yang dihasilkan. Jika perlu, pilih kotak centang **Users must create a new password at next sign-in**(Pengguna harus membuat kata sandi baru saat masuk berikutnya). Jangan tambahkan kebijakan izin ke pengguna sampai setelah mereka mengubah sandi mereka.

1. Setelah pengguna ditambahkan, salin URL masuk, nama pengguna, dan sandi untuk pengguna baru. Untuk melihat kata sandi, pilih **Show** (Tampilkan).

1. Kirim kata sandi ke karyawan Anda menggunakan metode komunikasi yang aman di perusahaan Anda, seperti email, obrolan, atau sistem tiket. Secara terpisah, berikan pengguna Anda tautan konsol pengguna IAM dan nama pengguna mereka. Beri tahu karyawan untuk mengonfirmasi bahwa mereka dapat berhasil masuk sebelum Anda memberikan izin kepada karyawan tersebut.

1. Setelah karyawan mengonfirmasi, tambahkan izin yang mereka perlukan. Sebagai praktik terbaik keamanan, tambahkan kebijakan yang mengharuskan pengguna mengautentikasi menggunakan MFA untuk mengelola kredensialnya. Untuk contoh kebijakan, lihat [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage.md).

## Sumber daya tambahan
<a name="troubleshoot_general_resources"></a>

Sumber daya berikut dapat membantu Anda memecahkan masalah saat Anda bekerja dengannya. AWS
+ **[AWS CloudTrail Panduan Pengguna](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)** — Gunakan AWS CloudTrail untuk melacak riwayat panggilan API yang dilakukan AWS dan menyimpan informasi tersebut dalam file log. Ini membantu Anda menentukan pengguna dan akun mana yang mengakses sumber daya di akun Anda, kapan panggilan dilakukan, tindakan apa yang diminta, dan banyak lagi. Untuk informasi selengkapnya, lihat [Mencatat panggilan IAM dan AWS STS API dengan AWS CloudTrail](cloudtrail-integration.md).
+ **[AWS Pusat Pengetahuan](https://aws.amazon.com/premiumsupport/knowledge-center/)** — Temukan FAQs dan tautkan ke sumber daya lain untuk membantu Anda memecahkan masalah.
+ **[AWS Support Center](https://console.aws.amazon.com/support/home#/)** - Dapatkan dukungan teknis.
+ **[AWS Premium Support Center](https://aws.amazon.com/premiumsupport/)** - Dapatkan dukungan teknis premium.

# Memecahkan masalah akses ditolak pesan kesalahan
<a name="troubleshoot_access-denied"></a>

Informasi berikut dapat membantu Anda mengidentifikasi, mendiagnosis, dan menyelesaikan kesalahan akses yang ditolak AWS Identity and Access Management. Kesalahan akses ditolak muncul ketika AWS secara eksplisit atau implisit menolak permintaan otorisasi.
+ *Penolakan eksplisit* terjadi ketika kebijakan berisi `Deny` pernyataan untuk tindakan tertentu AWS .
+ *Penolakan implisit* terjadi ketika tidak ada pernyataan yang berlaku dan juga tidak ada `Deny` pernyataan yang berlaku`Allow`. Karena kebijakan IAM menyangkal prinsip IAM secara default, kebijakan tersebut harus secara eksplisit mengizinkan prinsipal untuk melakukan suatu tindakan. Jika tidak, kebijakan tersebut secara implisit menolak akses. Untuk informasi selengkapnya, lihat [Perbedaan antara penolakan tegas dan implisit.](reference_policies_evaluation-logic_AccessPolicyLanguage_Interplay.md).

Saat Anda mengajukan permintaan ke layanan atau sumber daya, beberapa kebijakan mungkin berlaku untuk permintaan tersebut. Tinjau semua kebijakan yang berlaku selain kebijakan yang ditentukan dalam pesan kesalahan.
+ Jika beberapa kebijakan dari jenis kebijakan yang sama menolak permintaan, pesan kesalahan akses ditolak tidak menentukan jumlah kebijakan yang dievaluasi.
+ Jika beberapa jenis kebijakan menolak permintaan otorisasi, hanya AWS menyertakan salah satu jenis kebijakan tersebut dalam pesan kesalahan.

**penting**  
**Mengalami masalah saat masuk AWS?** Pastikan Anda berada di [halaman masuk AWS](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html) yang benar untuk jenis pengguna Anda. Jika Anda adalah Pengguna root akun AWS (pemilik akun), Anda dapat masuk AWS menggunakan kredenal yang Anda atur saat membuat. Akun AWS Jika Anda adalah pengguna IAM, administrator akun Anda dapat memberi Anda kredensi AWS masuk. Jika Anda perlu meminta dukungan, jangan gunakan tautan umpan balik di halaman ini. Formulir diterima oleh tim AWS Dokumentasi, bukan Dukungan. Sebagai gantinya, pada halaman [Hubungi Kami](https://aws.amazon.com/contact-us/) pilih **Masih tidak dapat masuk ke AWS akun Anda** dan kemudian pilih salah satu opsi dukungan yang tersedia.

## Saya mendapatkan “akses ditolak” ketika saya mengajukan permintaan ke AWS layanan
<a name="troubleshoot_general_access-denied-service"></a>
+ Periksa apakah pesan kesalahan menyertakan jenis dan [Nama Sumber Daya Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) dari kebijakan yang bertanggung jawab untuk menolak akses. Jika ini masalahnya, maka periksa pernyataan penolakan untuk tindakan dalam kebijakan yang ditentukan. Jika jenis kebijakan disediakan tetapi tidak ada ARN kebijakan, maka fokuslah pada pemecahan masalah untuk jenis kebijakan tersebut: Periksa pernyataan penolakan untuk tindakan dalam kebijakan jenis yang ditentukan. Jika pesan kesalahan tidak menyebutkan jenis kebijakan yang bertanggung jawab untuk menolak akses, gunakan pedoman lainnya di bagian ini untuk memecahkan masalah lebih lanjut.
+ Pastikan bahwa Anda memiliki izin kebijakan berbasis identitas untuk memanggil tindakan dan sumber daya yang Anda minta. Jika ada kondisi yang ditetapkan, Anda juga harus memenuhi kondisi tersebut saat mengirimkan permintaan. Untuk informasi tentang melihat atau mengubah kebijakan untuk pengguna, grup, atau peran IAM, lihat [Kelola kebijakan IAM](access_policies_manage.md).
+ Jika Konsol Manajemen AWS mengembalikan pesan yang menyatakan bahwa Anda tidak berwenang untuk melakukan tindakan, maka Anda harus menghubungi administrator Anda untuk bantuan. Administrator memberi Anda kredensial masuk atau tautan masuk.

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

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

  Dalam hal ini, Mateo harus meminta administratornya untuk memperbarui kebijakannya untuk mengizinkan mengakses ke sumber daya `my-example-widget` menggunakan tindakan `widgets:GetWidget`.
+ Apakah Anda mencoba mengakses layanan yang mendukung [kebijakan berbasis sumber daya](access_policies_identity-vs-resource.md), seperti Amazon S3, Amazon SNS, atau Amazon SQS? Jika ya, verifikasikan bahwa kebijakan tersebut menetapkan Anda sebagai penanggung jawab dan memberi Anda akses. Jika Anda mengajukan permintaan ke layanan di dalam akun Anda, kebijakan berbasis identitas atau kebijakan berbasis sumber daya dapat memberikan izin kepada Anda. Jika Anda membuat permintaan layanan di akun yang berbeda, maka kebijakan berbasis identitas dan kebijakan berbasis sumber daya Anda harus memberi Anda izin. Untuk melihat layanan yang mendukung kebijakan berbasis sumber daya, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md).
+ Jika kebijakan Anda menyertakan kondisi dengan pasangan nilai kunci, tinjau dengan cermat. Contohnya termasuk kunci kondisi [`aws:RequestTag/tag-key`](reference_policies_condition-keys.md)global, kunci kondisi AWS KMS [kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context](kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context), dan kunci `ResourceTag/tag-key` kondisi yang didukung oleh beberapa layanan. Pastikan bahwa nama kunci tidak cocok dengan beberapa hasil. Karena nama kunci kondisi tidak peka huruf besar/kecil, kondisi yang memeriksa kunci bernama `foo` cocok dengan `foo`, `Foo`, atau `FOO`. Jika permintaan Anda menyertakan beberapa pasangan kunci-nilai dengan nama kunci yang hanya berbeda menurut kasus, akses Anda mungkin akan ditolak secara tak terduga. Untuk informasi selengkapnya, lihat [Elemen kebijakan IAM JSON: Condition](reference_policies_elements_condition.md).
+ Jika Anda memiliki [batas izin](access_policies_boundaries.md), verifikasikan bahwa kebijakan yang digunakan untuk batas izin memungkinkan permintaan Anda. Jika kebijakan berbasis identitas Anda mengizinkan permintaan, tetapi batas izin Anda tidak, maka permintaan ditolak. Batas izin mengontrol izin maksimum yang dapat dimiliki penanggung jawab IAM (pengguna atau peran). Kebijakan berbasis sumber daya tidak terbatas oleh batasan izin. Batas izin bukanlah hal yang umum. Untuk informasi selengkapnya tentang cara AWS mengevaluasi kebijakan, lihat[Logika evaluasi kebijakan](reference_policies_evaluation-logic.md).
+ Jika Anda menandatangani permintaan secara manual (tanpa menggunakan [AWS SDKs](https://aws.amazon.com/developer/tools/)), verifikasi bahwa Anda telah [menandatangani permintaan](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) dengan benar.
+ Jika Anda menggunakan [kebijakan titik akhir VPC Amazon](https://docs.aws.amazon.com//vpc/latest/privatelink/vpc-endpoints-access.html) dan Anda mendapatkan kesalahan akses ditolak yang tidak masuk AWS CloudTrail, itu mungkin karena akun pemilik titik akhir VPC berbeda dari akun panggilan atau akun peran target.

## Saya mendapatkan “akses ditolak” ketika saya membuat permintaan dengan kredensial keamanan sementara
<a name="troubleshoot_general_access-denied-temp-creds"></a>
+ Pertama, pastikan bahwa akses Anda tidak ditolak karena alasan yang tidak terkait dengan kredensial sementara Anda. Untuk informasi selengkapnya, lihat [Saya mendapatkan “akses ditolak” ketika saya mengajukan permintaan ke AWS layanan](#troubleshoot_general_access-denied-service).
+ Verifikasi bahwa layanan menerima kredensial keamanan sementara, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md).
+ Verifikasi bahwa permintaan Anda ditandatangani dengan benar dan bahwa permintaan tersebut memiliki bentuk yang baik. Untuk detailnya, lihat dokumentasi [toolkit](https://aws.amazon.com/developer/tools/) atau [Gunakan kredensi sementara dengan sumber daya AWS](id_credentials_temp_use-resources.md) Anda.
+ Verifikasikan bahwa kredensial keamanan sementara Anda belum kedaluwarsa. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](id_credentials_temp.md). 
+ Verifikasi bahwa pengguna atau peran IAM memiliki izin yang benar. Izin untuk kredensial keamanan sementara berasal dari pengguna atau peran IAM. Akibatnya, izin dibatasi untuk mereka yang diberikan peran yang kredensial sementaranya telah Anda gunakan. Untuk informasi selengkapnya tentang bagaimana izin untuk kredensial keamanan sementara ditentukan, lihat [Izin untuk kredensial keamanan sementara](id_credentials_temp_control-access.md).
+ Jika Anda mengambil peran, sesi peran Anda mungkin dibatasi oleh kebijakan sesi. [Jika Anda [meminta kredenal keamanan sementara](id_credentials_temp_request.md) secara terprogram AWS STS, Anda dapat meneruskan kebijakan sesi inline atau terkelola secara opsional.](access_policies.md#policies_session) Kebijakan sesi adalah kebijakan lanjutan yang Anda sampaikan sebagai parameter saat Anda secara terprogram membuat sesi kredensial sementara untuk peran. Anda dapat menyampaikan satu dokumen kebijakan sesi inline JSON menggunakan parameter `Policy`. Anda dapat menggunakan parameter `PolicyArns` untuk menentukan hingga 10 kebijakan sesi terkelola. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas dan kebijakan sesi peran. Selain itu, jika administrator Anda atau program khusus memberi Anda kredensial sementara, mereka mungkin telah menyertakan kebijakan sesi untuk membatasi akses Anda.
+ Jika Anda adalah prinsipal pengguna AWS STS federasi, sesi Anda mungkin dibatasi oleh kebijakan sesi. Anda membuat sesi pengguna federasi dengan masuk AWS sebagai pengguna IAM dan kemudian meminta token federasi. Untuk informasi selengkapnya, lihat [Meminta kredensi melalui pialang identitas khusus](id_credentials_temp_request.md#api_getfederationtoken). Jika Anda atau pialang identitas Anda menyampaikan kebijakan sesi sambil meminta token federasi, maka sesi Anda akan dibatasi oleh kebijakan tersebut. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas pengguna IAM dan kebijakan sesi. Untuk informasi selengkapnya tentang kebijakan sesi, lihat [Kebijakan sesi](access_policies.md#policies_session).
+ Jika Anda mengakses sumber daya yang memiliki kebijakan berbasis sumber daya dengan menggunakan peran, verifikasi bahwa kebijakan tersebut memberikan izin untuk peran tersebut. Misalnya, kebijakan berikut memungkinkan `MyRole` dari akun `111122223333` untuk mengakses `amzn-s3-demo-bucket`.

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

****  

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

------

## Akses Pemecah Masalah
<a name="access-troubleshooter"></a>

**catatan**  
Access Troubleshooter secara bertahap menjadi tersedia untuk semua AWS layanan di semua wilayah untuk akun tunggal dan skenario organisasi tunggal. Kekayaan data akan berkembang.

Anda dapat menggunakan Pemecah Masalah Akses untuk men-debug dan mengatasi kesalahan akses yang ditolak.

Access Troubleshooter menyediakan kemampuan berikut:
+ [Lihat detail permintaan dan evaluasi](#access-troubleshooter-request-details): pokok, tindakan, sumber daya, konteks, dan hasil evaluasi.
+ [Lihat evaluasi otorisasi individu](#access-troubleshooter-individual-evaluation): evaluasi otorisasi untuk tindakan individu dan pasangan sumber daya.
+ [Tinjau semua kebijakan dan pernyataan masing-masing](#access-troubleshooter-policy-statements): semua kebijakan yang dievaluasi dan pernyataan masing-masing, dengan hasil evaluasi untuk masing-masing.

### Izin untuk Pemecah Masalah Akses
<a name="access-troubleshooter-permissions"></a>

Untuk menggunakan Pemecah Masalah Akses, Anda harus memiliki `iam:TroubleshootAccess` izin yang dilampirkan ke kepala sekolah Anda. Mengizinkan tindakan ini berarti Anda mengizinkan prinsipal untuk melihat semua detail konteks otorisasi, termasuk kunci konteks dan pernyataan semua kebijakan yang dievaluasi.

Contoh kebijakan berikut memberikan izin yang diperlukan:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:TroubleshootAccess",
            "Resource": "*"
        }
    ]
}
```

### Menggunakan Pemecah Masalah Akses
<a name="access-troubleshooter-using"></a>

Ketika Anda menerima kesalahan akses ditolak, pesan kesalahan menyertakan tautan dan AuthorizationId yang dapat Anda gunakan dengan Pemecah Masalah Akses. Contoh berikut menunjukkan pesan kesalahan akses ditolak:

```
An error occurred (AccessDenied) when calling the RestoreTableFromBackup operation: User: arn:aws:sts:012345678901:assumedRole/DatabaseDev/RestoreBackupSession is not authorized to perform: dynamodb:RestoreTableFromBackup with an explicit deny in an identity policy. Go to https://console.aws.amazon.com/iam/home#/access-troubleshooter for complete details, or call the iam:GetAuthorizationDetails API with the following authorization id: 67f1576b-af29-4c66-9b2b-10fd67516713
```

Jika Anda memiliki izin yang sesuai, di konsol Anda dapat memilih **Troubleshoot di IAM** untuk membuka tab Pemecah Masalah Akses baru.

Atau, Anda dapat memanggil `iam:GetAuthorizationDetails` API menggunakan AuthorizationId:

```
aws iam get-authorization-details --authorization-id 67f1576b-af29-4c66-9b2b-10fd67516713
```

Jika Anda seorang administrator dan pengembang menyediakan AuthorizationId, Anda dapat pergi ke konsol IAM dan memasukkan AuthorizationId untuk mengambil detail konteks otorisasi.

### Lihat detail permintaan dan evaluasi
<a name="access-troubleshooter-request-details"></a>

Access Troubleshooter memberikan rincian permintaan Anda yang dipertimbangkan dalam evaluasi. Anda dapat meninjau operasi atau panggilan API yang Anda coba, ID Otorisasi, kepala sekolah yang melakukan panggilan, sumber daya yang Anda coba akses, dan hasil evaluasi.

### Lihat evaluasi otorisasi individu
<a name="access-troubleshooter-individual-evaluation"></a>

Agar berhasil memanggil operasi, Anda mungkin memerlukan izin tambahan untuk melakukan tindakan dependen. Misalnya, untuk melakukan `RestoreTableFromBackup` di DynamoDB, Anda memerlukan izin `dynamodb:BatchWriteItem` untuk,,`dynamodb:DeleteItem`,,, `dynamodb:GetItem``dynamodb:PutItem`, `dynamodb:Query` dan. `dynamodb:Scan` `dynamodb:UpdateItem` Tindakan ini dievaluasi terhadap sumber daya yang ingin Anda akses. Untuk informasi selengkapnya, lihat [Referensi Otorisasi Layanan](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).

### Tinjau semua kebijakan dan pernyataan masing-masing
<a name="access-troubleshooter-policy-statements"></a>

Dalam banyak kasus, beberapa kebijakan memengaruhi otorisasi Anda, dan setiap kebijakan dapat berisi beberapa pernyataan. Access Troubleshooter mencantumkan semua kebijakan yang dievaluasi saat Anda melakukan operasi. Anda dapat meninjau pernyataan individual dalam kebijakan tersebut dan hasil evaluasi untuk masing-masing, memberi Anda pandangan lengkap untuk menyelesaikan masalah secara efisien.

## Akses ditolak contoh pesan kesalahan
<a name="access-denied-error-examples"></a>

Sebagian besar pesan kesalahan akses ditolak muncul dalam format`User user is not authorized to perform action on resource because context`. Dalam contoh ini, *user* adalah ARN dari kepala sekolah yang ditolak aksesnya, *action* adalah tindakan layanan yang ditolak kebijakan, dan *resource* merupakan ARN dari sumber daya tempat kebijakan tersebut bertindak. *context*Kolom menyediakan konteks tambahan tentang jenis kebijakan yang menolak akses. Dalam beberapa kasus, itu juga berisi ARN kebijakan yang menolak akses.

Ketika kebijakan secara eksplisit menolak akses karena kebijakan berisi `Deny` pernyataan, maka AWS sertakan frasa `with an explicit deny in a type policy` dalam pesan kesalahan akses ditolak. Frasa ini juga dapat menentukan ARN kebijakan, sebagai berikut:. `with an explicit deny in a type policy: policy ARN`

Ketika kebijakan secara implisit menolak akses, maka AWS sertakan frasa `because no type policy allows the action action` dalam pesan kesalahan akses ditolak.

**catatan**  
Beberapa AWS layanan tidak mendukung akses ini ditolak format pesan kesalahan. Isi pesan kesalahan akses ditolak dapat bervariasi tergantung pada layanan yang membuat permintaan otorisasi.

Contoh berikut menunjukkan format untuk berbagai jenis pesan kesalahan akses ditolak.

### Akses ditolak karena kebijakan kontrol layanan — penolakan implisit
<a name="access-denied-scp-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan kontrol layanan Anda (SCPs). Untuk contoh berikut, tindakannya adalah`codecommit:ListRepositories`.

1. Perbarui SCP Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Memperbarui SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) di *Panduan AWS Organizations Pengguna*.

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
because no service control policy allows the codecommit:ListRespositories action
```

### Akses ditolak karena kebijakan kontrol layanan — penolakan eksplisit
<a name="access-denied-scp-examples-explicit"></a>

1. Jika kebijakan ARN disediakan dalam pesan kesalahan, periksa `Deny` pernyataan untuk tindakan dalam kebijakan kontrol layanan tertentu (SCP). Pada contoh di bawah ini, tindakannya adalah`codecommit:ListRepositories`.

1. Jika tidak ada kebijakan ARN yang disediakan dalam pesan kesalahan, periksa `Deny` pernyataan untuk tindakan di Anda. SCPs

1. Perbarui SCP Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Memperbarui kebijakan kontrol layanan (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy) di *Panduan AWS Organizations Pengguna*.

Pesan galat dengan kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
with an explicit deny in a service control policy: arn:aws:organizations::777788889999:policy/o-exampleorgid/service_control_policy/p-examplepolicyid123
```

Pesan galat tanpa kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
with an explicit deny in a service control policy
```

### Akses ditolak karena kebijakan kontrol sumber daya — penolakan eksplisit
<a name="access-denied-rcp-examples-explicit"></a>

1. Jika ARN kebijakan disediakan dalam pesan galat, periksa `Deny` pernyataan untuk tindakan dalam kebijakan kontrol sumber daya tertentu (RCP). Pada contoh di bawah ini, tindakannya adalah`secretsmanager:GetSecretValue`.

1. Jika tidak ada kebijakan ARN yang disediakan dalam pesan kesalahan, periksa `Deny` pernyataan untuk tindakan di Anda. RCPs

1. Perbarui RCP Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Memperbarui kebijakan kontrol sumber daya (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy-rcp) di *Panduan AWS Organizations Pengguna*.

Pesan galat dengan kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:*
with an explicit deny in a resource control policy: arn:aws:organizations::777788889999:policy/o-exampleorgid/resource_control_policy/p-examplepolicyid456
```

Pesan galat tanpa kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:*
with an explicit deny in a resource control policy
```

### Akses ditolak karena kebijakan titik akhir VPC — penolakan implisit
<a name="access-denied-vpc-endpoint-examples-implicit.title"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan titik akhir Virtual Private Cloud (VPC) Anda. Untuk contoh berikut, tindakannya adalah`codecommit:ListRepositories`.

1. Perbarui kebijakan titik akhir VPC Anda dengan menambahkan pernyataan. `Allow` *Untuk informasi selengkapnya, lihat [Memperbarui kebijakan titik akhir VPC di Panduan](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy).AWS PrivateLink *

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
because no VPC endpoint policy allows the codecommit:ListRepositories action
```

### Akses ditolak karena kebijakan titik akhir VPC — penolakan eksplisit
<a name="access-denied-vpc-endpoint-examples-explicit.title"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan titik akhir Virtual Private Cloud (VPC) Anda. Untuk contoh berikut, tindakannya adalah`codedeploy:ListDeployments`.

1. Perbarui kebijakan titik akhir VPC Anda dengan menghapus pernyataan. `Deny` *Untuk informasi selengkapnya, lihat [Memperbarui kebijakan titik akhir VPC di Panduan](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy).AWS PrivateLink *

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in a VPC endpoint policy
```

### Akses ditolak karena batas izin — penolakan implisit
<a name="access-denied-permissions-boundary-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan di batas izin Anda. Untuk contoh berikut, tindakannya adalah`codedeploy:ListDeployments`.

1. Perbarui batas izin Anda dengan menambahkan `Allow` pernyataan ke kebijakan IAM Anda. Untuk informasi selengkapnya, lihat [Batas izin untuk entitas IAM](access_policies_boundaries.md) dan [Edit kebijakan IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
because no permissions boundary allows the codedeploy:ListDeployments action
```

### Akses ditolak karena batas izin — penolakan eksplisit
<a name="access-denied-permissions-boundary-examples-explicit"></a>

1. Jika ARN kebijakan disediakan dalam pesan galat, periksa `Deny` pernyataan untuk tindakan di batas izin yang ditentukan. Pada contoh di bawah ini, tindakannya adalah`sagemaker:ListModels`.

1. Jika tidak ada kebijakan ARN yang disediakan dalam pesan kesalahan, periksa `Deny` pernyataan untuk tindakan di batas izin yang dilampirkan pada prinsipal. 

1. Perbarui batas izin Anda dengan menghapus `Deny` pernyataan dari kebijakan IAM Anda. Untuk informasi selengkapnya, lihat [Batas izin untuk entitas IAM](access_policies_boundaries.md) dan [Edit kebijakan IAM](access_policies_manage-edit.md).

Pesan galat dengan kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sagemaker:ListModels
with an explicit deny in a permissions boundary: arn:aws:iam::123456789012:policy/DeveloperPermissionBoundary
```

Pesan galat tanpa kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sagemaker:ListModels
with an explicit deny in a permissions boundary
```

### Akses ditolak karena kebijakan sesi — penolakan implisit
<a name="access-denied-session-policy-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan sesi Anda. Untuk contoh berikut, tindakannya adalah`codecommit:ListRepositories`.

1. Perbarui kebijakan sesi Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dan[Edit kebijakan IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
because no session policy allows the codecommit:ListRepositories action
```

### Akses ditolak karena kebijakan sesi — penolakan eksplisit
<a name="access-denied-session-policy-examples-explicit"></a>

1. Jika kebijakan ARN disediakan dalam pesan galat, periksa `Deny` pernyataan untuk tindakan dalam kebijakan sesi yang ditentukan. Pada contoh di bawah ini, tindakannya adalah`codedeploy:ListDeployments`.

1. Jika tidak ada kebijakan ARN yang disediakan dalam pesan kesalahan, periksa `Deny` pernyataan untuk tindakan dalam kebijakan sesi Anda.

1. Perbarui kebijakan sesi Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dan[Edit kebijakan IAM](access_policies_manage-edit.md).

Pesan galat dengan kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in a session policy: arn:aws:iam::123456789012:policy/DeveloperSessionPolicy
```

Pesan galat tanpa kebijakan ARN:

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in a session policy
```

### Akses ditolak karena kebijakan berbasis sumber daya — penolakan implisit
<a name="access-denied-resource-based-policy-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan berbasis sumber daya Anda. Untuk contoh berikut, tindakannya adalah`secretsmanager:GetSecretValue`.

1. Perbarui kebijakan Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) dan. [Edit kebijakan IAM](access_policies_manage-edit.md)

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
because no resource-based policy allows the secretsmanager:GetSecretValue action
```

### Akses ditolak karena kebijakan berbasis sumber daya — penolakan eksplisit
<a name="access-denied-resource-based-policy-examples-explicit"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan berbasis sumber daya Anda. Untuk contoh berikut, tindakannya adalah`secretsmanager:GetSecretValue`.

1. Perbarui kebijakan Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) dan. [Edit kebijakan IAM](access_policies_manage-edit.md)

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:*
with an explicit deny in a resource-based policy
```

### Akses ditolak karena kebijakan kepercayaan peran — penolakan implisit
<a name="access-denied-role-trust-policy-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan kepercayaan peran Anda. Untuk contoh berikut, tindakannya adalah`sts:AssumeRole`.

1. Perbarui kebijakan Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) dan. [Edit kebijakan IAM](access_policies_manage-edit.md)

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sts:AssumeRole
because no role trust policy allows the sts:AssumeRole action
```

### Akses ditolak karena kebijakan kepercayaan peran — penolakan eksplisit
<a name="access-denied-role-trust-policy-examples-explicit"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan kepercayaan peran Anda. Untuk contoh berikut, tindakannya adalah`sts:AssumeRole`.

1. Perbarui kebijakan Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) dan. [Edit kebijakan IAM](access_policies_manage-edit.md)

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sts:AssumeRole
with an explicit deny in the role trust policy
```

### Akses ditolak karena kebijakan berbasis identitas — penolakan implisit
<a name="access-denied-identity-based-policy-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan berbasis identitas yang dilampirkan pada identitas. Untuk contoh berikut, tindakan `codecommit:ListRepositories` dilampirkan pada peran`HR`.

1. Perbarui kebijakan Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan berbasis identitas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) dan. [Edit kebijakan IAM](access_policies_manage-edit.md)

```
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codecommit:ListRepositories
because no identity-based policy allows the codecommit:ListRepositories action
```

### Akses ditolak karena kebijakan berbasis identitas — penolakan eksplisit
<a name="access-denied-identity-based-policy-examples-explicit"></a>

1. Jika kebijakan ARN disediakan dalam pesan galat, periksa `Deny` pernyataan untuk tindakan dalam kebijakan yang ditentukan. Pada contoh di bawah ini, tindakannya adalah`codedeploy:ListDeployments`.

1. Jika tidak ada kebijakan ARN yang disediakan dalam pesan kesalahan, periksa `Deny` pernyataan untuk tindakan dalam kebijakan berbasis identitas yang dilampirkan pada identitas. 

1. Perbarui kebijakan Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan berbasis identitas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) dan. [Edit kebijakan IAM](access_policies_manage-edit.md)

Pesan galat dengan kebijakan ARN:

```
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in an identity-based policy: arn:aws:iam::123456789012:policy/HRAccessPolicy
```

Pesan galat tanpa kebijakan ARN:

```
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in an identity-based policy
```

# Memecahkan masalah dengan pengguna root
<a name="troubleshooting_root-user"></a>

Gunakan informasi di sini untuk membantu Anda memecahkan masalah yang terkait dengan pengguna root. Akun AWS

**catatan**  
Akun AWS dikelola menggunakan AWS Organizations mungkin memiliki [akses root terpusat](id_root-user.md#id_root-user-access-management) yang diaktifkan untuk akun anggota. Akun anggota ini tidak memiliki kredensi pengguna root, tidak dapat masuk sebagai pengguna root, dan dicegah memulihkan kata sandi pengguna root. Hubungi administrator Anda jika Anda perlu melakukan tugas yang memerlukan kredensi pengguna root.

## Saya tidak dapat melakukan tugas yang saya harapkan dapat dilakukan saat masuk sebagai pengguna root akun
<a name="troubleshooting_root-user_tasks"></a>

Akun Anda mungkin anggota organisasi di AWS Organizations. Administrator organisasi Anda mungkin memiliki kebijakan kontrol layanan (SCP) untuk membatasi izin akun Anda. SCPs berdampak pada semua pengguna, termasuk pengguna root. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_type-auth.html) dalam *Panduan Pengguna AWS Organizations *.

## Saya lupa kata sandi pengguna root untuk saya Akun AWS
<a name="troubleshoot-forgot-root-password"></a>

Jika Anda adalah pengguna root dan Anda telah kehilangan atau lupa kata sandi untuk Anda Akun AWS, Anda dapat mengatur ulang kata sandi Anda. Anda harus mengetahui alamat email yang digunakan untuk membuat Akun AWS, dan Anda harus memiliki akses ke akun email. Untuk informasi selengkapnya, lihat [Setel ulang kata sandi pengguna root yang hilang atau terlupakan](reset-root-password.md).

## Saya tidak memiliki akses ke email untuk saya Akun AWS
<a name="troubleshoot_general_lost-root-creds"></a>

Saat Anda membuat Akun AWS, Anda memberikan alamat email dan kata sandi. Ini adalah kredensial untuk Pengguna root akun AWS. Jika Anda tidak yakin dengan alamat email yang terkait dengan Anda Akun AWS, cari pesan yang dikirim dari `@signin.aws` atau `@verify.signin.aws` ke alamat email untuk organisasi Anda yang mungkin telah digunakan untuk membuka Akun AWS.

Jika Anda tahu alamat email tetapi tidak lagi memiliki akses ke email, cobalah untuk memulihkan akses ke email. Gunakan salah satu opsi berikut untuk mendapatkan kembali akses ke email Anda:
+ Jika Anda memiliki domain untuk alamat email, Anda dapat mengembalikan alamat email yang dihapus. Atau, Anda dapat mengatur tangkapan semua untuk akun email Anda. Catch-all mengumpulkan semua pesan yang dikirim ke alamat email yang tidak lagi ada di server email dan mengarahkannya ke alamat email lain.
+ Jika alamat email pada akun adalah bagian dari sistem email perusahaan Anda, kami sarankan untuk menghubungi administrator sistem IT Anda. Mereka mungkin dapat membantu Anda mendapatkan akses ke email tersebut.

Jika Anda masih tidak dapat masuk Akun AWS, Anda dapat menemukan opsi dukungan alternatif di [Hubungi kami](https://aws.amazon.com/contact-us/).

# Memecahkan masalah kebijakan IAM
<a name="troubleshoot_policies"></a>

[Kebijakan](access_policies.md) adalah entitas AWS yang, ketika dilampirkan pada identitas atau sumber daya, menentukan izinnya. AWS mengevaluasi kebijakan ini ketika prinsipal, seperti pengguna, membuat permintaan. Izin dalam kebijakan menentukan apakah permintaan diizinkan atau ditolak. *Kebijakan disimpan dalam dokumen JSON yang dilampirkan pada prinsipal AWS sebagai kebijakan berbasis *identitas atau sumber daya sebagai kebijakan berbasis sumber daya*.* Anda dapat melampirkan kebijakan berbasis identitas pada penanggung jawab (atau identitas) seperti grup IAM, pengguna, atau peran. Kebijakan berbasis identitas dapat mencakup kebijakan terkelola AWS , kebijakan terkelola pelanggan, dan kebijakan inline. Anda dapat membuat dan mengedit kebijakan yang dikelola pelanggan dalam Konsol Manajemen AWS menggunakan opsi editor **Visual** dan **JSON**. Saat Anda melihat kebijakan di Konsol Manajemen AWS, Anda dapat melihat ringkasan izin yang diberikan oleh kebijakan tersebut. Anda dapat menggunakan editor visual dan ringkasan kebijakan untuk membantu Anda mendiagnosis dan memperbaiki kesalahan umum yang ditemukan saat mengelola kebijakan IAM.

Harap diingat bahwa semua kebijakan IAM disimpan menggunakan sintaksis yang dimulai dengan aturan [JavaScript Object Notation](http://www.json.org) (JSON). Anda tidak perlu memahami sintaksis ini untuk membuat atau mengelola kebijakan Anda. Anda dapat membuat dan mengedit kebijakan menggunakan editor visual di Konsol Manajemen AWS. Untuk mempelajari lebih lanjut tentang sintaksis JSON di kebijakan IAM, lihat [Tata bahasa kebijakan IAM JSON](reference_policies_grammar.md).

**Pemecahan Masalah Topik Kebijakan IAM**
+ [Atasi masalah menggunakan editor visual](#troubleshoot_policies-viseditor)
  + [Restrukturisasi kebijakan](#troubleshoot_viseditor-restructure)
  + [Memilih ARN sumber daya di editor visual](#troubleshoot_policies-resource-arn)
  + [Menolak izin di editor visual](#troubleshoot_policies-switch-deny)
  + [Menentukan beberapa layanan di editor visual](#troubleshoot_policies-multiple-services)
  + [Mengurangi ukuran kebijakan Anda di editor visual](#troubleshoot_policy-size)
  + [Perbaikan layanan, tindakan, atau tipe sumber daya yang tidak dikenal di editor visual](#troubleshoot_policies-unrecognized-visual)
+ [Memecahkan masalah dengan ringkasan kebijakan](#troubleshoot_policies-polsum)
  + [Ringkasan kebijakan hilang](#missing-policy-summary)
  + [Ringkasan kebijakan mencakup layanan, tindakan, atau tipe sumber daya yang tidak dikenal](#unrecognized-services-actions)
  + [Layanan tidak mendukung ringkasan kebijakan IAM](#unsupported-services-actions)
  + [Kebijakan saya tidak memberikan izin yang diharapkan](#policy-summary-not-grant-permissions)
+ [Pemecahan masalah manajemen kebijakan](#troubleshoot_policies-policy-manage)
  + [Melampirkan atau melepaskan kebijakan di akun IAM](#troubleshoot_roles_cant-attach-detach-policy)
  + [Mengubah kebijakan untuk identitas IAM Anda berdasarkan aktivitas](#troubleshoot_change-policies-based-on-activity)
+ [Memecahkan masalah pada dokumen kebijakan JSON](#troubleshoot_policies-json)
  + [Memvalidasi kebijakan Anda](#usepolicyvalidation)
  + [Saya tidak memiliki izin untuk validasi kebijakan di editor JSON](#nopermsforpolicyvalidation)
  + [Lebih dari satu objek kebijakan JSON](#morethanonepolicyblock)
  + [Lebih dari satu elemen pernyataan JSON](#morethanonestatement)
  + [Lebih dari satu efek, tindakan, atau elemen sumber daya dalam elemen pernyataan JSON](#duplicateelement)
  + [Elemen versi JSON hilang](#missing-version)

## Atasi masalah menggunakan editor visual
<a name="troubleshoot_policies-viseditor"></a>

Saat membuat atau mengedit kebijakan yang dikelola pelanggan, Anda dapat menggunakan informasi di editor **Visual** untuk membantu memecahkan masalah kesalahan dalam kebijakan Anda. Untuk melihat contoh penggunaan editor visual untuk membuat kebijakan, lihat [Mengontrol akses ke identitas](access_controlling.md#access_controlling-identities).

### Restrukturisasi kebijakan
<a name="troubleshoot_viseditor-restructure"></a>

Saat Anda membuat kebijakan, AWS memvalidasi, memproses, dan mengubah kebijakan sebelum menyimpannya. Saat kebijakan diambil, AWS ubah kembali ke format yang dapat dibaca manusia tanpa mengubah izin. Hal ini dapat menyebabkan perbedaan dalam apa yang Anda lihat di editor visual kebijakan atau tab **JSON**.
+ Blok izin editor visual dapat ditambahkan, dihapus, atau disusun ulang, dan konten di dalam blok dapat dioptimalkan.
+ Di tab **JSON**, ruang kosong yang tidak signifikan dapat dihapus, dan elemen di dalam peta JSON dapat disusun ulang. Selain itu, Akun AWS IDs dalam elemen utama dapat diganti dengan Nama Sumber Daya Amazon (ARN) dari. Pengguna root akun AWS

Karena kemungkinan perubahan ini, Anda tidak boleh membandingkan dokumen kebijakan JSON sebagai string.

Saat Anda membuat kebijakan yang dikelola pelanggan di Konsol Manajemen AWS, Anda dapat memilih untuk bekerja sepenuhnya di editor **JSON**. Jika Anda tidak pernah mengubah kebijakan di editor **Visual** dan memilih **Berikutnya** dari editor **JSON**, kebijakan tersebut cenderung tidak direstrukturisasi. Saat Anda menggunakan editor **Visual**, IAM mungkin merestrukturisasi kebijakan untuk mengoptimalkan tampilannya. Restrukturisasi ini hanya ada pada sesi pengeditan Anda dan tidak disimpan secara otomatis.

Jika kebijakan Anda distrukturkan ulang di sesi pengeditan, IAM menentukan apakah akan menyimpan restrukturisasi berdasarkan situasi berikut:


| Menggunakan opsi editor ini | Jika Anda mengedit kebijakan | Dan kemudian pilih ***Berikutnya*** dari tab ini | Saat Anda memilih ***Simpan perubahan*** | 
| --- | --- | --- | --- | 
| Visual | Diedit | Visual | Kebijakan distruktur ulang | 
| Visual | Diedit | JSON | Kebijakan distruktur ulang | 
| Visual | Tidak diedit | Visual | Kebijakan distruktur ulang | 
| JSON | Diedit | Visual | Kebijakan distruktur ulang | 
| JSON | Diedit | JSON | Struktur kebijakan tidak diubah | 
| JSON | Tidak Diedit | JSON | Struktur kebijakan tidak diubah | 

IAM mungkin merestrukturisasi kebijakan atau kebijakan rumit yang memiliki blok izin atau pernyataan yang memungkinkan beberapa layanan, jenis sumber daya, atau kunci kondisi.

### Memilih ARN sumber daya di editor visual
<a name="troubleshoot_policies-resource-arn"></a>

Saat Anda membuat atau mengedit kebijakan menggunakan editor visual, Anda harus memilih layanan terlebih dahulu, kemudian memilih tindakan dari layanan tersebut. Jika layanan dan tindakan yang Anda pilih mendukung pemilihan [sumber daya tertentu](access_controlling.md#access_controlling-resources), editor visual mencantumkan tipe sumber daya yang didukung. Anda kemudian dapat memilih **Tambahkan ARN** untuk memberikan detail tentang sumber daya Anda. Anda dapat memilih dari opsi berikut untuk menambahkan ARN untuk tipe sumber daya.
+ **Gunakan pembuat ARN** — Anda mungkin melihat bidang yang berbeda untuk membangun ARN Anda berdasarkan jenis sumber daya. Anda juga dapat memilih **Apa pun** untuk memberikan izin bagi nilai apa pun untuk pengaturan yang ditentukan. Misalnya, jika Anda memilih grup tingkat akses **Baca** Amazon EC2, maka tindakan di kebijakan Anda mendukung jenis sumber daya `instance`. Berikan **Wilayah**, **Akun**, dan **InstanceId**nilai untuk sumber daya Anda. Kebijakan ini memberikan izin ke instans apa pun di akun Anda jika Anda memberikan ID akun dan memilih **Any** for the Region dan ID instans.
+ **Ketik atau tempel ARN** – Anda dapat menentukan sumber daya berdasarkan [Amazon Resource Name (ARN)](reference_identifiers.md#identifiers-arns). Anda dapat memasukkan karakter wildcard (**\$1**) di bidang ARN mana pun (di antara setiap pasangan titik dua). Untuk informasi selengkapnya, lihat [Elemen kebijakan IAM JSON: Resource](reference_policies_elements_resource.md).

### Menolak izin di editor visual
<a name="troubleshoot_policies-switch-deny"></a>

Secara default, kebijakan yang Anda buat menggunakan editor visual memungkinkan tindakan yang Anda pilih. Untuk menolak tindakan yang dipilih, pilih **Beralih ke menolak izin**. Karena permintaan *ditolak secara default*, sebaiknya Anda mengizinkan izin hanya untuk tindakan dan sumber daya yang dibutuhkan pengguna. Anda harus membuat pernyataan penolakan hanya jika Anda ingin mengganti izin secara terpisah yang diizinkan oleh pernyataan atau kebijakan lain. Kami menyarankan agar Anda membatasi jumlah penolakan izin seminimal mungkin karena dapat meningkatkan kesulitan dalam memecahkan masalah izin. Untuk informasi lebih lanjut tentang cara IAM mengevaluasi logika kebijakan, lihat [Logika evaluasi kebijakan](reference_policies_evaluation-logic.md).

**catatan**  
Secara default, hanya yang Pengguna root akun AWS memiliki akses ke semua sumber daya di akun itu. Jadi, jika Anda belum masuk sebagai pengguna utama, Anda harus memiliki izin yang diberikan oleh kebijakan.

### Menentukan beberapa layanan di editor visual
<a name="troubleshoot_policies-multiple-services"></a>

Saat Anda menggunakan editor visual untuk membuat kebijakan, Anda hanya dapat memilih satu layanan pada satu waktu. Ini adalah praktik terbaik karena editor visual kemudian mengizinkankan Anda memilih dari tindakan untuk satu layanan tersebut. Kemudian Anda memilih dari sumber daya yang didukung oleh layanan tersebut dan tindakan yang dipilih. Ini mempermudah pembuatan dan pemecahan masalah kebijakan Anda. 

Anda juga dapat menggunakan karakter wildcard (\$1) untuk menentukan beberapa layanan secara manual. Sebagai contoh, ketik **Code\$1** untuk memberikan izin untuk semua layanan yang dimulai dengan `Code`, seperti `CodeBuild` dan `CodeCommit`. Namun, Anda kemudian harus mengetik tindakan dan sumber daya ARNs untuk menyelesaikan kebijakan Anda. Sebagai tambahan, saat Anda menyimpan kebijakan Anda, kebijakan itu mungkin [distruktur ulang](#troubleshoot_viseditor-restructure) untuk menyertakan setiap layanan di blok izin terpisah.

Atau, untuk menggunakan sintaks JSON (seperti wildcard) untuk layanan, buat, edit, dan simpan kebijakan Anda menggunakan opsi editor **JSON**.

### Mengurangi ukuran kebijakan Anda di editor visual
<a name="troubleshoot_policy-size"></a>

Saat Anda menggunakan editor visual untuk membuat kebijakan, IAM membuat dokumen JSON untuk menyimpan kebijakan Anda. Anda dapat melihat dokumen ini dengan beralih ke opsi editor **JSON**. Jika dokumen JSON ini melebihi batas ukuran kebijakan, editor visual akan menampilkan pesan kesalahan. Anda tidak akan dapat meninjau dan menyimpan kebijakan. Untuk melihat batasan IAM mengenai ukuran kebijakan yang dikelola, lihat [Batas karakter IAM dan STS](reference_iam-quotas.md#reference_iam-quotas-entity-length). 

Untuk mengurangi ukuran kebijakan Anda di editor visual, edit kebijakan Anda atau pindahkan blok izin ke kebijakan lain. Pesan galat menyertakan jumlah karakter yang berisi dokumen kebijakan Anda. Anda dapat menggunakan informasi ini untuk membantu Anda mengurangi ukuran kebijakan Anda.

### Perbaikan layanan, tindakan, atau tipe sumber daya yang tidak dikenal di editor visual
<a name="troubleshoot_policies-unrecognized-visual"></a>

Anda mungkin melihat peringatan di editor visual bahwa kebijakan Anda menyertakan jenis layanan, tindakan, atau sumber daya yang tidak dikenal.

**catatan**  
IAM meninjau nama layanan, tindakan, dan jenis sumber daya untuk layanan yang mendukung ringkasan kebijakan. Akan tetapi, ringkasan kebijakan Anda mungkin mencakup nilai sumber daya atau kondisi yang tidak ada. Selalu uji kebijakan Anda dengan [simulator kebijakan](access_policies_testing-policies.md).

Jika kebijakan Anda mencakup layanan, tindakan, atau jenis sumber daya yang tidak dikenal, salah satu kesalahan berikut telah terjadi:
+ **Layanan pratinjau** – Layanan yang ada di pratinjau tidak mendukung editor visual. Jika Anda berpartisipasi dalam pratinjau, Anda harus mengetik tindakan dan sumber daya secara manual ARNs untuk menyelesaikan kebijakan Anda. Anda dapat mengabaikan peringatan apa pun dan melanjutkan. Atau, Anda dapat memilih opsi editor **JSON** untuk mengetik atau menempelkan dokumen kebijakan JSON.
+ **Layanan khusus** – Layanan khusus tidak mendukung editor visual. Jika Anda menggunakan layanan kustom, Anda harus mengetik tindakan dan sumber daya secara manual ARNs untuk menyelesaikan kebijakan Anda. Anda dapat mengabaikan peringatan apa pun dan melanjutkan. Atau, Anda dapat memilih opsi editor **JSON** untuk mengetik atau menempelkan dokumen kebijakan JSON.
+ **Layanan tidak mendukung editor visual** — Jika kebijakan Anda menyertakan layanan yang tersedia secara umum (GA) yang tidak mendukung editor visual, Anda harus mengetik tindakan dan sumber daya secara manual ARNs untuk menyelesaikan kebijakan Anda. Anda dapat mengabaikan peringatan apa pun dan melanjutkan. Atau, Anda dapat memilih opsi editor **JSON** untuk mengetik atau menempelkan dokumen kebijakan JSON. 

  Layanan yang tersedia secara umum adalah layanan yang dirilis secara publik dan bukan pratinjau atau layanan khusus. Jika layanan yang tidak dikenal tersedia secara umum dan nama dieja dengan benar, maka layanan tersebut tidak mendukung editor visual. Untuk mempelajari cara meminta dukungan editor visual atau ringkasan kebijakan untuk layanan GA, lihat [Layanan tidak mendukung ringkasan kebijakan IAM](#unsupported-services-actions).
+ **Tindakan tidak mendukung editor visual** — Jika kebijakan Anda menyertakan layanan yang didukung dengan tindakan yang tidak didukung, Anda harus mengetik tindakan dan sumber daya secara manual ARNs untuk menyelesaikan kebijakan Anda. Anda dapat mengabaikan peringatan apa pun dan melanjutkan. Atau, Anda dapat memilih opsi editor **JSON** untuk mengetik atau menempelkan dokumen kebijakan JSON.

  Jika kebijakan Anda menyertakan layanan yang didukung dengan tindakan yang tidak didukung, maka layanan tersebut tidak sepenuhnya mendukung editor visual. Untuk mempelajari cara meminta dukungan editor visual atau ringkasan kebijakan untuk layanan GA, lihat [Layanan tidak mendukung ringkasan kebijakan IAM](#unsupported-services-actions).
+ **Jenis sumber daya tidak mendukung editor visual** – Jika kebijakan Anda mencakup tindakan yang didukung dengan jenis sumber daya yang tidak didukung, Anda dapat mengabaikan peringatan dan melanjutkan. Namun, IAM tidak dapat mengonfirmasi bahwa Anda telah menyertakan sumber daya untuk semua tindakan yang Anda pilih, dan Anda mungkin melihat peringatan tambahan.
+ **Salah ketik** – Saat Anda mengetikkan layanan, tindakan, atau sumber daya secara manual dalam editor visual, Anda dapat membuat kebijakan yang mencakup kesalahan ketik. Kami menyarankan Anda menggunakan editor visual dengan memilih dari daftar layanan dan tindakan. Kemudian, lengkapi bagian sumber daya sesuai dengan petunjuknya. Jika layanan tidak sepenuhnya mendukung editor visual, Anda mungkin harus mengetik bagian kebijakan secara manual. 

  Jika Anda yakin bahwa kebijakan Anda tidak berisi satu pun kesalahan di atas, maka kebijakan Anda mungkin mengandung kesalahan ketik. Periksa masalah berikut:
  + Nama layanan, tindakan, dan jenis sumber daya yang salah eja, seperti `s2` alih-alih `s3` atau `ListMyBuckets` bukan `ListAllMyBuckets`
  + Teks yang tidak perlu ARNs, seperti `arn:aws:s3: : :*`
  + Hilang titik dua dalam tindakan, seperti `iam.CreateUser`

  Anda dapat mengevaluasi kebijakan yang mungkin menyertakan kesalahan ketik dengan memilih **Berikutnya** untuk meninjau ringkasan kebijakan. Kemudian, konfirmasikan apakah kebijakan tersebut memberikan izin yang Anda inginkan.

## Memecahkan masalah dengan ringkasan kebijakan
<a name="troubleshoot_policies-polsum"></a>

Anda dapat mendiagnosis dan menyelesaikan masalah terkait rangkuman kebijakan.

### Ringkasan kebijakan hilang
<a name="missing-policy-summary"></a>

Konsol IAM mencakup tabel *ringkasan kebijakan* yang menjelaskan tingkat akses, sumber daya, dan kondisi yang diperbolehkan atau ditolak untuk setiap layanan dalam kebijakan. Kebijakan dirangkum dalam tiga tabel: [ringkasan kebijakan](access_policies_understand-policy-summary.md), [ringkasan layanan](access_policies_understand-service-summary.md), dan [ringkasan tindakan](access_policies_understand-action-summary.md). Tabel *ringkasan kebijakan* mencakup daftar layanan dan ringkasan izin yang ditentukan oleh kebijakan yang dipilih. Anda dapat melihat [ringkasan kebijakan](access_policies_understand.md) untuk setiap kebijakan yang dilampirkan ke entitas di halaman **Detail Kebijakan** untuk kebijakan tersebut. Anda dapat melihat ringkasan kebijakan untuk kebijakan yang dikelola pada halaman **Kebijakan**. Jika AWS tidak dapat merender ringkasan untuk kebijakan, Anda akan melihat dokumen kebijakan JSON dan kesalahan berikut:

**Ringkasan untuk kebijakan ini tidak dapat dibuat. Anda masih dapat melihat atau mengedit dokumen kebijakan JSON.**

Jika kebijakan Anda tidak mencakup ringkasan, salah satu kesalahan berikut telah terjadi:
+ **Elemen kebijakan yang tidak didukung** – IAM tidak mendukung pembuatan ringkasan kebijakan untuk kebijakan yang mencakup salah satu dari [elemen kebijakan](reference_policies_elements.md) berikut ini:
  + `Principal`
  + `NotPrincipal`
  + `NotResource`
+ **Tidak ada izin kebijakan** – Jika kebijakan tidak menyediakan izin yang efektif, maka ringkasan kebijakan tidak dapat dibuat. Misalnya, jika kebijakan mencakup satu pernyataan dengan elemen `"NotAction": "*"`, maka akses ke semua tindakan akan diberikan kecuali “semua tindakan” (\$1). Ini berarti tidak ada akses `Deny` atau `Allow` yang diberikan.
**catatan**  
Hati-hati saat menggunakan elemen kebijakan ini seperti`NotPrincipal`,`NotAction`, dan`NotResource`. Untuk informasi selengkapnya tentang elemen-elemen kebijakan, lihat [Referensi elemen kebijakan IAM JSON](reference_policies_elements.md).

  Jika Anda menyediakan layanan dan sumber daya yang tidak cocok, Anda dapat membuat kebijakan yang tidak memberikan izin yang efektif. Ini dapat terjadi ketika Anda menentukan tindakan dalam satu layanan dan sumber daya dari layanan lain. Dalam hal ini, ringkasan kebijakan muncul. Satu-satunya indikasi bahwa terdapat masalah adalah kolom sumber daya di ringkasan dapat mencakup sumber daya dari layanan yang berbeda. Jika kolom ini memuat sumber daya yang tidak sesuai, maka Anda harus meninjau kebijakan Anda untuk kesalahan. Uji kebijakan Anda dengan [simulator kebijakan](access_policies_testing-policies.md) untuk lebih memahami kebijakan.

### Ringkasan kebijakan mencakup layanan, tindakan, atau tipe sumber daya yang tidak dikenal
<a name="unrecognized-services-actions"></a>

Di konsol IAM, jika [ringkasan kebijakan](access_policies_understand.md) menyertakan simbol peringatan (![\[Warning hazard sign icon with yellow triangle background.\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/console-alert-icon.console.png)), kebijakan tersebut mungkin menyertakan jenis layanan, tindakan, atau sumber daya yang tidak dikenal. Untuk mempelajari tentang peringatan di dalam ringkasan kebijakan, lihat [Ringkasan kebijakan (daftar layanan)](access_policies_understand-policy-summary.md). 

**catatan**  
IAM meninjau nama layanan, tindakan, dan jenis sumber daya untuk layanan yang mendukung ringkasan kebijakan. Akan tetapi, ringkasan kebijakan Anda mungkin mencakup nilai sumber daya atau kondisi yang tidak ada. Selalu uji kebijakan Anda dengan [simulator kebijakan](access_policies_testing-policies.md).

Jika kebijakan Anda mencakup layanan, tindakan, atau jenis sumber daya yang tidak dikenal, salah satu kesalahan berikut telah terjadi:
+ **Layanan pratinjau** – Layanan yang ada di pratinjau tidak mendukung rangkuman kebijakan.
+ **Layanan khusus** – Layanan khusus tidak mendukung rangkuman kebijakan.
+ **Layanan tidak mendukung rangkuman** – Jika kebijakan Anda mencakup layanan yang tersedia secara umum (GA) yang tidak mendukung rangkuman kebijakan, maka layanan tersebut termasuk dalam bagian **Layanan yang tidak dikenal** di tabel ringkasan kebijakan. Layanan yang tersedia secara umum adalah layanan yang dirilis secara publik dan bukan pratinjau atau layanan khusus. Jika layanan yang tidak dikenal tersedia secara umum dan nama dieja dengan benar, maka layanan ini tidak mendukung ringkasan kebijakan IAM. Untuk mempelajari cara meminta dukungan ringkasan kebijakan untuk layanan GA, lihat [Layanan tidak mendukung ringkasan kebijakan IAM](#unsupported-services-actions).
+ **Tindakan tidak mendukung rangkuman** – Jika kebijakan Anda mencakup layanan yang didukung dengan tindakan yang tidak didukung, maka tindakan tersebut termasuk dalam bagian **Tindakan yang tidak dikenal** pada tabel ringkasan layanan. Untuk mempelajari tentang peringatan dalam rangkuman layanan, lihat [Ringkasan layanan (daftar tindakan)](access_policies_understand-service-summary.md).
+ **Jenis sumber daya tidak mendukung rangkuman** – Jika kebijakan Anda mencakup tindakan yang didukung dengan jenis sumber daya yang tidak didukung, maka sumber daya tersebut disertakan dalam bagian **Jenis sumber daya yang tidak dikenal** pada tabel ringkasan layanan. Untuk mempelajari tentang peringatan di dalam rangkuman layanan, lihat [Ringkasan layanan (daftar tindakan)](access_policies_understand-service-summary.md).
+ **Typo** [— AWS memeriksa bahwa JSON benar secara sintaksis, dan kebijakan tersebut tidak menyertakan kesalahan ketik atau kesalahan lain sebagai bagian dari validasi kebijakan.](access_policies_policy-validator.md)

**catatan**  
Sebagai [praktik terbaik](best-practices.md), kami menyarankan Anda menggunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda guna memastikan izin yang aman dan fungsional. Kami menyarankan Anda membuka kebijakan yang ada dan meninjau serta menyelesaikan rekomendasi validasi kebijakan apa pun.

### Layanan tidak mendukung ringkasan kebijakan IAM
<a name="unsupported-services-actions"></a>

Dimungkinkan untuk ringkasan kebijakan IAM atau editor visual untuk tidak mendukung layanan atau tindakan yang tersedia secara umum (GA). Layanan yang tersedia secara umum adalah layanan yang dirilis secara publik dan bukan layanan yang dipratinjau atau khusus. Jika layanan yang tidak dikenal tersedia secara umum dan nama dieja dengan benar, maka layanan tidak mendukung fitur-fitur ini. Jika kebijakan Anda mencakup layanan yang didukung dengan tindakan yang tidak didukung, maka layanan tersebut tidak sepenuhnya mendukung rangkuman kebijakan IAM.

**Untuk meminta agar layanan menambahkan ringkasan kebijakan IAM atau dukungan editor visual**

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

1. Temukan kebijakan yang mencakup layanan yang tidak didukung:
   + Jika kebijakan tersebut adalah kebijakan terkelola, pilih **Kebijakan** di panel navigasi. Dalam daftar kebijakan, pilih nama kebijakan yang ingin Anda lihat.
   + Jika kebijakan tersebut adalah kebijakan inline yang terlampir pada pengguna, pilih **Pengguna** di panel navigasi. Dalam daftar pengguna, pilih nama pengguna yang kebijakannya ingin Anda lihat. Dalam tabel kebijakan untuk pengguna, perluas kop untuk ringkasan kebijakan yang ingin Anda lihat.

1. Di sisi kiri di Konsol Manajemen AWS footer, pilih **Umpan Balik**. Di kotak **Umpan Balik untuk IAM**, ketik**I request that the <ServiceName> service add support for IAM policy summaries and the visual editor**. Jika Anda menginginkan lebih dari satu layanan untuk mendukung ringkasan, ketik **I request that the <ServiceName1>, <ServiceName2>, and <ServiceName3> services add support for IAM policy summaries and the visual editor**.

**Untuk meminta agar layanan menambahkan dukungan ringkasan kebijakan IAM untuk tindakan yang hilang**

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

1. Temukan kebijakan yang mencakup layanan yang tidak didukung:
   + Jika kebijakan tersebut adalah kebijakan terkelola, pilih **Kebijakan** di panel navigasi. Dalam daftar kebijakan, pilih nama kebijakan yang ingin Anda lihat.
   + Jika kebijakan tersebut adalah kebijakan inline yang terlampir pada pengguna, pilih **Pengguna** di panel navigasi. Dalam daftar pengguna, pilih nama pengguna yang kebijakannya ingin Anda lihat. Dalam tabel kebijakan untuk pengguna, pilih nama kebijakan yang ingin Anda lihat untuk memperluas ringkasan kebijakan.

1. Dalam ringkasan kebijakan, pilih nama layanan yang menyertakan tindakan yang tidak didukung.

1. Di sisi kiri di Konsol Manajemen AWS footer, pilih **Umpan Balik**. Di kotak **Umpan Balik untuk IAM**, ketik**I request that the <ServiceName> service add IAM policy summary and the visual editor support for the <ActionName> action**. Jika Anda ingin melaporkan lebih dari satu tindakan yang tidak didukung, ketik **I request that the <ServiceName> service add IAM policy summary and the visual editor support for the <ActionName1>, <ActionName2>, and <ActionName3> actions**. 

Untuk meminta agar layanan lain mencakup tindakan yang hilang, ulangi tiga langkah terakhir.

### Kebijakan saya tidak memberikan izin yang diharapkan
<a name="policy-summary-not-grant-permissions"></a>

Untuk menetapkan izin bagi pengguna, grup, peran, atau sumber daya, Anda membuat *kebijakan*, yaitu dokumen yang mendefinisikan izin. Dokumen kebijakan mencakup elemen-elemen berikut ini:
+ **Efek** – apakah kebijakan mengizinkan atau menolak akses
+ **Tindakan** – daftar tindakan yang diperbolehkan atau ditolak oleh kebijakan tersebut
+ **Sumber Daya** – daftar sumber daya yang memungkinkan terjadinya tindakan
+ **Kondisi** (Opsional) – situasi yang mengatur pemberian izin oleh kebijakan

Untuk mempelajari tentang elemen kebijakan ini dan elemen kebijakan lainnya, lihat [Referensi elemen kebijakan IAM JSON](reference_policies_elements.md). 

Untuk memberikan akses, kebijakan Anda harus menentukan tindakan dengan sumber daya yang didukung. Jika kebijakan Anda juga mencakup suatu kondisi, kondisi tersebut harus mencakup [kunci kondisi global](reference_policies_condition-keys.md) atau harus berlaku untuk tindakan tersebut. Untuk mempelajari sumber daya mana yang didukung oleh tindakan, lihat [Dokumentasi AWS](https://docs.aws.amazon.com/) untuk layanan Anda. Untuk mempelajari kondisi mana yang didukung oleh tindakan, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk AWS Layanan](reference_policies_actions-resources-contextkeys.html).

Periksa apakah kebijakan Anda menentukan tindakan, sumber daya, atau kondisi yang tidak memberikan izin. Lihat [ringkasan kebijakan](access_policies_understand-policy-summary.md) untuk kebijakan Anda menggunakan konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). Anda dapat menggunakan ringkasan kebijakan untuk mengidentifikasi dan memperbaiki masalah di kebijakan Anda.

Ada beberapa alasan mengapa elemen mungkin tidak memberikan izin meskipun ditetapkan dalam kebijakan IAM:
+ [**Tindakan didefinisikan tanpa sumber daya yang berlaku**](#mismatch_action-no-resource)
+ [**Sumber daya didefinisikan tanpa tindakan yang berlaku**](#mismatch_resource-no-action)
+ [**Suatu kondisi didefinisikan tanpa tindakan yang berlaku**](#mismatch_condition-no-match)

Untuk melihat contoh ringkasan kebijakan yang mencakup peringatan, lihat [Ringkasan kebijakan (daftar layanan)](access_policies_understand-policy-summary.md).

#### Tindakan didefinisikan tanpa sumber daya yang sesuai
<a name="mismatch_action-no-resource"></a>

Kebijakan di bawah ini menjelaskan semua tindakan `ec2:Describe*` dan menentukan sumber daya spesifik. Tidak satu pun tindakan `ec2:Describe` diberikan karena semuanya tidak mendukung izin tingkat sumber daya. Izin tingkat sumber daya berarti tindakan tersebut mendukung sumber daya yang menggunakan [ARNs](reference_identifiers.md#identifiers-arns) di elemen kebijakan [`Resource`](reference_policies_elements_resource.md). Jika tindakan tidak mendukung izin tingkat sumber daya, maka pernyataan dalam kebijakan tersebut harus menggunakan wildcard (`*`) di elemen `Resource`. Untuk mempelajari layanan mana yang mendukung izin tingkat sumber daya, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "arn:aws:ec2:us-east-2:111122223333:instance/*"
        }
    ]
}
```

------

Kebijakan ini tidak memberikan izin apa pun, dan ringkasan kebijakan mencakup kesalahan berikut ini:

`This policy does not grant any permissions. To grant access, policies must have an action that has an applicable resource or condition.`

Untuk memperbaiki kebijakan ini, Anda harus menggunakan `*` di elemen `Resource`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": "ec2:Describe*",
        "Resource": "*"
    }]
}
```

------

#### Sumber daya ditetapkan tanpa tindakan yang sesuai
<a name="mismatch_resource-no-action"></a>

Kebijakan di bawah ini mendefinisikan sumber daya bucket Amazon S3 tetapi tidak mencakup tindakan S3 yang dapat dilakukan pada sumber daya tersebut. Kebijakan ini juga memberikan akses penuh ke semua CloudFront tindakan Amazon.

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

****  

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

------

Kebijakan ini memberikan izin untuk semua CloudFront tindakan. Tetapi karena kebijakan mendefinisikan sumber daya `amzn-s3-demo-bucket` S3 tanpa mendefinisikan tindakan S3 apa pun, ringkasan kebijakan mencakup peringatan berikut:

`This policy defines some actions, resources, or conditions that do not provide permissions. To grant access, policies must have an action that has an applicable resource or condition.`

Untuk memperbaiki kebijakan ini guna memberikan izin bucket S3, Anda harus menetapkan tindakan S3 yang dapat dilakukan pada sumber daya bucket.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:*",
                "s3:CreateBucket",
                "s3:ListBucket*",
                "s3:PutBucket*",
                "s3:GetBucket*"
            ],
            "Resource": [
                "arn:aws:cloudfront:*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        }
    ]
}
```

------

Sebagai alternatif, untuk memperbaiki kebijakan ini agar hanya memberikan CloudFront izin, hapus sumber daya S3.

#### Kondisi didefinisikan tanpa tindakan yang berlaku
<a name="mismatch_condition-no-match"></a>

Kebijakan di bawah ini mendefinisikan dua tindakan Amazon S3 untuk semua sumber daya S3, jika awalan S3 sama dan ID versi `custom` sama. `1234` Namun, kunci kondisi `s3:VersionId` digunakan untuk penandaan versi objek dan tidak didukung oleh tindakan bucket didefinisikan. Untuk mempelajari kondisi mana yang didukung oleh tindakan, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk AWS Layanan](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) dan pilih layanan untuk melihat dokumentasi layanan untuk kunci kondisi.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": [
                        "custom"
                    ],
                    "s3:VersionId": [
                        "1234"
                    ]
                }
            }
        }
    ]
}
```

------

Kebijakan ini memberikan izin untuk tindakan `s3:ListBucketVersions` dan tindakan `s3:ListBucket` jika nama bucket mencakup prefiks `custom`. Tetapi karena kondisi `s3:VersionId` tidak didukung oleh salah satu tindakan yang ditetapkan, ringkasan kebijakan mencakup kesalahan berikut:

`This policy does not grant any permissions. To grant access, policies must have an action that has an applicable resource or condition.`

Untuk memperbaiki kebijakan ini untuk menggunakan penandaan versi objek S3, Anda harus menentukan tindakan S3 yang mendukung kunci kondisi `s3:VersionId`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket",
                "s3:GetObjectVersion"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": [
                        "custom"
                    ],
                    "s3:VersionId": [
                        "1234"
                    ]
                }
            }
        }
    ]
}
```

------

Kebijakan ini memberikan izin untuk setiap tindakan dan kondisi dalam kebijakan tersebut. Namun, kebijakan ini masih tidak memberikan izin apa pun karena tidak ada kasus ketika tindakan tunggal sesuai dengan kedua kondisi. Sebaliknya, Anda harus membuat dua pernyataan terpisah yang masing-masing hanya menyertakan tindakan kondisi yang sesuai dengannya.

Untuk memperbaiki kebijakan ini, buat dua pernyataan. Pernyataan pertama mencakup tindakan yang mendukung kondisi `s3:prefix`, dan pernyataan kedua mencakup tindakan yang mendukung kondisi `s3:VersionId`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": "custom"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:GetObjectVersion",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:VersionId": "1234"
                }
            }
        }
    ]
}
```

------

## Pemecahan masalah manajemen kebijakan
<a name="troubleshoot_policies-policy-manage"></a>

Anda dapat mendiagnosis dan menyelesaikan masalah terkait manajemen kebijakan.

### Melampirkan atau melepaskan kebijakan di akun IAM
<a name="troubleshoot_roles_cant-attach-detach-policy"></a>

Beberapa kebijakan AWS terkelola ditautkan ke layanan. Kebijakan ini hanya digunakan dengan [peran yang berkaitan dengan layanan](id_roles.md#iam-term-service-linked-role) untuk layanan itu. Di konsol IAM, saat Anda melihat halaman **Detail kebijakan**, halaman tersebut menyertakan spanduk untuk menunjukkan bahwa kebijakan tersebut ditautkan ke layanan. Anda tidak dapat melampirkan kebijakan ini ke pengguna, grup, atau peran di dalam IAM. Saat Anda membuat peran terkait layanan, kebijakan ini secara otomatis dilampirkan ke peran baru Anda. Karena kebijakan tersebut diperlukan, Anda tidak dapat memisahkan kebijakan dari peran yang terkait dengan layanan. 

### Mengubah kebijakan untuk identitas IAM Anda berdasarkan aktivitas
<a name="troubleshoot_change-policies-based-on-activity"></a>

Anda dapat memperbarui kebijakan untuk identitas IAM Anda (pengguna, grup, dan peran) berdasarkan aktivitasnya. Untuk melakukan ini, lihat peristiwa akun Anda di **Riwayat CloudTrail acara**. CloudTrail log peristiwa mencakup informasi peristiwa terperinci yang dapat Anda gunakan untuk mengubah izin kebijakan.

**Pengguna atau peran sedang mencoba untuk melakukan suatu tindakan AWS dan permintaan tersebut ditolak.**  
Pertimbangkan apakah pengguna atau peran harus memiliki izin untuk melakukan tindakan. Jika demikian, Anda dapat menambahkan tindakan dan bahkan ARN dari sumber daya yang mereka coba akses ke kebijakan mereka.

**Pengguna atau peran memiliki izin yang tidak mereka gunakan.**  
Pertimbangkan untuk menghapus izin tersebut dari kebijakan mereka. Pastikan bahwa kebijakan Anda memberikan [hak istimewa terkecil](best-practices.md#grant-least-privilege) yang diperlukan untuk hanya melakukan tindakan yang diperlukan.

Untuk informasi selengkapnya tentang penggunaan CloudTrail, lihat [Melihat CloudTrail Acara di CloudTrail Konsol](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html) di *Panduan AWS CloudTrail Pengguna*.

## Memecahkan masalah pada dokumen kebijakan JSON
<a name="troubleshoot_policies-json"></a>

Anda dapat mendiagnosis dan menyelesaikan masalah terkait dokumen kebijakan JSON.

### Memvalidasi kebijakan Anda
<a name="usepolicyvalidation"></a>

 Saat Anda membuat atau mengedit kebijakan JSON, IAM dapat melakukan validasi kebijakan untuk membantu Anda membuat kebijakan yang efektif. IAM mengidentifikasi kesalahan sintaks JSON, sementara IAM Access Analyzer menyediakan pemeriksaan kebijakan tambahan dengan rekomendasi untuk membantu Anda lebih menyempurnakan kebijakan Anda. Untuk mempelajari selengkapnya tentang validasi kebijakan, lihat [Validasi kebijakan IAM](access_policies_policy-validator.md). Untuk mempelajari selengkapnya tentang pemeriksaan kebijakan IAM Access Analyzer dan rekomendasi yang dapat ditindaklanjuti, lihat validasi kebijakan [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) Access Analyzer. 

### Saya tidak memiliki izin untuk validasi kebijakan di editor JSON
<a name="nopermsforpolicyvalidation"></a>

Dalam Konsol Manajemen AWS, Anda mungkin menerima kesalahan berikut jika Anda tidak memiliki izin untuk melihat hasil validasi kebijakan IAM Access Analyzer:

`You need permissions. You do not have the permissions required to perform this operation. Ask your administrator to add permissions.`

Untuk memperbaiki kesalahan ini, minta administrator Anda untuk menambahkan izin `access-analyzer:ValidatePolicy` untuk Anda.

### Lebih dari satu objek kebijakan JSON
<a name="morethanonepolicyblock"></a>

Kebijakan IAM harus terdiri dari hanya satu objek JSON. Anda menunjukkan sebuah objek dengan menempatkan rungkup \$1 \$1 di sekitarnya. Anda dapat membuat sarang objek lain di dalam objek JSON dengan menyematkan tanda kurung \$1\$1 tambahan di dalam pasangan luar. Kebijakan harus berisi hanya satu pasang kurung kurung \$1\$1 terluar. Contoh berikut tidak benar karena berisi dua objek di tingkat atas (dipanggil masuk*red*):

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

****  

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

------

Namun, Anda dapat memenuhi maksud dari contoh sebelumnya dengan menggunakan tata bahasa kebijakan yang benar. Alih-alih memasukkan dua objek kebijakan lengkap, masing-masing dengan elemen `Statement`, Anda dapat menggabungkan kedua blok menjadi satu elemen `Statement`. Elemen `Statement` memiliki susunan dua objek sebagai nilainya, seperti ditunjukkan dalam contoh berikut (disebut dalam **huruf tebal**): 

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

****  

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

------

### Lebih dari satu elemen pernyataan JSON
<a name="morethanonestatement"></a>

Kesalahan ini pada awalnya mungkin tampak seperti variasi pada bagian sebelumnya. Namun, secara sintaksis ini adalah tipe kesalahan yang berbeda. Contoh berikut hanya memiliki satu objek kebijakan yang ditandai dengan sepasang rungkup \$1 \$1 di tingkat atas. Namun, objek tersebut berisi dua elemen `Statement` di dalamnya.

 Kebijakan IAM harus berisi hanya satu elemen `Statement`, yang terdiri atas nama (`Statement`) yang muncul di sebelah kiri titik dua, diikuti dengan nilainya di sebelah kanan. Nilai dari elemen `Statement` harus berupa objek, yang ditandai dengan rungkup \$1 \$1, yang berisi satu elemen `Effect`, satu elemen `Action`, dan satu elemen `Resource`. Contoh berikut salah karena berisi dua `Statement` elemen dalam objek kebijakan (dipanggil masuk*red*):

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

****  

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

------

Objek nilai dapat berupa himpunan berbagai objek nilai. Untuk memecahkan masalah ini, gabungkan kedua elemen `Statement` ke dalam satu elemen dengan himpunan objek, seperti ditunjukkan dalam contoh berikut (disebut dalam **huruf tebal**):

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

****  

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

------

Nilai dari elemen `Statement` merupakan himpunan objek. Rangkaian dalam contoh ini terdiri dari dua objek, yang masing-masing adalah nilai yang benar untuk elemen `Statement`. Setiap objek di himpunan dipisahkan dengan koma.

### Lebih dari satu efek, tindakan, atau elemen sumber daya dalam elemen pernyataan JSON
<a name="duplicateelement"></a>

Di sisi nilai `Statement` name/value pasangan, objek harus terdiri dari hanya satu `Effect` elemen, satu `Action` elemen, dan satu `Resource` elemen. Kebijakan berikut tidak benar karena memiliki dua `Effect` elemen dalam`Statement`:

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Deny",
        "Effect": "Allow",     
        "Action": "ec2:* ",
        "Resource": "*"
      }
    }
```

------

**catatan**  
Mesin kebijakan tidak mengizinkan kesalahan tersebut di kebijakan baru atau yang telah diedit. Namun demikian, mesin kebijakan terus mengizinkan kebijakan yang disimpan sebelum mesin diperbarui. Perilaku kebijakan yang ada dengan kesalahan tersebut adalah sebagai berikut:  
Beberapa elemen `Effect`: hanya elemen `Effect` terakhir yang diamati. Yang lainnya diabaikan.
Beberapa `Action` elemen: semua `Action` elemen digabungkan secara internal dan diperlakukan seolah-olah mereka adalah daftar tunggal.
Beberapa `Resource` elemen: semua `Resource` elemen digabungkan secara internal dan diperlakukan seolah-olah mereka adalah daftar tunggal.
Mesin kebijakan tidak memungkinkan Anda untuk menyimpan kebijakan dengan kesalahan sintaksis. Perbaiki kesalahan dalam kebijakan sebelum menyimpan. Tinjau dan perbaiki rekomendasi [validasi kebijakan](access_policies_policy-validator.md) apa pun untuk kebijakan Anda.

 Dalam setiap kasus, solusinya adalah menghapus elemen ekstra yang salah. Untuk elemen `Effect`, ini mudah: jika Anda ingin contoh sebelumnya untuk *menolak* izin bagi instans Amazon EC2, maka Anda harus menghapus baris `"Effect": "Allow",` dari kebijakan, sebagai berikut:

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Deny",
        "Action": "ec2:*",
        "Resource": "*"
      }
    }
```

------

Namun, jika elemen duplikat adalah `Action` atau `Resource`, maka resolusinya dapat lebih rumit. Anda mungkin memiliki beberapa tindakan yang ingin Anda izinkan (atau tolak) izinnya, atau Anda mungkin ingin mengontrol akses ke beberapa sumber daya. Misalnya, contoh berikut salah karena memiliki beberapa `Resource` elemen (dipanggil masuk*red*):

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

****  

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

------

Masing-masing elemen wajib di objek nilai elemen `Statement` hanya bisa muncul sekali. Solusinya adalah menempatkan setiap nilai dalam himpunan. Contoh berikut menggambarkan hal ini dengan membuat dua elemen sumber daya terpisah menjadi satu elemen `Resource` dengan susunan sebagai objek nilai (disebut dalam **huruf tebal**):

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

****  

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

------

### Elemen versi JSON hilang
<a name="missing-version"></a>

Elemen kebijakan `Version` berbeda dari versi kebijakan. Elemen kebijakan `Version` digunakan dalam kebijakan dan menentukan versi bahasa kebijakan. Sebagai perbandingan, versi kebijakan dibuat saat Anda mengubah kebijakan yang dikelola pelanggan di IAM. Perubahan kebijakan tidak mengesampingkan kebijakan yang ada. Sebagai gantinya, IAM membuat versi baru dari kebijakan yang dikelola. Untuk mempelajari lebih lanjut tentang elemen kebijakan `Version`, lihat [Elemen kebijakan IAM JSON: Version](reference_policies_elements_version.md). Untuk mempelajari selengkapnya tentang versi kebijakan, lihat [Peningkatan versi IAM](access_policies_managed-versioning.md).

Seiring berkembangnya AWS fitur, kemampuan baru ditambahkan ke kebijakan IAM untuk mendukung fitur-fitur tersebut. Terkadang, pembaruan sintaksis kebijakan mencakup nomor versi baru. Jika Anda menggunakan fitur tata bahasa kebijakan yang lebih baru dalam kebijakan Anda, maka Anda harus memberi tahu mesin pembatas kebijakan versi mana yang Anda gunakan. Versi kebijakan default adalah “17-10-2008.” Jika Anda ingin menggunakan fitur kebijakan yang diperkenalkan setelahnya, Anda harus menentukan nomor versi yang mendukung fitur yang Anda inginkan. Sebaiknya Anda *selalu* menyertakan nomor versi sintaksis kebijakan terbaru, yang saat ini adalah `"Version": "2012-10-17"`. Misalnya, kebijakan berikut salah karena menggunakan variabel kebijakan `${...}` di ARN untuk sumber daya. Tetapi gagal menentukan versi sintaks kebijakan yang mendukung variabel kebijakan (dipanggil masuk*red*):

```
{
  "Statement": 
  {
    "Action": "iam:*AccessKey*",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::123456789012:user/${aws:username}"
  }
}
```

Menambahkan elemen `Version` di atas kebijakan dengan nilai `2012-10-17`, API IAM versi pertama yang mendukung variabel kebijakan, menyelesaikan masalah ini (disebut dalam **huruf tebal**):

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": 
  {
    "Action": "iam:*AccessKey*",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::123456789012:user/${aws:username}"
  }
}
```

------

# Memecahkan Masalah Kunci Sandi dan Kunci Keamanan FIDO
<a name="troubleshoot_mfa-fido"></a>

Gunakan informasi di sini untuk membantu Anda mendiagnosis masalah umum yang mungkin Anda temui saat bekerja dengan kunci FIDO2 keamanan.

**Topics**
+ [Saya tidak dapat mengaktifkan kunci keamanan FIDO saya](#troubleshoot_mfa-fido-cant-enable)
+ [Saya tidak dapat masuk menggunakan kunci keamanan FIDO](#troubleshoot_mfa-fido-signin)
+ [Saya kehilangan atau merusak kunci keamanan FIDO saya](#troubleshoot_mfa-fido-lost)
+ [Masalah lainnya](#troubleshoot_mfa-fido-other-issues)

## Saya tidak dapat mengaktifkan kunci keamanan FIDO saya
<a name="troubleshoot_mfa-fido-cant-enable"></a>

Pelajari solusi berikut tergantung pada status Anda sebagai pengguna IAM atau administrator sistem

### Pengguna IAM:
<a name="troubleshoot_mfa-fido-cant-enable-iam-user"></a>

Jika Anda tidak dapat mengaktifkan kunci keamanan FIDO Anda, periksa hal berikut:
+ Apakah Anda menggunakan konfigurasi yang didukung?

  IAM mendukung perangkat FIDO2 keamanan yang terhubung ke perangkat Anda melalui USB,Bluetooth, atau NFC. IAM juga mendukung otentikator platform seperti TouchID atau FaceID. IAM tidak mendukung pendaftaran passkey lokal untuk Windows Hello. Untuk membuat dan menggunakan kunci sandi, pengguna Windows harus menggunakan [otentikasi lintas perangkat](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda) di mana Anda menggunakan kunci sandi dari satu perangkat seperti perangkat seluler atau kunci keamanan perangkat keras untuk masuk di perangkat lain seperti laptop.

  Untuk informasi tentang perangkat dan browser yang dapat Anda gunakan WebAuthn dan AWS, lihat[Konfigurasi yang didukung untuk menggunakan kunci sandi dan kunci keamanan](id_credentials_mfa_fido_supported_configurations.md).
+ Apakah Anda menggunakan plugin peramban?

  AWS tidak mendukung penggunaan plugin untuk menambahkan dukungan WebAuthn browser. Sebagai gantinya, gunakan browser yang menawarkan dukungan asli WebAuthn standar.

  Bahkan jika Anda menggunakan browser yang didukung, Anda mungkin memiliki plugin yang tidak kompatibel dengannya WebAuthn. Plugin yang tidak kompatibel dapat mencegah Anda mengaktifkan dan menggunakan kunci keamanan yang sesuai dengan FIDO Anda. Nonaktifkan plugin apa pun yang mungkin tidak kompatibel dan restart browser Anda. Kemudian, coba lagi aktifkan kunci keamanan FIDO.
+ Apakah Anda memiliki izin yang sesuai?

  Jika tidak ada satu pun masalah kompatibilitas di atas, Anda mungkin tidak memiliki izin yang sesuai. Hubungi administrator sistem Anda. 

### Administrator sistem
<a name="troubleshoot_mfa-fido-cant-enable-sys-admin"></a>

Jika pengguna IAM Anda tidak dapat mengaktifkan kunci keamanan FIDO mereka meskipun menggunakan konfigurasi yang didukung, periksa izin mereka. Untuk contoh terperinci, lihat [Tutorial IAM: Izinkan pengguna untuk mengelola kredensi dan pengaturan MFA mereka](tutorial_users-self-manage-mfa-and-creds.md).

## Saya tidak dapat masuk menggunakan kunci keamanan FIDO
<a name="troubleshoot_mfa-fido-signin"></a>

Jika Anda tidak dapat masuk Konsol Manajemen AWS menggunakan kunci keamanan FIDO Anda, lihat [Konfigurasi yang didukung untuk menggunakan kunci sandi dan kunci keamanan](id_credentials_mfa_fido_supported_configurations.md) dulu. Jika Anda menggunakan konfigurasi yang didukung tetapi tidak dapat masuk, hubungi administrator sistem untuk mendapatkan bantuan. 

## Saya kehilangan atau merusak kunci keamanan FIDO saya
<a name="troubleshoot_mfa-fido-lost"></a>

Hingga **delapan** perangkat MFA dari kombinasi [jenis MFA yang saat ini](https://aws.amazon.com/iam/features/mfa/) didukung dapat ditetapkan ke pengguna. Dengan beberapa perangkat MFA, Anda hanya perlu satu perangkat MFA untuk masuk ke perangkat MFA. Konsol Manajemen AWS Mengganti kunci keamanan FIDO mirip dengan mengganti token TOTP perangkat keras. Jika Anda kehilangan atau merusak semua jenis perangkat MFA, lihat. [Pulihkan identitas yang dilindungi MFA di IAM](id_credentials_mfa_lost-or-broken.md)

## Masalah lainnya
<a name="troubleshoot_mfa-fido-other-issues"></a>

Jika Anda memiliki masalah dengan kunci keamanan FIDO yang tidak tercakup di sini, lakukan salah satu hal berikut:
+ Pengguna IAM: Hubungi administrator sistem Anda.
+ Akun AWS pengguna root: Hubungi [AWS Support](https://aws.amazon.com/premiumsupport/).

# Memecahkan masalah peran IAM
<a name="troubleshoot_roles"></a>

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengan peran IAM.

**Topics**
+ [Saya tidak dapat mengsumsikan peran](#troubleshoot_roles_cant-assume-role)
+ [Peran baru muncul di AWS akun saya](#troubleshoot_roles_new-role-appeared)
+ [Saya tidak dapat mengedit atau menghapus peran di Akun AWS](#troubleshoot_roles_cant-edit-delete-role)
+ [Saya tidak berwenang untuk melakukan: iam: PassRole](#troubleshoot_roles_not-auth-passrole)
+ [Mengapa saya tidak dapat mengasumsikan peran dengan sesi 12 jam? (AWS CLI, AWS API)](#troubleshoot_roles_cant-set-session)
+ [Saya menerima kesalahan saat mencoba beralih peran di konsol IAM](#troubleshoot_roles_cant-switch-role-console)
+ [Peran saya memiliki kebijakan yang memungkinkan saya melakukan tindakan, tetapi saya mendapatkan “akses ditolak”](#troubleshoot_roles_session-policy)
+ [Layanan tidak membuat versi kebijakan default peran tersebut](#troubleshoot_serviceroles_edited-policy)
+ [Tidak ada kasus penggunaan untuk peran layanan di konsol](#troubleshoot_serviceroles_console-use-case)

## Saya tidak dapat mengsumsikan peran
<a name="troubleshoot_roles_cant-assume-role"></a>

Periksa hal berikut:
+ Untuk memungkinkan pengguna untuk mengambil peran saat ini lagi dalam sesi peran, tentukan peran ARN atau Akun AWS ARN sebagai prinsipal dalam kebijakan kepercayaan peran. Layanan AWS yang menyediakan sumber daya komputasi seperti Amazon EC2, Amazon ECS, Amazon EKS, dan Lambda memberikan kredensil sementara dan secara otomatis memperbarui kredensil ini. Ini memastikan bahwa Anda selalu memiliki seperangkat kredensional yang valid. Untuk layanan ini, tidak perlu mengambil peran saat ini lagi untuk mendapatkan kredensi sementara. Namun, jika Anda berniat untuk meneruskan [tag sesi](id_session-tags.md) [atau kebijakan sesi](access_policies.md#policies_session), Anda perlu mengambil peran saat ini lagi. Untuk mempelajari cara memodifikasi kebijakan kepercayaan peran untuk menambahkan peran utama ARN atau Akun AWS ARN, lihat. [Memperbarui kebijakan kepercayaan peran](id_roles_update-role-trust-policy.md)
+ Ketika Anda mengambil peran menggunakan Konsol Manajemen AWS, pastikan untuk menggunakan nama persis peran Anda. Nama peran peka huruf besar/kecil.
+ Saat Anda mengambil peran menggunakan AWS STS API atau AWS CLI, pastikan untuk menggunakan nama persis peran Anda di ARN. Nama peran peka huruf besar/kecil. 
+ Saat Anda mengambil peran menggunakan penyedia identitas federasi berbasis SAFL dan enkripsi SAFL diaktifkan, pastikan Anda telah mengunggah kunci dekripsi pribadi yang valid untuk penyedia identitas SALL. Untuk informasi selengkapnya, lihat [Kelola kunci enkripsi SAMP](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).
+ Verifikasi bahwa kebijakan IAM Anda mengizinkan memanggil `sts:AssumeRole` untuk peran yang ingin Anda asumsikan. Elemen `Action` kebijakan IAM Anda harus mengizinkan Anda memanggil tindakan `AssumeRole`. Selain itu, elemen `Resource` kebijakan IAM Anda harus menentukan peran yang ingin Anda asumsikan. Misalnya, elemen `Resource` dapat menentukan peran berdasarkan Amazon Resource Name (ARN) atau berdasarkan wildcard (\$1). Misalnya, setidaknya satu kebijakan yang berlaku bagi Anda harus memberikan izin yang serupa dengan yang berikut ini:

  ```
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
  ```
+ Verifikasikan bahwa identitas IAM Anda ditandai dengan tag apa pun yang diwajibkan oleh kebijakan IAM. Misalnya, dalam izin kebijakan berikut, elemen `Condition` mewajibkan Anda, sebagai prinsipal yang meminta untuk mengasumsikan peran tersebut, memiliki tanda khusus. Anda harus ditandai dengan `department = HR` atau `department = CS`. Jika tidak, Anda tidak dapat mengambil peran tersebut. Untuk mempelajari tentang menandai pengguna dan peran IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md).

  ```
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {"StringEquals": {"aws:PrincipalTag/department": [
              "HR",
              "CS"
          ]}}
  ```
+ Verifikasi bahwa Anda memenuhi semua kondisi yang ditentukan di kebijakan kepercayaan peran tersebut. `Condition` dapat menentukan tanggal kedaluwarsa, ID eksternal, atau bahwa permintaan harus berasal hanya dari alamat IP tertentu. Pertimbangkan contoh berikut: Jika tanggal saat ini adalah kapan saja setelah tanggal yang ditentukan, kebijakan tidak pernah cocok dan tidak dapat memberi Anda izin untuk mengambil peran tersebut.

  ```
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
      "Condition": {
          "DateLessThan" : {
              "aws:CurrentTime" : "2016-05-01T12:00:00Z"
          }
      }
  ```
+ Verifikasi bahwa Akun AWS dari mana Anda menelepon `AssumeRole` adalah entitas tepercaya untuk peran yang Anda asumsikan. Entitas tepercaya didefinisikan sebagai `Principal` di kebijakan kepercayaan peran. Contoh berikut adalah kebijakan kepercayaan yang terlampir pada peran yang ingin Anda asumsikan. Dalam contoh ini, ID akun dengan pengguna IAM yang Anda gunakan untuk masuk harus 123456789012. Jika nomor akun Anda tidak tercantum di elemen `Principal` kebijakan kepercayaan peran, maka Anda tidak dapat mengasumsikan peran tersebut. Izin apa pun yang diberikan kepada Anda dalam kebijakan akses tidak akan berpengaruh. Perlu diketahui bahwa contoh kebijakan membatasi izin terhadap tindakan yang inklusif terjadi antara 1 Juli 2017 dan 31 Desember 2017 (UTC). Jika Anda masuk sebelum atau sesudah tanggal-tanggal tersebut, maka kebijakan tidak cocok, dan Anda tidak dapat mengasumsikan peran tersebut. 

  ```
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"},
        "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"}
      }
  ```
+ **Identitas Sumber** *- Administrator dapat mengonfigurasi peran untuk meminta identitas meneruskan string kustom yang mengidentifikasi orang atau aplikasi yang melakukan tindakan AWS, yang disebut identitas sumber.* Verifikasi apakah peran yang diambil mengharuskan identitas sumber ditetapkan. Untuk informasi selengkapnya tentang identitas sumber, lihat [Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan](id_credentials_temp_control-access_monitor.md).

## Peran baru muncul di AWS akun saya
<a name="troubleshoot_roles_new-role-appeared"></a>

Beberapa AWS layanan mengharuskan Anda menggunakan jenis peran layanan unik yang ditautkan langsung ke layanan. [Peran yang berkaitan dengan layanan](id_roles.md#iam-term-service-linked-role) ini telah ditetapkan sebelumnya oleh layanan dan mencakup semua izin yang diperlukan layanan. Hal ini memudahkan pengaturan layanan karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Untuk informasi umum tentang peran terkait layanan, lihat [Buat peran tertaut layanan](id_roles_create-service-linked-role.md).

Anda mungkin sudah menggunakan layanan ketika layanan mulai mendukung peran yang terkait dengan layanan. Jika demikian, Anda mungkin menerima surel tentang peran baru di akun Anda. Peran ini mencakup semua izin yang diperlukan layanan untuk melakukan tindakan atas nama Anda. Anda tidak perlu mengambil tindakan apa pun untuk mendukung peran ini. Namun, Anda tidak boleh menghapus peran tersebut dari akun Anda. Melakukan hal tersebut dapat menghapus izin yang diperlukan layanan untuk mengakses sumber daya AWS . Anda dapat melihat peran yang terkait dengan layanan di akun Anda dengan mengunjungi laman **Peran** IAM di konsol IAM. Peran yang terkait dengan layanan muncul dengan **(Peran yang terkait dengan layanan)** di kolom **Entitas tepercaya** di tabel.

Untuk informasi tentang layanan mana yang mendukung peran terkait 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 yang Terkait dengan Layanan**. Untuk informasi tentang menggunakan peran yang terkait dengan layanan, pilih tautan **Ya**.

## Saya tidak dapat mengedit atau menghapus peran di Akun AWS
<a name="troubleshoot_roles_cant-edit-delete-role"></a>

Anda tidak dapat menghapus atau mengedit izin untuk [peran yang terkait dengan layanan](id_roles.md#iam-term-service-linked-role) di IAM. Peran ini mencakup kepercayaan dan izin yang ditetapkan sebelumnya yang diperlukan oleh layanan untuk melakukan tindakan atas nama Anda. Anda dapat menggunakan konsol IAM, AWS CLI, atau API untuk mengedit hanya deskripsi peran terkait layanan. Anda dapat melihat peran yang terkait dengan layanan di akun Anda dengan masuk ke **Peran** IAM di konsol. Peran yang terkait dengan layanan muncul dengan **(Peran yang terkait dengan layanan)** dalam kolom **Entitas terpercaya** di tabel. Banner pada halaman **Ringkasan** peran juga menunjukkan bahwa peran tersebut adalah peran yang terkait dengan layanan. Anda dapat mengelola dan menghapus peran ini hanya melalui layanan yang terhubung, jika layanan tersebut mendukung tindakan. Berhati-hatilah saat memodifikasi atau menghapus peran terkait layanan karena melakukan hal ini dapat menghapus izin yang diperlukan layanan untuk mengakses sumber daya AWS . 

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 yang Terkait dengan Layanan**. 

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

Saat Anda membuat peran yang terkait dengan layanan, Anda harus memiliki izin untuk meneruskan peran tersebut ke layanan. Beberapa layanan secara otomatis membuat peran yang terkait dengan layanan di akun Anda ketika Anda melakukan tindakan di layanan tersebut. Misalnya, Amazon EC2 Auto Scaling membuat `AWSServiceRoleForAutoScaling` peran yang terkait dengan layanan untuk Anda pertama kali saat Anda membuat kelompok Auto Scaling. Jika Anda mencoba membuat grup Auto Scaling tanpa izin `PassRole`, Anda menerima kesalahan berikut ini:

`ClientError: An error occurred (AccessDenied) when calling the PutLifecycleHook operation: User: arn:aws:sts::111122223333:assumed-role/Testrole/Diego is not authorized to perform: iam:PassRole on resource: arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling`

Untuk memperbaiki kesalahan ini, minta administrator Anda untuk menambahkan izin `iam:PassRole` untuk Anda.

Untuk mempelajari layanan mana yang mendukung peran yang terkait dengan layanan, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md). Untuk mempelajari apakah layanan secara otomatis membuat peran yang terkait dengan layanan untuk Anda, pilih tautan **Ya** untuk melihat dokumentasi peran layanan yang terkait dengan layanan.

## Mengapa saya tidak dapat mengasumsikan peran dengan sesi 12 jam? (AWS CLI, AWS API)
<a name="troubleshoot_roles_cant-set-session"></a>

Saat Anda menggunakan operasi AWS STS `AssumeRole*` API atau `assume-role*` CLI untuk mengambil peran, Anda dapat menentukan nilai untuk parameter tersebut`DurationSeconds`. Anda dapat menentukan nilai dari 900 detik (15 menit) hingga pengaturan **Durasi sesi maksimum** untuk peran tersebut. Jika Anda menentukan nilai yang lebih tinggi dari pengaturan ini, operasi akan gagal. Pengaturan ini dapat memiliki nilai maksimum 12 jam. Misalnya, jika Anda menentukan durasi sesi 12 jam, tetapi administrator Anda mengatur durasi sesi maksimum menjadi 6 jam, operasi Anda gagal. Untuk mempelajari cara melihat nilai maksimum untuk peran Anda, lihat [Memperbarui durasi sesi maksimum untuk peran](id_roles_update-role-settings.md#id_roles_update-session-duration). 

Jika Anda menggunakan [*rantai peran*](id_roles.md#iam-term-role-chaining) (menggunakan peran untuk mengsumsikan peran kedua), sesi Anda dibatasi hingga maksimum satu jam. Jika Anda kemudian menggunakan parameter `DurationSeconds` untuk memberikan nilai lebih dari satu jam, operasi akan gagal. 

## Saya menerima kesalahan saat mencoba beralih peran di konsol IAM
<a name="troubleshoot_roles_cant-switch-role-console"></a>

Informasi yang Anda masukkan di laman **Beralih Peran** harus sesuai dengan informasi untuk peran. Jika tidak, operasi akan gagal dan Anda menerima kesalahan berikut:

`Invalid information in one or more fields. Check your information or contact your administrator.`

Jika Anda menerima pesan kesalahan ini, pastikan bahwa informasi berikut benar:
+ **ID Akun atau alias** — Akun AWS ID adalah nomor 12 digit. Akun Anda mungkin memiliki alias, yang merupakan pengenal ramah seperti nama perusahaan Anda yang dapat digunakan sebagai pengganti ID Anda Akun AWS . Anda dapat menggunakan ID akun atau alias di bidang ini.
+ **Nama peran** – Nama peran bersifat peka terhadap kapitalisasi huruf. ID akun dan nama peran harus sesuai dengan apa yang dikonfigurasi untuk peran tersebut.

Jika Anda terus menerima pesan kesalahan, hubungi administrator Anda untuk memverifikasi informasi sebelumnya. Kebijakan kepercayaan peran atau kebijakan pengguna IAM mungkin membatasi akses Anda. Administrator Anda dapat memverifikasi izin untuk kebijakan ini.

## Peran saya memiliki kebijakan yang memungkinkan saya melakukan tindakan, tetapi saya mendapatkan “akses ditolak”
<a name="troubleshoot_roles_session-policy"></a>

Sesi peran Anda mungkin dibatasi oleh kebijakan sesi. [Jika Anda [meminta kredensil keamanan sementara](id_credentials_temp_request.md) secara terprogram AWS STS, Anda dapat meneruskan kebijakan sesi inline atau terkelola secara opsional.](access_policies.md#policies_session) Kebijakan sesi adalah kebijakan lanjutan yang Anda sampaikan sebagai parameter saat Anda secara terprogram membuat sesi kredensial sementara untuk peran. Anda dapat menyampaikan satu dokumen kebijakan sesi inline JSON menggunakan parameter `Policy`. Anda dapat menggunakan parameter `PolicyArns` untuk menentukan hingga 10 kebijakan sesi terkelola. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas dan kebijakan sesi peran. Selain itu, jika administrator Anda atau program khusus memberi Anda kredensial sementara, mereka mungkin telah menyertakan kebijakan sesi untuk membatasi akses Anda.

## Layanan tidak membuat versi kebijakan default peran tersebut
<a name="troubleshoot_serviceroles_edited-policy"></a>

Peran layanan adalah peran yang diasumsikan oleh layanan untuk melakukan tindakan di akun Anda atas nama Anda. Ketika Anda mengatur beberapa lingkungan AWS layanan, Anda harus menentukan peran untuk layanan untuk mengambil alih. Dalam beberapa kasus, layanan tersebut menciptakan peran layanan dan kebijakannya di IAM untuk Anda. Meskipun Anda dapat memodifikasi atau menghapus peran layanan dan kebijakannya dari dalam IAM, AWS tidak merekomendasikan hal ini. Peran dan kebijakan ditujukan hanya untuk digunakan oleh layanan tersebut. Jika Anda mengedit kebijakan dan menyiapkan lingkungan lain, ketika layanan mencoba menggunakan peran dan kebijakan yang sama, operasi dapat gagal.

Misalnya, saat Anda menggunakan AWS CodeBuild untuk pertama kalinya, layanan akan membuat peran bernama`codebuild-RWBCore-service-role`. Peran layanan tersebut menggunakan kebijakan bernama `codebuild-RWBCore-managed-policy`. Jika Anda mengedit kebijakan, ini akan membuat versi baru dan menyimpan versi tersebut sebagai versi default. Jika Anda melakukan operasi berikutnya di AWS CodeBuild, layanan mungkin mencoba memperbarui kebijakan. Jika iya, Anda akan menerima kesalahan berikut:

`codebuild.amazon.com did not create the default version (V2) of the codebuild-RWBCore-managed-policy policy that is attached to the codebuild-RWBCore-service-role role. To continue, detach the policy from any other identities and then delete the policy and the role.`

Jika Anda menerima kesalahan ini, Anda harus membuat perubahan di IAM sebelum Anda dapat melanjutkan dengan operasi layanan Anda. Pertama, atur versi kebijakan default ke V1 dan coba kembali operasi tersebut. Jika V1 sebelumnya dihapus, atau jika memilih V1 tidak berfungsi, maka bersihkan dan hapus kebijakan dan peran yang ada.

Untuk informasi selengkapnya tentang mengedit kebijakan terkelola, lihat [Menyunting kebijakan terkelola pelanggan (konsol)](access_policies_manage-edit-console.md#edit-customer-managed-policy-console). Untuk informasi selengkapnya tentang versi kebijakan, lihat [Peningkatan versi IAM](access_policies_managed-versioning.md). 

**Untuk menghapus peran layanan dan kebijakannya**

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, pilih **Kebijakan**.

1. Dalam daftar kebijakan, pilih nama kebijakan yang ingin Anda hapus.

1. Pilih tab **Entitas yang dilampirkan** untuk melihat pengguna, grup, atau peran IAM mana yang menggunakan kebijakan ini. Jika salah satu dari identitas ini menggunakan kebijakan, selesaikan tugas berikut:

   1. Buat kebijakan terkelola baru dengan izin yang diperlukan. Untuk memastikan bahwa identitas memiliki izin yang sama sebelum dan setelah tindakan Anda, salin dokumen kebijakan JSON dari kebijakan yang ada. Kemudian buat kebijakan terkelola baru dan tempel dokumen JSON seperti yang dijelaskan dalam [Membuat Kebijakan menggunakan editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

   1. Untuk setiap identitas yang terpengaruh, lampirkan kebijakan baru dan lepaskan kebijakan lama. Untuk informasi selengkapnya, lihat [Menambahkan dan menghapus izin identitas IAM](access_policies_manage-attach-detach.md).

1. Di panel navigasi, pilih **Peran**.

1. Dalam daftar peran, pilih nama peran yang ingin Anda hapus.

1. Pilih tab **Hubungan kepercayaan** untuk melihat entitas mana yang dapat mengasumsikan peran tersebut. Jika entitas selain layanan dicantumkan, selesaikan tugas berikut:

   1. [Buat peran baru](id_roles_create_for-user.md#roles-creatingrole-user-console) yang memercayai entitas tersebut.

   1. Kebijakan yang Anda buat pada langkah sebelumnya. Jika Anda melewatkan langkah tersebut, buat kebijakan terkelola baru sekarang.

   1. Beri tahu siapa pun yang mengasumsikan peran tersebut bahwa mereka tidak dapat lagi melakukannya. Berikan informasi kepada mereka tentang cara mengasumsikan peran baru dan memiliki izin yang sama.

1. [Hapus kebijakan](access_policies_manage-delete-console.md#delete-customer-managed-policy-console).

1. [Hapus peran](id_roles_manage_delete.md#roles-managingrole-deleting-console).

## Tidak ada kasus penggunaan untuk peran layanan di konsol
<a name="troubleshoot_serviceroles_console-use-case"></a>

Beberapa layanan mengharuskan Anda membuat peran layanan secara manual untuk memberi layanan izin untuk melakukan tindakan atas nama Anda. Jika layanan tidak terdaftar di konsol IAM, Anda harus mencantumkan layanan secara manual sebagai prinsipal tepercaya. Jika dokumentasi untuk layanan atau fitur yang Anda gunakan tidak menyertakan petunjuk untuk mencantumkan layanan sebagai prinsipal tepercaya, berikan umpan balik untuk halaman.

Untuk membuat peran layanan secara manual, Anda harus mengetahui [prinsipal layanan](reference_policies_elements_principal.md#principal-services) untuk layanan yang akan mengambil peran. Sebuah prinsipal layanan adalah pengidentifikasi yang digunakan untuk memberikan izin layanan. Prinsipal layanan ditentukan oleh layanan tersebut. 

Anda dapat menemukan prinsipal layanan untuk beberapa layanan dengan memeriksa hal berikut:

1. Buka [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md).

1. Periksa apakah layanan memiliki **Yes** (Ya) di kolom **Service-linked roles** (Peran terkait layanan).

1. Pilih tautan **Ya** untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

1. Temukan bagian Izin peran terkait layanan untuk layanan tersebut untuk melihat [prinsipal layanan](reference_policies_elements_principal.md#principal-services).

Anda dapat secara manual membuat peran layanan menggunakan [perintah AWS CLI](id_roles_create_for-service.md#roles-creatingrole-service-cli) atau [operasi API AWS](id_roles_create_for-service.md#roles-creatingrole-service-api). Untuk membuat peran layanan secara manual menggunakan konsol IAM, selesaikan tugas-tugas berikut:

1. Buat peran IAM menggunakan ID akun Anda. Jangan lampirkan kebijakan atau beri izin apa pun. Lihat perinciannya di [Buat peran untuk memberikan izin kepada pengguna IAM](id_roles_create_for-user.md).

1. Buka peran dan edit hubungan kepercayaan. Alih-alih memercayai akun, peran harus memercayai layanan. Misalnya, perbarui yang elemen `Principal` berikut:

   ```
   "Principal": { "AWS": "arn:aws:iam::123456789012:root" }
   ```

   Ubah prinsipal ke nilai layanan Anda, seperti IAM.

   ```
   "Principal": { "Service": "iam.amazonaws.com" }
   ```

1. Tambahkan izin yang diperlukan layanan dengan melampirkan kebijakan izin untuk peran.

1. Kembali ke layanan yang memerlukan izin dan gunakan metode yang didokumentasikan untuk memberi tahu layanan tentang peran layanan baru.

# 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 ("\$1")
  + `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.

# Memecahkan masalah IAM dan Amazon S3
<a name="troubleshoot_iam-s3"></a>

Gunakan informasi di sini untuk membantu Anda memecahkan dan memperbaiki masalah yang mungkin Anda hadapi saat bekerja dengan Amazon S3 dan IAM.

## Bagaimana saya memberikan akses anonim ke bucket Amazon S3?
<a name="troubleshoot_iam-s3_anonymous-bucket-access"></a>

Anda menggunakan kebijakan bucket Amazon S3 yang menentukan wildcard (\$1) di elemen `principal`, yang berarti siapa pun dapat mengakses bucket. Dengan akses anonim, siapa pun (termasuk pengguna tanpa Akun AWS) akan dapat mengakses bucket. Untuk kebijakan contoh, lihat [Contoh Kasus untuk Kebijakan Bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

## Saya masuk sebagai pengguna Akun AWS root. Mengapa saya tidak dapat mengakses bucket Amazon S3 di bawah akun saya?
<a name="troubleshoot_iam-s3_root-bucket-access"></a>

Dalam beberapa kasus, Anda mungkin memiliki pengguna IAM dengan akses penuh ke IAM dan Amazon S3. Jika pengguna IAM menetapkan kebijakan bucket ke bucket Amazon S3 dan tidak menetapkan pengguna root sebagai prinsipal, pengguna root akan ditolak akses ke bucket tersebut. Namun, sebagai pengguna utama, Anda masih dapat mengakses bucket. Untuk melakukannya, ubah kebijakan bucket untuk mengizinkan akses pengguna root dari konsol Amazon S3 atau konsol. AWS CLI Gunakan prinsip berikut, ganti *123456789012* dengan ID dari Akun AWS.

```
"Principal": { "AWS": "arn:aws:iam::123456789012:root" }
```

# Memecahkan masalah federasi SAMP dengan IAM
<a name="troubleshoot_saml"></a>

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki masalah yang mungkin Anda temukan saat bekerja dengan SAML 2.0 dan federasi dengan AWS Identity and Access Management.

**Topics**
+ [Kesalahan: Permintaan Anda menyertakan respons SAMP yang tidak valid. Untuk logout, klik di sini.](#troubleshoot_saml_invalid-response)
+ [Kesalahan: RoleSessionName diperlukan dalam AuthnResponse (layanan: AWSSecurityTokenService; kode status: 400; kode kesalahan: InvalidIdentityToken)](#troubleshoot_saml_missing-rolesessionname)
+ [Kesalahan: Tidak berwenang untuk melakukan sts: AssumeRoleWith SAMP (layanan: AWSSecurityTokenService; kode status: 403; kode kesalahan:) AccessDenied](#troubleshoot_saml_missing-role)
+ [Kesalahan: RoleSessionName di AuthnResponse harus cocok [A-za-Z\$10-9\$1=, .@-] \$12,64\$1 (layanan:; kode status: 400; kode kesalahan: AWSSecurityTokenService) InvalidIdentityToken](#troubleshoot_saml_invalid-rolesessionname)
+ [Kesalahan: Identitas Sumber harus cocok dengan [A-za-Z\$10-9\$1=, .@-] \$12,64\$1 dan tidak dimulai dengan `"aws:"` (layanan:; kode status: 400; kode kesalahan: AWSSecurityTokenService) InvalidIdentityToken](#troubleshoot_saml_invalid-sourceidentity)
+ [Kesalahan: Tanda tangan respons tidak valid (layanan: AWSSecurityTokenService; kode status: 400; kode kesalahan:) InvalidIdentityToken](#troubleshoot_saml_invalid-metadata)
+ [Kesalahan: Kunci pribadi tidak valid.](#troubleshoot_saml_invalid-private-key)
+ [Kesalahan: Gagal menghapus kunci pribadi.](#troubleshoot_saml_invalid-remove-key)
+ [Kesalahan: Gagal menghapus kunci pribadi karena ID Kunci tidak cocok dengan kunci pribadi.](#troubleshoot_saml_invalid-remove-key-mismatch)
+ [Kesalahan: Gagal mengambil peran: Penerbit tidak hadir di penyedia tertentu (layanan: AWSOpenIdDiscoveryService; kode status: 400; kode kesalahan: AuthSamlInvalidSamlResponseException)](#troubleshoot_saml_issuer-mismatch)
+ [Kesalahan: Tidak dapat mengurai metadata.](#troubleshoot_saml_issuer-metadata)
+ [Kesalahan: Tidak dapat memperbarui penyedia identitas. Tidak ada pembaruan yang ditentukan untuk pernyataan metadata atau enkripsi.](#troubleshoot_saml_unable-to-update)
+ [Kesalahan: Tidak dapat mengatur mode enkripsi pernyataan ke Wajib karena tidak ada kunci pribadi yang disediakan.](#troubleshoot_saml_issuer-private-key-required)
+ [Kesalahan: Tidak dapat menambah dan menghapus kunci pribadi dalam permintaan yang sama. Tetapkan nilai hanya untuk satu dari dua parameter.](#troubleshoot_saml_add-remove-keys)
+ [Kesalahan: Penyedia yang ditentukan tidak ada.](#troubleshoot_saml_provider-doesnotexist)
+ [Kesalahan: Diminta DurationSeconds melebihi MaxSessionDuration set untuk peran ini.](#troubleshoot_saml_duration-exceeds)
+ [Kesalahan: Batas kunci pribadi 2 tercapai.](#troubleshoot_saml_private-key-exceeds)
+ [Kesalahan: Respons tidak berisi audiens yang diperlukan.](#troubleshoot_saml_required-audience)

## Kesalahan: Permintaan Anda menyertakan respons SAMP yang tidak valid. Untuk logout, klik di sini.
<a name="troubleshoot_saml_invalid-response"></a>

Kesalahan ini dapat terjadi saat respons SAML dari penyedia identitas tidak menyertakan atribut dengan `Name` yang ditetapkan ke `https://aws.amazon.com/SAML/Attributes/Role`. Atribut harus berisi satu atau beberapa elemen `AttributeValue`, masing-masing berisi sepasang string yang dipisahkan koma:
+ ARN peran yang tempat pengguna dapat dipetakan
+ ARN penyedia SAML

Kesalahan juga dapat terjadi ketika nilai atribut SAMP yang dikirim oleh penyedia identitas memiliki spasi putih depan atau belakang, atau karakter tidak valid lainnya dalam nilai atribut SAMP. Untuk informasi selengkapnya tentang nilai yang diharapkan untuk atribut SAMP, lihat [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md)

Untuk informasi selengkapnya, lihat [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md). Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di [Lihat respons SAMP di browser Anda](troubleshoot_saml_view-saml-response.md).

## Kesalahan: RoleSessionName diperlukan dalam AuthnResponse (layanan: AWSSecurityTokenService; kode status: 400; kode kesalahan: InvalidIdentityToken)
<a name="troubleshoot_saml_missing-rolesessionname"></a>

Kesalahan ini dapat terjadi saat respons SAML dari penyedia identitas tidak menyertakan atribut dengan `Name` yang ditetapkan ke `https://aws.amazon.com/SAML/Attributes/RoleSessionName`. Nilai atribut adalah pengidentifikasi untuk pengguna dan umumnya adalah ID pengguna atau alamat email.

Untuk informasi selengkapnya, lihat [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md). Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di [Lihat respons SAMP di browser Anda](troubleshoot_saml_view-saml-response.md).

## Kesalahan: Tidak berwenang untuk melakukan sts: AssumeRoleWith SAMP (layanan: AWSSecurityTokenService; kode status: 403; kode kesalahan:) AccessDenied
<a name="troubleshoot_saml_missing-role"></a>

Kesalahan ini dapat terjadi jika IAM role yang ditentukan dalam respons SAML salah eja atau tidak ada. Pastikan untuk menggunakan nama yang tepat dari peran Anda, karena nama peran bersifat peka kapitalisasi huruf. Perbaiki nama peran dalam konfigurasi penyedia layanan SAML.

Anda diperbolehkan mengakses hanya jika kebijakan kepercayaan peran Anda mencakup tindakan `sts:AssumeRoleWithSAML`. Jika pernyataan SAML Anda dikonfigurasikan untuk menggunakan [atribut `PrincipalTag`](id_roles_providers_create_saml_assertions.md#saml_role-session-tags), kebijakan kepercayaan Anda juga harus mencakup tindakan `sts:TagSession`. Untuk informasi selengkapnya tentang tanda sesi, lihat [Lulus tag sesi di AWS STS](id_session-tags.md).

Kesalahan ini dapat terjadi jika Anda tidak memiliki izin `sts:SetSourceIdentity` dalam kebijakan kepercayaan peran Anda. Jika pernyataan SAML Anda dikonfigurasikan untuk menggunakan atribut [`SourceIdentity`](id_roles_providers_create_saml_assertions.md#saml_sourceidentity), kebijakan kepercayaan Anda juga harus mencakup tindakan `sts:SetSourceIdentity`. Untuk informasi selengkapnya tentang identitas sumber, lihat [Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan](id_credentials_temp_control-access_monitor.md).

Kesalahan ini juga dapat terjadi jika kepala sekolah federasi tidak memiliki izin untuk mengambil peran. Peran tersebut harus memiliki kebijakan kepercayaan yang menentukan ARN dari penyedia identitas SAMP IAM sebagai. `Principal` Peran ini juga berisi kondisi yang mengontrol pengguna mana yang dapat mengasumsikan peran tersebut. Pastikan bahwa pengguna Anda memenuhi persyaratan kondisi.

Kesalahan ini juga dapat terjadi jika respons SAML tidak mencakup `Subject` yang mengandung `NameID`.

Untuk informasi selengkapnya, lihat [Mengaktifkan prinsip federasi SAMP 2.0 untuk mengakses Konsol Manajemen AWS](id_roles_providers_enable-console-saml.md) dan [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md). Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di [Lihat respons SAMP di browser Anda](troubleshoot_saml_view-saml-response.md).

## Kesalahan: RoleSessionName di AuthnResponse harus cocok [A-za-Z\$10-9\$1=, .@-] \$12,64\$1 (layanan:; kode status: 400; kode kesalahan: AWSSecurityTokenService) InvalidIdentityToken
<a name="troubleshoot_saml_invalid-rolesessionname"></a>

Kesalahan ini dapat terjadi jika nilai atribut `RoleSessionName` terlalu panjang atau mengandung karakter yang tidak valid. Panjang valid maksimum adalah 64 karakter.

Untuk informasi selengkapnya, lihat [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md). Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di [Lihat respons SAMP di browser Anda](troubleshoot_saml_view-saml-response.md).

## Kesalahan: Identitas Sumber harus cocok dengan [A-za-Z\$10-9\$1=, .@-] \$12,64\$1 dan tidak dimulai dengan `"aws:"` (layanan:; kode status: 400; kode kesalahan: AWSSecurityTokenService) InvalidIdentityToken
<a name="troubleshoot_saml_invalid-sourceidentity"></a>

Kesalahan ini dapat terjadi jika nilai atribut `sourceIdentity` terlalu panjang atau mengandung karakter yang tidak valid. Panjang valid maksimum adalah 64 karakter. Untuk informasi selengkapnya tentang identitas sumber, lihat [Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan](id_credentials_temp_control-access_monitor.md).

Untuk informasi selengkapnya tentang cara membuat pernyataan SAML, lihat [Konfigurasikan pernyataan SAMP untuk respons otentikasi](id_roles_providers_create_saml_assertions.md). Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di [Lihat respons SAMP di browser Anda](troubleshoot_saml_view-saml-response.md).

## Kesalahan: Tanda tangan respons tidak valid (layanan: AWSSecurityTokenService; kode status: 400; kode kesalahan:) InvalidIdentityToken
<a name="troubleshoot_saml_invalid-metadata"></a>

Kesalahan ini dapat terjadi saat metadata federasi penyedia identitas tidak cocok dengan metadata penyedia identitas IAM. Misalnya, file metadata untuk penyedia layanan identitas mungkin telah berubah untuk memperbarui sertifikat yang kedaluwarsa. Unduh file metadata SAML yang diperbarui dari penyedia layanan identitas Anda. Kemudian perbarui di entitas penyedia AWS identitas yang Anda tentukan di IAM dengan perintah `aws iam update-saml-provider` CLI lintas platform atau cmdlet. `Update-IAMSAMLProvider` PowerShell

## Kesalahan: Kunci pribadi tidak valid.
<a name="troubleshoot_saml_invalid-private-key"></a>

Kesalahan ini dapat terjadi jika Anda tidak memformat file kunci pribadi Anda dengan benar. Kesalahan ini dapat memberikan detail tambahan tentang mengapa kunci pribadi tidak valid:
+ Kunci dienkripsi.
+ Format kunci tidak dikenali. File kunci pribadi harus berupa file.pem.

Ketika Anda [Buat penyedia identitas SAMP di IAM](id_roles_providers_create_saml.md) masuk Konsol Manajemen AWS, Anda harus mengunduh kunci pribadi dari penyedia identitas Anda untuk diberikan kepada IAM untuk mengaktifkan enkripsi. Kunci pribadi harus berupa file.pem yang menggunakan algoritma enkripsi AES-GCM atau AES-CBC untuk mendekripsi pernyataan SAMP.

## Kesalahan: Gagal menghapus kunci pribadi.
<a name="troubleshoot_saml_invalid-remove-key"></a>

Kesalahan ini dapat terjadi ketika enkripsi SAMP disetel ke Required, dan permintaan Anda akan menghapus satu-satunya kunci dekripsi pribadi untuk penyedia IAM SAMP. Untuk informasi selengkapnya tentang memutar kunci pribadi, lihat[Kelola kunci enkripsi SAMP](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

## Kesalahan: Gagal menghapus kunci pribadi karena ID Kunci tidak cocok dengan kunci pribadi.
<a name="troubleshoot_saml_invalid-remove-key-mismatch"></a>

Kesalahan ini dapat terjadi jika `keyId` nilai untuk kunci pribadi tidak cocok dengan ID Kunci untuk file kunci pribadi penyedia identitas.

Saat Anda menggunakan [update-saml-provider](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-saml-provider.html)atau [Memperbarui](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html) operasi SAMLProvider API untuk menghapus kunci pribadi enkripsi SAMP, nilai dalam `RemovePrivateKey` harus berupa ID Kunci yang valid untuk kunci pribadi yang dilampirkan ke penyedia identitas Anda.

## Kesalahan: Gagal mengambil peran: Penerbit tidak hadir di penyedia tertentu (layanan: AWSOpenIdDiscoveryService; kode status: 400; kode kesalahan: AuthSamlInvalidSamlResponseException)
<a name="troubleshoot_saml_issuer-mismatch"></a>

Kesalahan ini dapat terjadi jika penerbit dalam respons SAML tidak cocok dengan penerbit yang dinyatakan dalam file metadata federasi. File metadata diunggah AWS saat Anda membuat penyedia identitas di IAM.

## Kesalahan: Tidak dapat mengurai metadata.
<a name="troubleshoot_saml_issuer-metadata"></a>

Kesalahan ini dapat terjadi jika Anda tidak memformat file metadata Anda dengan benar.

Saat Anda [membuat atau mengelola penyedia identitas SAMP](id_roles_providers_create_saml.md#idp-manage-identityprovider-console) di Konsol Manajemen AWS, Anda harus mengambil dokumen metadata SAMP dari penyedia identitas Anda.

File metadata ini mencakup nama penerbit, informasi kedaluwarsa, dan kunci yang dapat digunakan untuk memvalidasi respons otentikasi SAMP (pernyataan) yang diterima dari iDP. File metadata harus dienkode dalam format UTF-8 tanpa tanda urutan byte (BOM). Untuk menghapus BOM, Anda dapat mengkode file sebagai UTF-8 menggunakan alat bantu edit teks, seperti Notepad\$1\$1.

Sertifikat X.509 yang disertakan sebagai bagian dari dokumen metadata SAMP harus menggunakan ukuran kunci minimal 1024 bit. Selain itu, sertifikat X.509 juga harus bebas dari ekstensi berulang. Anda dapat menggunakan ekstensi, tetapi ekstensi hanya dapat muncul sekali dalam sertifikat. Jika sertifikat X.509 tidak memenuhi salah satu kondisi, pembuatan IDP gagal dan mengembalikan kesalahan “Tidak dapat mengurai metadata”.

Seperti yang didefinisikan oleh [SAMP V2.0 Metadata Interoperability Profile Versi 1.0](https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop-os.html), IAM tidak mengevaluasi atau mengambil tindakan pada berakhirnya sertifikat X.509 dalam dokumen metadata SAMP. Jika Anda khawatir tentang sertifikat X.509 yang kedaluwarsa, kami sarankan untuk memantau tanggal kedaluwarsa sertifikat dan sertifikat berputar sesuai dengan kebijakan tata kelola dan keamanan organisasi Anda.

## Kesalahan: Tidak dapat memperbarui penyedia identitas. Tidak ada pembaruan yang ditentukan untuk pernyataan metadata atau enkripsi.
<a name="troubleshoot_saml_unable-to-update"></a>

Kesalahan ini dapat terjadi jika Anda menggunakan operasi `update-saml-provider` CLI atau `UpdateSAMLProvider` API, tetapi tidak memberikan nilai pembaruan dalam parameter permintaan Anda. Untuk informasi selengkapnya tentang memperbarui penyedia IAM SAMP Anda, lihat. [Buat penyedia identitas SAMP di IAM](id_roles_providers_create_saml.md)

## Kesalahan: Tidak dapat mengatur mode enkripsi pernyataan ke Wajib karena tidak ada kunci pribadi yang disediakan.
<a name="troubleshoot_saml_issuer-private-key-required"></a>

Kesalahan ini dapat terjadi ketika Anda belum mengunggah kunci dekripsi pribadi sebelumnya dan Anda mencoba menyetel enkripsi SAMP ke Required tanpa menyertakan kunci pribadi dalam permintaan Anda.

Pastikan bahwa kunci pribadi ditentukan untuk penyedia IAM SAMP Anda saat menggunakan operasi CLI`CreateSAMLProvider`, API, `create-saml-provider` `update-saml-provider` CLI, atau `UpdateSAMLProvider` API untuk memerlukan pernyataan SAMP terenkripsi. 

## Kesalahan: Tidak dapat menambah dan menghapus kunci pribadi dalam permintaan yang sama. Tetapkan nilai hanya untuk satu dari dua parameter.
<a name="troubleshoot_saml_add-remove-keys"></a>

Kesalahan ini dapat terjadi jika nilai tambah dan hapus kunci pribadi disertakan dalam permintaan yang sama.

Saat Anda menggunakan [update-saml-provider](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-saml-provider.html)atau [Memperbarui](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html) operasi SAMLProvider API untuk memutar file kunci pribadi enkripsi SAMP, Anda hanya dapat menambah atau menghapus kunci pribadi dalam permintaan Anda. Jika Anda menambahkan kunci pribadi saat menghapus kunci pribadi, operasi gagal. Untuk informasi selengkapnya tentang memutar kunci pribadi, lihat[Kelola kunci enkripsi SAMP](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

## Kesalahan: Penyedia yang ditentukan tidak ada.
<a name="troubleshoot_saml_provider-doesnotexist"></a>

Kesalahan ini dapat terjadi jika nama penyedia dalam pernyataan SAMP tidak cocok dengan nama penyedia di IAM. Untuk informasi selengkapnya tentang melihat nama penyedia, lihat [Buat penyedia identitas SAMP di IAM](id_roles_providers_create_saml.md).

## Kesalahan: Diminta DurationSeconds melebihi MaxSessionDuration set untuk peran ini.
<a name="troubleshoot_saml_duration-exceeds"></a>

Kesalahan ini dapat terjadi jika Anda mengambil peran dari AWS CLI atau API. 

Saat Anda menggunakan operasi [assume-role-with-saml](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)CLI atau [AssumeRoleWithSAMP](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) API untuk mengambil peran, Anda dapat menentukan nilai untuk parameter tersebut. `DurationSeconds` Anda dapat menentukan nilai dari 900 detik (15 menit) hingga pengaturan durasi sesi maksimum untuk peran tersebut. Jika Anda menentukan nilai yang lebih tinggi dari pengaturan ini, operasi gagal. Misalnya, jika Anda menentukan durasi sesi 12 jam, tetapi administrator Anda mengatur durasi sesi maksimum menjadi 6 jam, operasi Anda gagal. Untuk mempelajari cara melihat nilai maksimum untuk peran Anda, lihat [Memperbarui durasi sesi maksimum untuk peran](id_roles_update-role-settings.md#id_roles_update-session-duration).

## Kesalahan: Batas kunci pribadi 2 tercapai.
<a name="troubleshoot_saml_private-key-exceeds"></a>

Kesalahan ini dapat terjadi jika Anda mencoba menambahkan kunci pribadi ke penyedia identitas Anda.

Anda dapat menyimpan hingga dua kunci pribadi untuk setiap penyedia identitas. Saat Anda menggunakan [update-saml-provider](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-saml-provider.html)atau [Memperbarui](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html) operasi SAMLProvider API untuk menambahkan kunci pribadi ketiga, operasi gagal. 

Hapus kunci pribadi yang telah kedaluwarsa sebelum menambahkan kunci pribadi baru. Untuk informasi selengkapnya tentang memutar kunci pribadi, lihat[Kelola kunci enkripsi SAMP](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

## Kesalahan: Respons tidak berisi audiens yang diperlukan.
<a name="troubleshoot_saml_required-audience"></a>

Kesalahan ini dapat terjadi jika ada ketidakcocokan antara URL audiens dan penyedia identitas dalam konfigurasi SAMP. Pastikan bahwa pengenal pihak yang mengandalkan penyedia identitas (IDP) Anda sama persis dengan URL audiens (ID entitas) yang disediakan dalam konfigurasi SAMP.