

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

# Manajemen identitas dan akses di Amazon SQS
<a name="security-iam"></a>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Ikhtisar mengelola akses di Amazon SQS
<a name="sqs-overview-of-managing-access"></a>

Setiap AWS sumber daya dimiliki oleh Akun AWS, dan izin untuk membuat atau mengakses sumber daya diatur oleh kebijakan izin. Administrator akun dapat melampirkan kebijakan izin ke identitas IAM (pengguna, grup, dan peran), dan beberapa layanan (seperti Amazon SQS) juga mendukung melampirkan kebijakan izin ke sumber daya.

**catatan**  
*Administrator akun* (atau pengguna administrator) adalah pengguna dengan hak administratif. Untuk informasi selengkapnya, lihat [Praktik Terbaik IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

Saat memberikan izin, Anda menentukan pengguna apa yang mendapatkan izin, sumber daya yang mereka dapatkan izin, dan tindakan spesifik yang ingin Anda izinkan pada sumber daya.

## Sumber daya dan operasi Amazon Simple Queue Service
<a name="sqs-resource-and-operations"></a>

*Di Amazon SQS, satu-satunya sumber daya adalah antrian.* Dalam kebijakan, gunakan Nama Sumber Daya Amazon (ARN) untuk mengidentifikasi sumber daya yang berlaku untuk kebijakan tersebut. Sumber daya berikut memiliki ARN unik yang terkait dengannya:


| Tipe sumber daya | Format ARN | 
| --- | --- | 
| Antrean | arn:aws:sqs:region:account\$1id:queue\$1name | 

Berikut ini adalah contoh format ARN untuk antrian:
+ ARN untuk antrian yang disebutkan `my_queue` di wilayah AS Timur (Ohio), milik Akun 123456789012: AWS 

  ```
  arn:aws:sqs:us-east-2:123456789012:my_queue
  ```
+ ARN untuk antrian yang diberi nama `my_queue` di setiap wilayah berbeda yang didukung Amazon SQS:

  ```
  arn:aws:sqs:*:123456789012:my_queue
  ```
+ ARN yang menggunakan `*` atau `?` sebagai wildcard untuk nama antrian. Dalam contoh berikut, ARN mencocokkan semua antrian yang diawali dengan: `my_prefix_`

  ```
  arn:aws:sqs:*:123456789012:my_prefix_*
  ```

Anda bisa mendapatkan nilai ARN untuk antrian yang ada dengan memanggil tindakan. [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html) Nilai `QueueArn` atribut adalah ARN dari antrian. Untuk informasi selengkapnya ARNs, lihat [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) di *Panduan Pengguna IAM*.

Amazon SQS menyediakan serangkaian tindakan yang bekerja dengan sumber daya antrian. Untuk informasi selengkapnya, lihat [Izin Amazon SQS API: Tindakan dan referensi sumber daya](sqs-api-permissions-reference.md).

## Memahami kepemilikan sumber daya
<a name="sqs-understanding-resource-ownership"></a>

 Akun AWS Memiliki sumber daya yang dibuat di akun, terlepas dari siapa yang menciptakan sumber daya. Secara khusus, pemilik sumber daya adalah *entitas utama* (yaitu, akun root, pengguna, atau peran IAM) yang mengautentikasi permintaan pembuatan sumber daya. Akun AWS Contoh berikut menggambarkan cara kerjanya:
+ Jika Anda menggunakan kredensi akun root Anda Akun AWS untuk membuat antrean Amazon SQS, Akun AWS Anda adalah pemilik sumber daya (di Amazon SQS, sumber dayanya adalah antrian Amazon SQS).
+ Jika Anda membuat pengguna di dalam Akun AWS dan memberikan izin untuk membuat antrian ke pengguna, pengguna dapat membuat antrean. Namun, Anda Akun AWS (milik pengguna) memiliki sumber daya antrian.
+ Jika Anda membuat peran IAM Akun AWS dengan izin untuk membuat antrean Amazon SQS, siapa pun yang dapat mengambil peran tersebut dapat membuat antrean. Anda Akun AWS (yang menjadi milik peran tersebut) memiliki sumber daya antrian. 

## Mengelola akses ke sumber daya
<a name="sqs-managing-access-to-resources"></a>

*Kebijakan izin* menjelaskan izin yang diberikan ke akun. Bagian berikut menjelaskan opsi yang tersedia untuk membuat kebijakan izin.

**catatan**  
 Bagian ini membahas penggunaan IAM dalam konteks Amazon SQS. Bagian ini tidak memberikan informasi yang mendetail tentang layanan IAM. Untuk dokumentasi lengkap IAM, lihat [Apa yang Dimaksud dengan IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dalam *Panduan Pengguna IAM*. Untuk informasi tentang sintaksis dan penjelasan kebijakan IAM, lihat [Referensi Kebijakan IAM AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) di *Panduan Pengguna IAM*. 

Kebijakan yang terlampir pada identitas IAM disebut kebijakan (kebijakan IAM) *berbasis identitas* dan kebijakan yang dilampirkan pada sumber daya disebut kebijakan *berbasis sumber daya*.

### Kebijakan berbasis identitas
<a name="sqs-identity-based-features-of-sqs-policies"></a>

Ada dua cara untuk memberikan izin kepada pengguna Anda ke antrian Amazon SQS Anda: menggunakan sistem kebijakan Amazon SQS dan menggunakan sistem kebijakan IAM. Anda dapat menggunakan salah satu sistem, atau keduanya, untuk melampirkan kebijakan ke pengguna atau peran. Dalam kebanyakan kasus, Anda dapat mencapai hasil yang sama menggunakan salah satu sistem. Misalnya, Anda dapat melakukan hal berikut:
+ **Lampirkan kebijakan izin ke pengguna atau grup di akun Anda** — Untuk memberikan izin pengguna untuk membuat antrean Amazon SQS, lampirkan kebijakan izin ke pengguna atau grup tempat pengguna tersebut berada.
+ **Melampirkan kebijakan izin ke pengguna di pengguna lain Akun AWS** — Anda dapat melampirkan kebijakan izin ke pengguna lain Akun AWS untuk memungkinkan mereka berinteraksi dengan antrean Amazon SQS. Namun, izin lintas akun tidak berlaku untuk tindakan berikut:

  Izin lintas akun tidak berlaku untuk tindakan berikut:
  + `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
  + `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
  + `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
  + `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
  + `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
  + `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
  + `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
  + `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
  + `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
  + `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
  + `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
  + `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

  Untuk memberikan akses untuk tindakan ini, pengguna harus memiliki yang sama Akun AWS yang memiliki antrian Amazon SQS.
+ **Melampirkan kebijakan izin ke peran (berikan izin lintas akun) — Untuk memberikan izin** lintas akun ke antrean SQS, Anda harus menggabungkan kebijakan berbasis IAM dan sumber daya:

  1. Di **Akun A** (yang memiliki antrian):
     + Lampirkan **kebijakan berbasis sumber daya ke antrean** SQS. Kebijakan ini harus secara eksplisit memberikan izin yang diperlukan (misalnya, [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html), [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)) kepada prinsipal di **Akun B** (seperti peran IAM).

  1. Di **Akun A**, buat peran IAM:
     + **Kebijakan kepercayaan** yang memungkinkan **Akun B** atau an Layanan AWS untuk mengambil peran.
**catatan**  
Jika Anda ingin Layanan AWS (seperti Lambda atauEventBridge) untuk mengambil peran, tentukan prinsipal layanan (misalnya,lambda.amazonaws.com) dalam kebijakan kepercayaan.
     + **Kebijakan berbasis identitas** yang memberikan izin peran yang diasumsikan untuk berinteraksi dengan antrian.

  1. Di **Akun B**, berikan izin untuk mengambil peran dalam **Akun A**.

Anda harus mengonfigurasi kebijakan akses antrian untuk mengizinkan prinsipal lintas akun. Kebijakan berbasis identitas IAM saja tidak cukup untuk akses lintas akun ke antrian SQS.

Untuk informasi selengkapnya tentang penggunaan IAM untuk mendelegasikan izin, lihat [Manajemen Akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dalam *Panduan Pengguna IAM*.

Meskipun Amazon SQS bekerja dengan kebijakan IAM, Amazon SQS memiliki infrastruktur kebijakannya sendiri. Anda dapat menggunakan kebijakan Amazon SQS dengan antrean untuk menentukan AWS Akun mana yang memiliki akses ke antrean. Anda dapat menentukan jenis akses dan kondisi (misalnya, kondisi yang memberikan izin untuk digunakan`SendMessage`, `ReceiveMessage` jika permintaan dibuat sebelum 31 Desember 2010). Tindakan spesifik yang dapat Anda berikan izin adalah bagian dari daftar keseluruhan tindakan Amazon SQS. Saat Anda menulis kebijakan Amazon SQS dan menentukan `*` “izinkan semua tindakan Amazon SQS,” itu berarti pengguna dapat melakukan semua tindakan dalam subset ini.

Diagram berikut mengilustrasikan konsep salah satu kebijakan Amazon SQS dasar ini yang mencakup subset tindakan. Kebijakan ini untuk`queue_xyz`, dan memberikan izin AWS Akun 1 dan AWS Akun 2 untuk menggunakan tindakan apa pun yang diizinkan dengan antrian yang ditentukan. 

**catatan**  
Sumber daya dalam kebijakan ditentukan sebagai`123456789012/queue_xyz`, di `123456789012` mana ID AWS Akun akun yang memiliki antrian.

![\[Kebijakan Amazon SQS yang mencakup subset tindakan\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/SQS_BasicPolicy.png)


Dengan diperkenalkannya IAM dan konsep *Pengguna* dan *Nama Sumber Daya Amazon (ARNs)*, beberapa hal telah berubah tentang kebijakan SQS. Diagram dan tabel berikut menjelaskan perubahannya.

![\[Nama Sumber Daya IAM dan Amazon ditambahkan ke kebijakan Amazon SQS.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/SQS_PolicyWithNewFeatures.png)


![\[Number one in the diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)Untuk informasi tentang memberikan izin kepada pengguna di akun yang berbeda, lihat [Tutorial: Mendelegasikan Akses di Seluruh AWS Akun Menggunakan Peran IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) Pengguna *IAM*.

![\[Number two in the diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Subset tindakan yang termasuk dalam `*` telah diperluas. Untuk daftar tindakan yang diizinkan, lihat[Izin Amazon SQS API: Tindakan dan referensi sumber daya](sqs-api-permissions-reference.md).

![\[Number three in the diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png)Anda dapat menentukan sumber daya menggunakan Amazon Resource Name (ARN), sarana standar untuk menentukan sumber daya dalam kebijakan IAM. Untuk informasi tentang format ARN untuk antrian Amazon SQS, lihat. [Sumber daya dan operasi Amazon Simple Queue Service](#sqs-resource-and-operations)

Misalnya, menurut kebijakan Amazon SQS pada diagram sebelumnya, siapa pun yang memiliki kredensi keamanan untuk AWS Akun 1 atau Akun 2 dapat mengakses. AWS `queue_xyz` Selain itu, Pengguna Bob dan Susan di AWS Akun Anda sendiri (dengan ID`123456789012`) dapat mengakses antrian.

Sebelum pengenalan IAM, Amazon SQS secara otomatis memberi pembuat antrian kontrol penuh atas antrian (yaitu, akses ke semua kemungkinan tindakan Amazon SQS pada antrian itu). Ini tidak lagi benar, kecuali pembuatnya menggunakan kredensi AWS keamanan. Setiap pengguna yang memiliki izin untuk membuat antrian juga harus memiliki izin untuk menggunakan tindakan Amazon SQS lainnya untuk melakukan apa pun dengan antrian yang dibuat.

Berikut ini adalah contoh kebijakan yang memungkinkan pengguna untuk menggunakan semua tindakan Amazon SQS, tetapi hanya dengan antrian yang namanya diawali dengan string literal. `bob_queue_`

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

****  

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

------

Untuk informasi selengkapnya, lihat[Menggunakan kebijakan dengan Amazon SQS](sqs-using-identity-based-policies.md), dan [Identitas (Pengguna, Grup, dan Peran)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) di *Panduan Pengguna IAM*.

## Menentukan elemen kebijakan: Tindakan, efek, sumber daya, dan principal
<a name="sqs-specifying-policy-elements"></a>

[Untuk setiap [sumber daya Amazon Simple Queue Service](#sqs-resource-and-operations), layanan mendefinisikan serangkaian tindakan.](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html) Untuk memberikan izin untuk tindakan ini, Amazon SQS mendefinisikan serangkaian tindakan yang dapat Anda tentukan dalam kebijakan.

**catatan**  
Melakukan tindakan dapat memerlukan izin untuk lebih dari satu tindakan. Saat memberikan izin untuk tindakan tertentu, Anda juga mengidentifikasi sumber daya tempat tindakan diizinkan atau ditolak.

Berikut adalah elemen-elemen kebijakan yang paling dasar:
+ **Sumber daya** – Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang diatur kebijakan.
+ **Tindakan** – Anda menggunakan kata kunci tindakan untuk mengidentifikasi tindakan sumber daya yang ingin Anda izinkan atau tolak. Misalnya, `sqs:CreateQueue` izin memungkinkan pengguna untuk melakukan `CreateQueue` tindakan Amazon Simple Queue Service.
+ **Efek** – Anda menentukan efek ketika pengguna meminta tindakan tertentu—efek ini dapat berupa pemberian izin atau penolakan. Jika Anda tidak secara eksplisit memberikan akses ke sumber daya, akses secara implisit ditolak. Anda juga dapat secara eksplisit menolak akses ke sumber daya, yang mungkin Anda lakukan untuk memastikan bahwa pengguna tidak dapat mengaksesnya, meskipun kebijakan lain memberikan akses.
+ **Prinsipal** – Dalam kebijakan berbasis identitas (Kebijakan IAM), pengguna yang dilampiri kebijakan adalah prinsipal secara implisit. Untuk kebijakan berbasis sumber daya, Anda menentukan pengguna, akun, layanan, atau entitas lain yang diinginkan untuk menerima izin (berlaku hanya untuk kebijakan berbasis sumber daya). 

*Untuk mempelajari selengkapnya tentang sintaks dan deskripsi kebijakan Amazon SQS, lihat [Referensi Kebijakan AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) di Panduan Pengguna IAM.*

Untuk tabel semua tindakan Layanan Antrian Sederhana Amazon dan sumber daya yang diterapkan, lihat[Izin Amazon SQS API: Tindakan dan referensi sumber daya](sqs-api-permissions-reference.md).

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

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






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

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

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

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

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

Amazon S3, AWS WAF, dan Amazon VPC adalah contoh layanan yang mendukung. ACLs Untuk mempelajari selengkapnya ACLs, lihat [Ringkasan daftar kontrol akses (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) di *Panduan Pengembang Layanan Penyimpanan Sederhana Amazon*.

**catatan**  
Penting untuk dipahami bahwa semua Akun AWS dapat mendelegasikan izin mereka kepada pengguna di bawah akun mereka. Akses lintas akun memungkinkan Anda berbagi akses ke AWS sumber daya Anda tanpa harus mengelola pengguna tambahan. Untuk informasi tentang penggunaan akses lintas akun, lihat [Mengaktifkan Akses Lintas Akun](https://docs.aws.amazon.com/IAM/latest/UserGuide/Delegation.html) dalam *Panduan Pengguna IAM*.   
Lihat [Batasan kebijakan kustom Amazon SQS](sqs-limitations-of-custom-policies.md) untuk detail lebih lanjut tentang izin lintas konten dan kunci kondisi dalam kebijakan khusus Amazon SQS. 

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

**Mendukung kebijakan berbasis identitas**: Ya

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

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

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



Untuk melihat contoh kebijakan berbasis identitas Amazon SQS, lihat. [Praktik terbaik kebijakan](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples)

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

**Mendukung kebijakan berbasis sumber daya**: Ya

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

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

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

**Mendukung tindakan kebijakan:** Ya

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

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



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

Tindakan kebijakan di Amazon SQS menggunakan awalan berikut sebelum tindakan:

```
sqs
```

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

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





Untuk melihat contoh kebijakan berbasis identitas Amazon SQS, lihat. [Praktik terbaik kebijakan](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples)

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

**Mendukung sumber daya kebijakan:** Ya

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

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

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

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





Untuk melihat contoh kebijakan berbasis identitas Amazon SQS, lihat. [Praktik terbaik kebijakan](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples)

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

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

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

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

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

Untuk melihat contoh kebijakan berbasis identitas Amazon SQS, lihat. [Praktik terbaik kebijakan](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples)

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

**Mendukung ACLs:** Tidak 

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

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

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

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

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

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

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

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

**Mendukung kredensial sementara:** Ya

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

## Teruskan sesi akses untuk Amazon SQS
<a name="security_iam_service-with-iam-principal-permissions"></a>

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

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

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

**Mendukung peran layanan:** Ya

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

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

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

**Mendukung peran terkait layanan:** Tidak 

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

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







# Pembaruan Amazon SQS ke AWS kebijakan terkelola
<a name="sqs-access-policy-aws-managed-policies"></a>

Menambahkan izin ke para pengguna, grup, dan peran lebih mudah dilakukan dengan menggunakan kebijakan terkelola AWS dibandingkan dengan menulis kebijakan sendiri. Dibutuhkan waktu dan keahlian untuk [membuat kebijakan terkelola pelanggan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) yang hanya menyediakan izin sesuai kebutuhan tim Anda. Untuk mulai dengan cepat, Anda dapat menggunakan kebijakan-kebijakan terkelola AWS kami. Kebijakan-kebijakan ini mencakup kasus penggunaan umum dan tersedia di akun AWS Anda. Untuk informasi selengkapnya tentang kebijakan AWS [AWS terkelola, lihat kebijakan terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) di *Panduan Pengguna IAM*.

AWS layanan memelihara dan memperbarui kebijakan AWS terkelola. Anda tidak dapat mengubah izin dalam kebijakan AWS terkelola. Layanan terkadang menambahkan izin tambahan ke kebijakan AWS terkelola untuk mendukung fitur baru. Jenis pembaruan ini akan memengaruhi semua identitas (pengguna, grup, dan peran) di mana kebijakan tersebut dilampirkan. Layanan kemungkinan besar akan memperbarui kebijakan AWS terkelola saat fitur baru diluncurkan atau saat operasi baru tersedia. Layanan tidak menghapus izin dari kebijakan AWS terkelola, sehingga pembaruan kebijakan tidak akan merusak izin yang ada.

Selain itu, AWS mendukung kebijakan terkelola untuk fungsi pekerjaan yang mencakup beberapa layanan. Misalnya, kebijakan **ReadOnlyAccess** AWS terkelola menyediakan akses hanya-baca ke semua AWS layanan dan sumber daya. Saat layanan meluncurkan fitur baru, AWS tambahkan izin hanya-baca untuk operasi dan sumber daya baru. Untuk melihat daftar dan deskripsi dari kebijakan fungsi tugas, lihat [kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) di *Panduan Pengguna IAM*.

## AWS kebijakan terkelola: SQSFull Akses Amazon
<a name="security-iam-awsmanpol-AmazonSQSFullAccess"></a>

Anda dapat melampirkan `AmazonSQSFullAccess` kebijakan ke identitas Amazon SQS Anda. Kebijakan ini memberikan izin yang memungkinkan akses penuh ke Amazon SQS.

Untuk melihat izin kebijakan ini, lihat [Amazon SQSFull Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSQSFullAccess.html) di *Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: Amazon SQSRead OnlyAccess
<a name="security-iam-awsmanpol-AmazonSQSReadOnlyAccess"></a>

Anda dapat melampirkan `AmazonSQSReadOnlyAccess` kebijakan ke identitas Amazon SQS Anda. Kebijakan ini memberikan izin yang memungkinkan akses hanya-baca ke Amazon SQS.

Untuk melihat izin kebijakan ini, lihat [Amazon SQSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSQSReadOnlyAccess.html) di *Referensi Kebijakan AWS Terkelola*.

## AWS kebijakan terkelola: SQSUnlock QueuePolicy
<a name="security-iam-awsmanpol-SQSUnlockQueuePolicy"></a>

Jika Anda salah mengonfigurasi kebijakan antrian untuk akun anggota untuk menolak akses semua pengguna ke antrean Amazon SQS, Anda dapat menggunakan kebijakan terkelola untuk membuka `SQSUnlockQueuePolicy` AWS kunci antrian.

*Untuk informasi selengkapnya tentang cara menghapus kebijakan antrian yang salah konfigurasi yang menolak semua prinsipal mengakses antrean Amazon SQS, lihat [Melakukan tugas istimewa pada akun anggota di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html). AWS Organizations *

## Pembaruan Amazon SQS ke AWS kebijakan terkelola
<a name="security-iam-awsmanpol-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Amazon SQS sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan umpan RSS di halaman riwayat Dokumen Amazon [SQS.](sqs-release-notes.md)


| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
|  [SQSUnlockQueuePolicy](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-SQSUnlockQueuePolicy)  |  Amazon SQS menambahkan kebijakan AWS terkelola baru yang dipanggil `SQSUnlockQueuePolicy` untuk membuka kunci antrian dan menghapus kebijakan antrian yang salah konfigurasi yang menolak semua prinsipal mengakses antrian Amazon SQS.  | November 15, 2024 | 
|  [Amazon SQSRead OnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess)  |  Amazon SQS menambahkan [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)tindakan, yang mengambil semua tag yang terkait dengan antrian Amazon SQS tertentu. Ini memungkinkan Anda untuk melihat pasangan kunci-nilai yang telah ditetapkan ke antrian untuk tujuan organisasi atau metadata. Tindakan ini dikaitkan dengan operasi API `ListQueueTags`.  | Juni 20, 2024 | 
|  [Amazon SQSRead OnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess)  |  Amazon SQS menambahkan tindakan baru yang memungkinkan Anda mencantumkan tugas pergerakan pesan terbaru (hingga 10) di bawah antrian sumber tertentu. Tindakan ini dikaitkan dengan operasi API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html).  | 9 Juni 2023 | 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## Saya ingin membuka kunci antrian saya
<a name="sqs-troubleshooting-org-policies"></a>

Jika Anda Akun AWS termasuk dalam organisasi, AWS Organizations kebijakan dapat memblokir Anda dari mengakses sumber daya Amazon SQS. Secara default, AWS Organizations kebijakan tidak memblokir permintaan apa pun ke Amazon SQS. Namun, pastikan AWS Organizations kebijakan Anda belum dikonfigurasi untuk memblokir akses ke antrian Amazon SQS. Untuk petunjuk tentang cara memeriksa AWS Organizations kebijakan Anda, lihat [Mencantumkan semua kebijakan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_info-operations.html#list-all-pols-in-org.html) di *Panduan AWS Organizations Pengguna*.

Selain itu, jika Anda salah mengonfigurasi kebijakan antrian untuk akun anggota untuk menolak akses semua pengguna ke antrean Amazon SQS Anda, Anda dapat membuka kunci antrian dengan meluncurkan sesi istimewa untuk akun anggota di IAM. Setelah meluncurkan sesi istimewa, Anda dapat menghapus kebijakan antrian yang salah konfigurasi untuk mendapatkan kembali akses ke antrian. Untuk informasi selengkapnya, lihat [Melakukan tugas istimewa pada akun AWS Organizations anggota](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) di *Panduan Pengguna IAM*.

# Menggunakan kebijakan dengan Amazon SQS
<a name="sqs-using-identity-based-policies"></a>

Topik ini memberikan contoh kebijakan berbasis identitas di mana administrator akun dapat melampirkan kebijakan izin ke identitas IAM (pengguna, grup, dan peran).

**penting**  
Kami menyarankan Anda terlebih dahulu meninjau topik pengantar yang menjelaskan konsep dasar dan opsi yang tersedia bagi Anda untuk mengelola akses ke sumber daya Layanan Antrian Sederhana Amazon Anda. Untuk informasi selengkapnya, lihat [Ikhtisar mengelola akses di Amazon SQS](sqs-overview-of-managing-access.md).  
Dengan pengecualian`ListQueues`, semua tindakan Amazon SQS mendukung izin tingkat sumber daya. Untuk informasi selengkapnya, lihat [Izin Amazon SQS API: Tindakan dan referensi sumber daya](sqs-api-permissions-reference.md).

## Menggunakan kebijakan Amazon SQS dan IAM
<a name="sqs-using-sqs-and-iam-policies"></a>

Ada dua cara untuk memberikan izin kepada pengguna Anda ke sumber daya Amazon SQS Anda: menggunakan sistem kebijakan Amazon SQS (kebijakan berbasis sumber daya) dan menggunakan sistem kebijakan IAM (kebijakan berbasis identitas). Anda dapat menggunakan salah satu atau kedua metode, dengan pengecualian `ListQueues` tindakan, yang merupakan izin regional yang hanya dapat diatur dalam kebijakan IAM.

Misalnya, diagram berikut menunjukkan kebijakan IAM dan kebijakan Amazon SQS yang setara dengannya. Kebijakan IAM memberikan hak atas Amazon `ReceiveMessage` SQS `SendMessage` dan tindakan untuk antrian yang `queue_xyz` dipanggil di Akun AWS Anda, dan kebijakan tersebut dilampirkan ke pengguna bernama Bob dan Susan (Bob dan Susan memiliki izin yang tercantum dalam kebijakan). Kebijakan Amazon SQS ini juga memberi Bob dan Susan hak atas `ReceiveMessage` dan `SendMessage` tindakan untuk antrian yang sama.

**catatan**  
Contoh berikut menunjukkan kebijakan sederhana tanpa kondisi. Anda dapat menentukan kondisi tertentu di salah satu kebijakan dan mendapatkan hasil yang sama.

![\[Diagram membandingkan kebijakan IAM dan kebijakan Amazon SQS yang setara dengannya. Kebijakan IAM memberikan hak atas Amazon ReceiveMessage SQS SendMessage dan tindakan untuk antrian yang queue_xyz dipanggil di Akun AWS Anda, dan kebijakan tersebut dilampirkan ke pengguna bernama Bob dan Susan (Bob dan Susan memiliki izin yang tercantum dalam kebijakan). Kebijakan Amazon SQS ini juga memberi Bob dan Susan hak atas ReceiveMessage dan SendMessage tindakan untuk antrian yang sama.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-equivalent.png)


Ada satu perbedaan utama antara kebijakan IAM dan Amazon SQS: sistem kebijakan Amazon SQS memungkinkan Anda memberikan izin ke Akun AWS lain, sedangkan IAM tidak.

Terserah Anda bagaimana Anda menggunakan kedua sistem bersama-sama untuk mengelola izin Anda. Contoh berikut menunjukkan cara sistem dua kebijakan bekerja sama.
+ Dalam contoh pertama, Bob memiliki kebijakan IAM dan kebijakan Amazon SQS yang berlaku untuk akunnya. Kebijakan IAM memberikan izin akunnya untuk `ReceiveMessage` tindakan tersebut`queue_xyz`, sedangkan kebijakan Amazon SQS memberikan izin akunnya untuk tindakan pada antrian `SendMessage` yang sama. Diagram berikut menggambarkan konsep.  
![\[Diagram membandingkan komponen kebijakan IAM dengan kebijakan Amazon SQS. Dalam contoh pertama, Bob memiliki kebijakan IAM dan kebijakan Amazon SQS yang berlaku untuk akunnya. Kebijakan IAM memberikan izin akunnya untuk ReceiveMessage tindakan tersebutqueue_xyz, sedangkan kebijakan Amazon SQS memberikan izin akunnya untuk tindakan pada antrian SendMessage yang sama.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-union.png)

  Jika Bob mengirim `ReceiveMessage` permintaan ke`queue_xyz`, kebijakan IAM mengizinkan tindakan tersebut. Jika Bob mengirimkan `SendMessage` permintaan ke`queue_xyz`, kebijakan Amazon SQS mengizinkan tindakan tersebut.
+ Dalam contoh kedua, Bob menyalahgunakan aksesnya`queue_xyz`, sehingga menjadi perlu untuk menghapus seluruh aksesnya ke antrian. Hal termudah untuk dilakukan adalah menambahkan kebijakan yang menolaknya mengakses semua tindakan untuk antrian. Kebijakan ini mengesampingkan dua lainnya karena eksplisit `deny` selalu mengesampingkan. `allow` Untuk informasi selengkapnya tentang logika evaluasi kebijakan, lihat[Menggunakan kebijakan khusus dengan Bahasa Kebijakan Akses Amazon SQS](sqs-creating-custom-policies.md). Diagram berikut menggambarkan konsep.  
![\[Diagram yang menunjukkan penggantian kebijakan IAM dengan kebijakan Amazon SQS. Bob menyalahgunakan aksesnyaqueue_xyz, sehingga menjadi perlu untuk menghapus seluruh aksesnya ke antrian. Hal termudah untuk dilakukan adalah menambahkan kebijakan yang menolaknya mengakses semua tindakan untuk antrian. Kebijakan ini mengesampingkan dua lainnya karena eksplisit deny selalu mengesampingkan. allow\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-deny-override.png)

  Anda juga dapat menambahkan pernyataan tambahan ke kebijakan Amazon SQS yang menolak Bob semua jenis akses ke antrian. Ini memiliki efek yang sama dengan menambahkan kebijakan IAM yang menolak akses Bob ke antrian. Untuk contoh kebijakan yang mencakup tindakan dan sumber daya Amazon SQS, lihat. [Contoh dasar kebijakan Amazon SQS](sqs-basic-examples-of-sqs-policies.md) Untuk informasi selengkapnya tentang menulis kebijakan Amazon SQS, lihat. [Menggunakan kebijakan khusus dengan Bahasa Kebijakan Akses Amazon SQS](sqs-creating-custom-policies.md)

## Izin diperlukan untuk menggunakan konsol Amazon SQS
<a name="sqs-console-permissions"></a>

Pengguna yang ingin bekerja dengan konsol Amazon SQS harus memiliki set izin minimum untuk bekerja dengan antrian Amazon SQS di pengguna. Akun AWS Misalnya, pengguna harus memiliki izin untuk memanggil `ListQueues` tindakan untuk dapat membuat daftar antrian, atau izin untuk memanggil `CreateQueue` tindakan untuk dapat membuat antrian. Selain izin Amazon SQS, untuk berlangganan antrian Amazon SQS ke topik Amazon SNS, konsol juga memerlukan izin untuk tindakan Amazon SNS.

Jika Anda membuat kebijakan IAM yang lebih ketat daripada izin minimum yang diperlukan, konsol mungkin tidak berfungsi sebagaimana dimaksudkan untuk pengguna dengan kebijakan IAM tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang hanya melakukan panggilan ke tindakan Amazon SQS AWS CLI atau Amazon. 

# Contoh kebijakan berbasis identitas untuk Amazon SQS
<a name="sqs-basic-examples-of-iam-policies"></a>

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

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

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

**catatan**  
Saat mengonfigurasi kait siklus hidup untuk Amazon EC2 Auto Scaling, Anda tidak perlu menulis kebijakan untuk mengirim pesan ke antrean Amazon SQS. Untuk informasi selengkapnya, lihat Kait Siklus Hidup [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) di Panduan Pengguna Amazon EC2*.*

## Praktik terbaik kebijakan
<a name="security_iam_id-based-policy-examples"></a>

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

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

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

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

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

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

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

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

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

## Izinkan pengguna membuat antrian
<a name="allow-queue-creation"></a>

Dalam contoh berikut, kami membuat kebijakan untuk Bob yang memungkinkannya mengakses semua tindakan Amazon SQS, tetapi hanya dengan antrian yang namanya diawali dengan string literal. `alice_queue_`

Amazon SQS tidak secara otomatis memberikan izin kepada pembuat antrian untuk menggunakan antrean. Oleh karena itu, kami harus secara eksplisit memberikan izin Bob untuk menggunakan semua tindakan Amazon SQS selain tindakan dalam kebijakan IAM. `CreateQueue`

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

****  

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

------

## Izinkan pengembang menulis pesan ke antrian bersama
<a name="write-messages-to-shared-queue"></a>

Dalam contoh berikut, kami membuat grup untuk pengembang dan melampirkan kebijakan yang memungkinkan grup menggunakan `SendMessage` tindakan Amazon SQS, tetapi hanya dengan antrian milik yang ditentukan Akun AWS dan diberi nama. `MyCompanyQueue`

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

****  

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

------

Anda dapat menggunakan `*` alih-alih `SendMessage` untuk memberikan tindakan berikut kepada prinsipal pada antrian bersama:`ChangeMessageVisibility`,,`DeleteMessage`,`GetQueueAttributes`, `GetQueueUrl``ReceiveMessage`, dan`SendMessage`.

**catatan**  
Meskipun `*` menyertakan akses yang disediakan oleh jenis izin lain, Amazon SQS mempertimbangkan izin secara terpisah. Misalnya, dimungkinkan untuk memberikan keduanya `*` dan `SendMessage` izin kepada pengguna, meskipun `*` termasuk akses yang disediakan oleh`SendMessage`.  
Konsep ini juga berlaku ketika Anda menghapus izin. Jika kepala sekolah hanya memiliki `*` izin, meminta untuk menghapus `SendMessage` izin *tidak* meninggalkan kepala sekolah dengan izin *segalanya kecuali.* Sebaliknya, permintaan tidak berpengaruh, karena kepala sekolah tidak memiliki `SendMessage` izin eksplisit. Untuk meninggalkan kepala sekolah hanya dengan `ReceiveMessage` izin, pertama-tama tambahkan `ReceiveMessage` izin dan kemudian hapus `*` izin.

## Izinkan manajer untuk mendapatkan ukuran umum antrian
<a name="get-size-of-queues"></a>

Dalam contoh berikut, kami membuat grup untuk manajer dan melampirkan kebijakan yang memungkinkan grup menggunakan `GetQueueAttributes` tindakan Amazon SQS dengan semua antrian milik akun yang ditentukan. AWS 

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

****  

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

------

## Izinkan mitra mengirim pesan ke antrian tertentu
<a name="send-messages-to-specific-queue"></a>

Anda dapat menyelesaikan tugas ini menggunakan kebijakan Amazon SQS atau kebijakan IAM. Jika pasangan Anda memiliki Akun AWS, mungkin akan lebih mudah untuk menggunakan kebijakan Amazon SQS. Namun, setiap pengguna di perusahaan mitra yang memiliki kredenal AWS keamanan dapat mengirim pesan ke antrian. Jika Anda ingin membatasi akses ke pengguna atau aplikasi tertentu, Anda harus memperlakukan mitra seperti pengguna di perusahaan Anda sendiri dan menggunakan kebijakan IAM alih-alih kebijakan Amazon SQS.

Contoh ini melakukan tindakan berikut:

1. Buat grup yang dipanggil WidgetCo untuk mewakili perusahaan mitra.

1. Buat pengguna untuk pengguna atau aplikasi tertentu di perusahaan mitra yang membutuhkan akses.

1. Tambahkan pengguna ke grup .

1. Lampirkan kebijakan yang memberikan akses grup hanya ke `SendMessage` tindakan hanya untuk antrian yang diberi nama`WidgetPartnerQueue`.

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

****  

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

------

# Contoh dasar kebijakan Amazon SQS
<a name="sqs-basic-examples-of-sqs-policies"></a>

Bagian ini menunjukkan contoh kebijakan untuk kasus penggunaan Amazon SQS umum.

Anda dapat menggunakan konsol untuk memverifikasi efek setiap kebijakan saat Anda melampirkan kebijakan kepada pengguna. Awalnya, pengguna tidak memiliki izin dan tidak akan dapat melakukan apa pun di konsol. Saat Anda melampirkan kebijakan ke pengguna, Anda dapat memverifikasi bahwa pengguna dapat melakukan berbagai tindakan di konsol.

**catatan**  
Kami menyarankan Anda menggunakan dua jendela browser: satu untuk memberikan izin dan yang lainnya untuk masuk ke Konsol Manajemen AWS menggunakan kredensi pengguna untuk memverifikasi izin saat Anda memberikannya kepada pengguna.

## Contoh 1: Berikan satu izin kepada satu Akun AWS
<a name="grant-one-permission-to-one-account"></a>

Contoh kebijakan berikut memberikan Akun AWS nomor `111122223333` `SendMessage` izin untuk antrian yang disebutkan `444455556666/queue1` di wilayah AS Timur (Ohio).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_SendMessage",
      "Effect": "Allow",
      "Principal": {
         "AWS": [ 
            "111122223333"
         ]
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1"
   }]  
}
```

------

## Contoh 2: Berikan dua izin ke satu Akun AWS
<a name="grant-two-permissions-to-one-account"></a>

Contoh kebijakan berikut memberikan Akun AWS nomor `111122223333` baik `SendMessage` dan `ReceiveMessage` izin untuk antrian bernama. `444455556666/queue1`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_Send_Receive",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ],
      "Resource": "arn:aws:sqs:*:444455556666:queue1"
   }]
}
```

------

## Contoh 3: Berikan semua izin ke dua Akun AWS
<a name="grant-all-permissions-to-two-accounts"></a>

Contoh kebijakan berikut memberikan dua Akun AWS nomor yang berbeda (`111122223333`dan`444455556666`) izin untuk menggunakan semua tindakan yang Amazon SQS mengizinkan akses bersama untuk antrian yang `123456789012/queue1` dinamai di wilayah AS Timur (Ohio).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333",
            "444455556666"
         ]
      },
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
   }]
}
```

------

## Contoh 4: Berikan izin lintas akun untuk peran dan nama pengguna
<a name="grant-cross-account-permissions-to-role-and-user-name"></a>

Contoh kebijakan berikut memberikan izin `111122223333` lintas akun nomor `role1` dan `username1` di bawah Akun AWS nomor untuk menggunakan semua tindakan yang Amazon SQS mengizinkan akses bersama untuk antrian yang `123456789012/queue1` dinamai di wilayah AS Timur (Ohio).

Izin lintas akun tidak berlaku untuk tindakan berikut:
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:role/role1",
            "arn:aws:iam::111122223333:user/username1"
         ]
      },
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
   }]
}
```

------

## Contoh 5: Berikan izin kepada semua pengguna
<a name="grant-permissions-to-all-users"></a>

Contoh kebijakan berikut memberikan `ReceiveMessage` izin kepada semua pengguna (pengguna anonim) untuk antrian bernama. `111122223333/queue1`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_ReceiveMessage",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:ReceiveMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1"
   }]
}
```

------

## Contoh 6: Berikan izin terbatas waktu untuk semua pengguna
<a name="grant-time-limited-permission-to-all-users"></a>

Contoh kebijakan berikut memberikan `ReceiveMessage` izin kepada semua pengguna (pengguna anonim) untuk antrian bernama`111122223333/queue1`, tetapi hanya antara pukul 12:00 siang (siang) dan 15:00 pada tanggal 31 Januari 2009.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_ReceiveMessage_TimeLimit",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:ReceiveMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "DateGreaterThan" : {
            "aws:CurrentTime":"2009-01-31T12:00Z"
         },
         "DateLessThan" : {
            "aws:CurrentTime":"2009-01-31T15:00Z"
         }
      }
   }]
}
```

------

## Contoh 7: Berikan semua izin kepada semua pengguna dalam rentang CIDR
<a name="grant-all-permissions-to-all-users-in-cidr-range"></a>

Contoh kebijakan berikut memberikan izin kepada semua pengguna (pengguna anonim) untuk menggunakan semua kemungkinan tindakan Amazon SQS yang dapat dibagikan untuk antrian `111122223333/queue1` bernama, tetapi hanya jika permintaan berasal dari `192.0.2.0/24` rentang CIDR.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_AllActions_AllowlistIP",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"192.0.2.0/24"
         }
      }
   }]
}
```

------

## Contoh 8: Izin daftar izin dan daftar blokir untuk pengguna dalam rentang CIDR yang berbeda
<a name="allowlist-blocklist-permissions-for-users-in-different-cidr-ranges"></a>

Contoh kebijakan berikut memiliki dua pernyataan:
+ Pernyataan pertama memberikan semua pengguna (pengguna anonim) dalam rentang `192.0.2.0/24` CIDR (kecuali`192.0.2.188`) izin untuk menggunakan `SendMessage` tindakan untuk antrian bernama /queue1. `111122223333`
+ Pernyataan kedua memblokir semua pengguna (pengguna anonim) dalam rentang `12.148.72.0/23` CIDR dari menggunakan antrian.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_SendMessage_IPLimit",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"192.0.2.0/24"
         },
         "NotIpAddress" : {
            "aws:SourceIp":"192.0.2.188/32"
         }
      }
   }, {
      "Sid":"Queue1_AnonymousAccess_AllActions_IPLimit_Deny",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"12.148.72.0/23"
         }
      }
   }]
}
```

------

# Menggunakan kebijakan khusus dengan Bahasa Kebijakan Akses Amazon SQS
<a name="sqs-creating-custom-policies"></a>

Untuk memberikan izin dasar (seperti [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)atau [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)) hanya berdasarkan Akun AWS ID, Anda tidak perlu menulis kebijakan khusus. Sebagai gantinya, gunakan tindakan Amazon SQS. [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)

Untuk mengizinkan atau menolak akses berdasarkan kondisi tertentu, seperti waktu permintaan atau alamat IP pemohon, Anda harus membuat kebijakan Amazon SQS khusus dan mengunggahnya menggunakan [SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)tindakan.

**Topics**
+ [Arsitektur kontrol akses](sqs-creating-custom-policies-architecture.md)
+ [Alur kerja proses kontrol akses](sqs-creating-custom-policies-process-workflow.md)
+ [Konsep kunci Bahasa Kebijakan Akses](sqs-creating-custom-policies-key-concepts.md)
+ [Kebijakan Akses Logika evaluasi bahasa](sqs-creating-custom-policies-evaluation-logic.md)
+ [Hubungan antara penolakan eksplisit dan default](sqs-creating-custom-policies-relationships-between-explicit-default-denials.md)
+ [Batasan kebijakan khusus](sqs-limitations-of-custom-policies.md)
+ [Contoh Bahasa Kebijakan Akses Kustom](sqs-creating-custom-policies-access-policy-examples.md)

# Arsitektur kontrol akses Amazon SQS
<a name="sqs-creating-custom-policies-architecture"></a>

Diagram berikut menjelaskan kontrol akses untuk sumber daya Amazon SQS Anda.

![\[Menjelaskan kontrol akses untuk sumber daya Amazon SQS Anda.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Arch_Overview.png)


![\[In the previous diagram, section number one.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)Anda, pemilik sumber daya.

![\[In the previous diagram, section number two.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Sumber daya Anda yang terkandung dalam AWS layanan (misalnya, antrian Amazon SQS).

![\[In the previous diagram, section number three.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png)Kebijakan Anda. Merupakan praktik yang baik untuk memiliki satu kebijakan per sumber daya. AWS Layanan ini menyediakan API yang Anda gunakan untuk mengunggah dan mengelola kebijakan Anda.

![\[In the previous diagram, section number four.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png)Pemohon dan permintaan masuk mereka ke layanan. AWS 

![\[In the previous diagram, section number five.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png)Kode evaluasi bahasa kebijakan akses. Ini adalah kumpulan kode dalam AWS layanan yang mengevaluasi permintaan masuk terhadap kebijakan yang berlaku dan menentukan apakah pemohon diizinkan mengakses sumber daya.

# Alur kerja proses kontrol akses Amazon SQS
<a name="sqs-creating-custom-policies-process-workflow"></a>

Diagram berikut menjelaskan alur kerja umum kontrol akses dengan bahasa kebijakan akses Amazon SQS.

![\[Alur kerja umum kontrol akses dengan bahasa kebijakan akses Amazon SQS.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Basic_Flow.png)


![\[Figure one in the previous diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)Anda menulis kebijakan Amazon SQS untuk antrian Anda.

![\[Figure two in the previous diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Anda mengunggah kebijakan Anda ke AWS. AWS Layanan ini menyediakan API yang Anda gunakan untuk mengunggah kebijakan Anda. Misalnya, Anda menggunakan `SetQueueAttributes` tindakan Amazon SQS untuk mengunggah kebijakan antrian Amazon SQS tertentu.

![\[Figure three in the previous diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png)Seseorang mengirim permintaan untuk menggunakan antrean Amazon SQS Anda.

![\[Figure four in the previous diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png)Amazon SQS memeriksa semua kebijakan Amazon SQS yang tersedia dan menentukan kebijakan mana yang berlaku.

![\[Figure five in the previous diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png)Amazon SQS mengevaluasi kebijakan dan menentukan apakah pemohon diizinkan untuk menggunakan antrean Anda.

![\[Figure six in the previous diagram.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-6-red.png)Berdasarkan hasil evaluasi kebijakan, Amazon SQS mengembalikan `Access denied` kesalahan ke pemohon atau terus memproses permintaan.

# Konsep kunci bahasa Kebijakan Akses Amazon SQS
<a name="sqs-creating-custom-policies-key-concepts"></a>

Untuk menulis kebijakan Anda sendiri, Anda harus terbiasa dengan [JSON](http://json.org/) dan sejumlah konsep kunci.

**Izinkan**  <a name="allow"></a>
Hasil dari a [Pernyataan](#statement) yang telah [Efek](#effect) diatur ke`allow`.

**Tindakan**  <a name="action"></a>
Aktivitas yang [Kepala Sekolah](#principal) memiliki izin untuk melakukan, biasanya permintaan untuk AWS.

**Penyangkalan default**  <a name="default-deny"></a>
Hasil dari a [Pernyataan](#statement) yang tidak memiliki [Izinkan](#allow) atau [Penyangkalan eksplisit](#explicit-deny) pengaturan.

**Kondisi**  <a name="condition"></a>
Pembatasan atau detail apa pun tentang a. [Izin](#permission) Kondisi umum terkait dengan tanggal dan waktu dan alamat IP.

**Efek**  <a name="effect"></a>
Hasil yang Anda inginkan [Pernyataan](#statement) dari a [Kebijakan](#policy) untuk kembali pada waktu evaluasi. Anda menentukan `allow` nilai `deny` atau saat Anda menulis pernyataan kebijakan. Ada tiga kemungkinan hasil pada waktu evaluasi kebijakan:[Penyangkalan default](#default-deny),[Izinkan](#allow), dan[Penyangkalan eksplisit](#explicit-deny).

**Penyangkalan eksplisit**  <a name="explicit-deny"></a>
Hasil dari a [Pernyataan](#statement) yang telah [Efek](#effect) diatur ke`deny`.

**Evaluasi**  <a name="evaluation"></a>
Proses yang digunakan Amazon SQS untuk menentukan apakah permintaan yang masuk harus ditolak atau diizinkan berdasarkan file. [Kebijakan](#policy)

**Penerbit**  <a name="issuer"></a>
Pengguna yang menulis [Kebijakan](#policy) untuk memberikan izin ke sumber daya. Penerbit, menurut definisi selalu pemilik sumber daya. AWS tidak mengizinkan pengguna Amazon SQS untuk membuat kebijakan untuk sumber daya yang tidak mereka miliki.

**Kunci**  <a name="key"></a>
Karakteristik spesifik yang menjadi dasar pembatasan akses.

**Izin**  <a name="permission"></a>
Konsep mengizinkan atau melarang akses ke sumber daya menggunakan a [Kondisi](#condition) dan a[Kunci](#key).

**Kebijakan**  <a name="policy"></a>
Dokumen yang bertindak sebagai wadah untuk satu atau lebih **[pernyataan](#statement)**.  

![\[Kebijakan A yang berisi pernyataan 1 dan pernyataan 2 setara dengan kebijakan A yang berisi pernyataan 1, dan Kebijakan B yang berisi pernyataan 2.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Statement_and_Policy.png)

Amazon SQS menggunakan kebijakan untuk menentukan apakah akan memberikan akses ke pengguna untuk sumber daya.

**Kepala Sekolah**  <a name="principal"></a>
Pengguna yang menerima [Izin](#permission) di[Kebijakan](#policy).

**Sumber Daya**  <a name="resource"></a>
Objek yang [Kepala Sekolah](#principal) meminta akses ke.

**Pernyataan**  <a name="statement"></a>
Deskripsi formal dari izin tunggal, ditulis dalam bahasa kebijakan akses sebagai bagian dari [Kebijakan](#policy) dokumen yang lebih luas.

**Pemohon**  <a name="requester"></a>
Pengguna yang mengirimkan permintaan akses ke file[Sumber Daya](#resource).

# Logika evaluasi bahasa Kebijakan Akses Amazon SQS
<a name="sqs-creating-custom-policies-evaluation-logic"></a>

Pada waktu evaluasi, Amazon SQS menentukan apakah permintaan dari orang lain selain pemilik sumber daya harus diizinkan atau ditolak. Logika evaluasi mengikuti beberapa aturan dasar:
+ Secara default, semua permintaan untuk menggunakan sumber daya Anda berasal dari siapa pun kecuali Anda ditolak.
+ Sebuah *[Izinkan](sqs-creating-custom-policies-key-concepts.md#allow)*mengesampingkan apa pun. *[Penyangkalan default](sqs-creating-custom-policies-key-concepts.md#default-deny)*
+ **Sebuah *[Penyangkalan eksplisit](sqs-creating-custom-policies-key-concepts.md#explicit-deny)*mengesampingkan izin apa pun.**
+ Urutan di mana kebijakan dievaluasi tidak penting.

Diagram berikut menjelaskan secara rinci bagaimana Amazon SQS mengevaluasi keputusan tentang izin akses.

![\[Diagram alir yang menjelaskan cara Amazon SQS mengevaluasi keputusan tentang izin akses.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Evaluation_Flow.png)


![\[In the previous diagram, number one.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)Keputusan dimulai dengan **default-deny**.

![\[In the previous diagram, number two.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Kode penegakan mengevaluasi semua kebijakan yang berlaku untuk permintaan (berdasarkan sumber daya, prinsip, tindakan, dan kondisi). Urutan kode penegakan mengevaluasi kebijakan tidak penting.

![\[In the previous diagram, number three.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png)Kode penegakan mencari instruksi penolakan **eksplisit** yang dapat diterapkan pada permintaan. Jika menemukan bahkan satu, kode penegakan mengembalikan keputusan **penolakan** dan proses selesai.

![\[In the previous diagram, number four.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png)Jika tidak ada instruksi **penolakan eksplisit** yang ditemukan, kode penegakan mencari instruksi **izin** apa pun yang dapat diterapkan pada permintaan. Jika menemukan satu pun, kode penegakan mengembalikan keputusan **izin** dan proses selesai (layanan terus memproses permintaan).

![\[In the previous diagram, number five.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png)**Jika tidak ada instruksi **izinkan** ditemukan, maka keputusan akhir **ditolak** (karena tidak ada penolakan **eksplisit** atau **izinkan**, ini dianggap sebagai penolakan default).**

# Hubungan antara penolakan eksplisit dan default dalam Bahasa Kebijakan Akses Amazon SQS
<a name="sqs-creating-custom-policies-relationships-between-explicit-default-denials"></a>

Jika kebijakan Amazon SQS tidak langsung berlaku untuk permintaan, permintaan akan menghasilkan. *[Penyangkalan default](sqs-creating-custom-policies-key-concepts.md#default-deny)* **Misalnya, jika pengguna meminta izin untuk menggunakan Amazon SQS tetapi satu-satunya kebijakan yang berlaku untuk pengguna dapat menggunakan DynamoDB, permintaan akan menghasilkan default-deny.**

Jika kondisi dalam pernyataan tidak terpenuhi, permintaan akan menghasilkan **default-deny**. Jika semua kondisi dalam pernyataan terpenuhi, permintaan menghasilkan baik *[Izinkan](sqs-creating-custom-policies-key-concepts.md#allow)*atau *[Penyangkalan eksplisit](sqs-creating-custom-policies-key-concepts.md#explicit-deny)*berdasarkan nilai *[Efek](sqs-creating-custom-policies-key-concepts.md#effect)*elemen kebijakan. Kebijakan tidak menentukan apa yang harus dilakukan jika kondisi tidak terpenuhi, jadi hasil default dalam kasus ini adalah **default-deny**. Misalnya, Anda ingin mencegah permintaan yang datang dari Antartika. Anda menulis Kebijakan A1 yang mengizinkan permintaan hanya jika tidak berasal dari Antartika. Diagram berikut menggambarkan kebijakan Amazon SQS.

![\[Kebijakan A1, yang berisi Efek sama dengan Izinkan, dan Kondisi sama dengan jika permintaan bukan dari Antartika.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-allow-request-if-not-from-antarctica.png)


**Jika pengguna mengirim permintaan dari AS, kondisi terpenuhi (permintaan bukan dari Antartika), dan permintaan tersebut menghasilkan izin.** **Namun, jika pengguna mengirim permintaan dari Antartika, kondisi tidak terpenuhi dan permintaan default ke default-deny.** Anda dapat mengubah hasilnya menjadi penolakan **eksplisit dengan menulis Kebijakan A2 yang secara eksplisit menolak** permintaan jika berasal dari Antartika. Diagram berikut menggambarkan kebijakan.

![\[Kebijakan A2, yang berisi Efek sama dengan Deny, dan Condition sama dengan jika permintaan berasal dari Antartika.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-explicitly-deny-request-if-from-antarctica.png)


**Jika pengguna mengirim permintaan dari Antartika, kondisinya terpenuhi dan permintaan tersebut menghasilkan penolakan eksplisit.**

Perbedaan antara **default-deny dan **explicit-deny**** penting karena **allow** dapat menimpa yang pertama tetapi bukan yang terakhir. Misalnya, Kebijakan B mengizinkan permintaan jika mereka tiba pada tanggal 1 Juni 2010. Diagram berikut membandingkan penggabungan kebijakan ini dengan Kebijakan A1 dan Kebijakan A2.

![\[side-by-sidePerbandingan antara skenario 1 dan skenario 2.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-compare-allow-request-deny-request-policies-override.png)


Dalam Skenario 1, Kebijakan A1 menghasilkan **penolakan default dan Kebijakan** B menghasilkan izin karena kebijakan **mengizinkan** permintaan yang masuk pada tanggal 1 Juni 2010. **Izin** dari Kebijakan B mengesampingkan **default-deny** dari Kebijakan A1, dan permintaan diizinkan.

**Dalam Skenario 2, Kebijakan B2 menghasilkan penolakan **eksplisit dan** Kebijakan B menghasilkan izin.** **Penolakan eksplisit dari Kebijakan A2 mengesampingkan **izin** dari Kebijakan B, dan permintaan ditolak**.

# Batasan kebijakan kustom Amazon SQS
<a name="sqs-limitations-of-custom-policies"></a>

## Akses lintas akun
<a name="sqs-cross-account-access"></a>

Izin lintas akun tidak berlaku untuk tindakan berikut:
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

## Kunci syarat
<a name="sqs-condition-keys"></a>

Saat ini, Amazon SQS hanya mendukung subset terbatas dari [kunci kondisi yang tersedia di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys). Untuk informasi selengkapnya, lihat [Izin Amazon SQS API: Tindakan dan referensi sumber daya](sqs-api-permissions-reference.md).

# Contoh Bahasa Kebijakan Akses Amazon SQS Kustom
<a name="sqs-creating-custom-policies-access-policy-examples"></a>

Berikut ini adalah contoh kebijakan akses Amazon SQS yang khas.

## Contoh 1: Berikan izin ke satu akun
<a name="one-account"></a>

Contoh berikut kebijakan Amazon SQS memberikan Akun AWS 111122223333 izin untuk mengirim dan menerima dari dimiliki oleh 444455556666. `queue2` Akun AWS 

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

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase1",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2"  
   }]
}
```

------

## Contoh 2: Berikan izin ke satu atau beberapa akun
<a name="two-accounts"></a>

Contoh berikut kebijakan Amazon SQS memberikan satu atau lebih Akun AWS akses ke antrian yang dimiliki oleh akun Anda untuk jangka waktu tertentu. Penting untuk menulis kebijakan ini dan mengunggahnya ke Amazon SQS menggunakan [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)tindakan karena [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)tindakan tidak mengizinkan penetapan batasan waktu saat memberikan akses ke antrian.

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

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase2",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333",
            "444455556666"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
      "Condition": {
         "DateLessThan": {
            "AWS:CurrentTime": "2009-06-30T12:00Z"
         }
      }   
   }]
}
```

------

## Contoh 3: Berikan izin untuk permintaan dari instans Amazon EC2
<a name="requests-from-ec2"></a>

Contoh berikut kebijakan Amazon SQS memberikan akses ke permintaan yang berasal dari instans Amazon EC2. Contoh ini dibangun di atas contoh [Contoh 2: Berikan izin ke satu atau beberapa akun](#two-accounts) "": membatasi akses sebelum 30 Juni 2009 pukul 12 siang (UTC), ini membatasi akses ke rentang IP. `203.0.113.0/24` Penting untuk menulis kebijakan ini dan mengunggahnya ke Amazon SQS menggunakan [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)tindakan karena [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)tindakan tidak mengizinkan penetapan pembatasan alamat IP saat memberikan akses ke antrian.

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

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase3",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
      "Condition": {
         "DateLessThan": {
            "AWS:CurrentTime": "2009-06-30T12:00Z"
         },
         "IpAddress": {
            "AWS:SourceIp": "203.0.113.0/24"
         }
      }   
   }]
}
```

------

## Contoh 4: Tolak akses ke akun tertentu
<a name="deny-account"></a>

Contoh berikut kebijakan Amazon SQS menolak Akun AWS akses tertentu ke antrian Anda. Contoh ini dibangun di atas contoh [Contoh 1: Berikan izin ke satu akun](#one-account) "": menolak akses ke yang ditentukan. Akun AWS Penting untuk menulis kebijakan ini dan mengunggahnya ke Amazon SQS menggunakan [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)tindakan karena [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)tindakan tidak mengizinkan penolakan akses ke antrian (hanya memungkinkan pemberian akses ke antrian). 

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

****  

```
{ 
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase4",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Deny",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2"   
   }]
}
```

------

## Contoh 5: Tolak akses jika bukan dari titik akhir VPC
<a name="deny-not-from-vpc"></a>

Contoh kebijakan Amazon SQS berikut membatasi akses ke`queue1`: 111122223333 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)hanya dapat melakukan [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)tindakan dan dari ID titik akhir VPC (ditentukan menggunakan kondisi). `vpce-1a2b3c4d` `aws:sourceVpce` Untuk informasi selengkapnya, lihat [Titik akhir Amazon Virtual Private Cloud untuk Amazon SQS](sqs-internetwork-traffic-privacy.md#sqs-vpc-endpoints).

**catatan**  
`aws:sourceVpce`Kondisi ini tidak memerlukan ARN untuk sumber daya titik akhir VPC, hanya ID titik akhir VPC.
Anda dapat memodifikasi contoh berikut untuk membatasi semua tindakan ke titik akhir VPC tertentu dengan menolak semua `sqs:*` tindakan Amazon SQS () dalam pernyataan kedua. Namun, pernyataan kebijakan tersebut akan menetapkan bahwa semua tindakan (termasuk tindakan administratif yang diperlukan untuk mengubah izin antrian) harus dilakukan melalui titik akhir VPC tertentu yang ditentukan dalam kebijakan, yang berpotensi mencegah pengguna memodifikasi izin antrian di masa mendatang.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase5",
   "Statement": [{
      "Sid": "1",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ],
         "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1"
      },
      {
         "Sid": "2",
         "Effect": "Deny",
         "Principal": "*",
         "Action": [
            "sqs:SendMessage",
            "sqs:ReceiveMessage"
         ],
         "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1",
         "Condition": {
            "StringNotEquals": {
               "aws:sourceVpce": "vpce-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

# Menggunakan kredensi keamanan sementara dengan Amazon SQS
<a name="sqs-using-temporary-security-credentials"></a>

Selain membuat pengguna dengan kredensi keamanan mereka sendiri, IAM juga memungkinkan Anda untuk memberikan kredensi keamanan sementara kepada pengguna mana pun, memungkinkan pengguna untuk mengakses layanan dan sumber daya Anda. AWS Anda dapat mengelola pengguna yang memiliki Akun AWS. Anda juga dapat mengelola pengguna untuk sistem Anda yang tidak memiliki Akun AWS (pengguna federasi). Selain itu, aplikasi yang Anda buat untuk mengakses AWS sumber daya Anda juga dapat dianggap sebagai “pengguna.”

Anda dapat menggunakan kredenal keamanan sementara ini untuk membuat permintaan ke Amazon SQS. Pustaka API menghitung nilai tanda tangan yang diperlukan menggunakan kredensial tersebut untuk mengautentikasi permintaan Anda. Jika Anda mengirim permintaan menggunakan kredensi kedaluwarsa, Amazon SQS menolak permintaan tersebut.

**catatan**  
Anda tidak dapat menetapkan kebijakan berdasarkan kredensi sementara.

## Prasyarat
<a name="temporary-security-credentials-prerequisites"></a>

1. Gunakan IAM untuk membuat kredenal keamanan sementara:
   + Token keamanan
   + Access key ID
   + Kunci Akses Rahasia

1. Siapkan string Anda untuk masuk dengan ID Kunci Akses sementara dan token keamanan.

1. Gunakan Kunci Akses Rahasia sementara alih-alih Kunci Akses Rahasia Anda sendiri untuk menandatangani permintaan API Kueri Anda.

**catatan**  
Saat Anda mengirimkan permintaan Query API yang ditandatangani, gunakan ID Kunci Akses sementara, bukan ID Kunci Akses Anda sendiri dan untuk menyertakan token keamanan. *Untuk informasi selengkapnya tentang dukungan IAM untuk kredensil keamanan sementara, lihat [Memberikan Akses Sementara ke AWS Sumber Daya Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/TokenBasedAuth.html) di Panduan Pengguna IAM.* 

## Untuk memanggil tindakan API Kueri Amazon SQS menggunakan kredenal keamanan sementara
<a name="temporary-security-credentials-query-api"></a>

1. Minta token keamanan sementara menggunakan AWS Identity and Access Management. Untuk informasi selengkapnya, lihat [Membuat Kredensil Keamanan Sementara untuk Mengaktifkan Akses bagi Pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/CreatingSessionTokens.html) *IAM*.

   IAM mengembalikan token keamanan, ID Kunci Akses, dan Kunci Akses Rahasia.

1. Siapkan kueri Anda menggunakan ID Kunci Akses sementara alih-alih ID Kunci Akses Anda sendiri dan sertakan token keamanan. Tanda tangani permintaan Anda menggunakan Kunci Akses Rahasia sementara, bukan milik Anda sendiri.

1. Kirim string kueri yang ditandatangani dengan ID Kunci Akses sementara dan token keamanan.

   Contoh berikut menunjukkan cara menggunakan kredensil keamanan sementara untuk mengautentikasi permintaan Amazon SQS. Struktur *`AUTHPARAMS`* tergantung pada tanda tangan permintaan API. Untuk informasi selengkapnya, lihat [Menandatangani Permintaan AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) di *Referensi Umum Amazon Web Services*.

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=CreateQueue
   &DefaultVisibilityTimeout=40
   &QueueName=MyQueue
   &Attribute.1.Name=VisibilityTimeout
   &Attribute.1.Value=40
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   &AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

   Contoh berikut menggunakan kredensil keamanan sementara untuk mengirim dua pesan menggunakan tindakan. `SendMessageBatch`

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=SendMessageBatch
   &SendMessageBatchRequestEntry.1.Id=test_msg_001
   &SendMessageBatchRequestEntry.1.MessageBody=test%20message%20body%201
   &SendMessageBatchRequestEntry.2.Id=test_msg_002
   &SendMessageBatchRequestEntry.2.MessageBody=test%20message%20body%202
   &SendMessageBatchRequestEntry.2.DelaySeconds=60
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
   &AWSAccessKeyId=AKIAI44QH8DHBEXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

# Manajemen akses untuk antrian Amazon SQS terenkripsi dengan kebijakan hak istimewa paling sedikit
<a name="sqs-least-privilege-policy"></a>

[Anda dapat menggunakan Amazon SQS untuk bertukar data sensitif antar aplikasi dengan menggunakan enkripsi sisi server (SSE) yang terintegrasi dengan (KMS).AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) Dengan integrasi Amazon SQS dan AWS KMS, Anda dapat mengelola kunci yang melindungi Amazon SQS secara terpusat, serta kunci yang melindungi sumber daya Anda yang lain. AWS 

Beberapa AWS layanan dapat bertindak sebagai sumber peristiwa yang mengirim acara ke Amazon SQS. [Untuk mengaktifkan sumber peristiwa untuk mengakses antrean Amazon SQS terenkripsi, Anda perlu mengonfigurasi antrian dengan kunci yang dikelola pelanggan.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) AWS KMS Kemudian, gunakan kebijakan kunci untuk mengizinkan layanan menggunakan metode AWS KMS API yang diperlukan. Layanan ini juga memerlukan izin untuk mengautentikasi akses untuk mengaktifkan antrian untuk mengirim acara. Anda dapat mencapai ini dengan menggunakan kebijakan Amazon SQS, yang merupakan kebijakan berbasis sumber daya yang dapat Anda gunakan untuk mengontrol akses ke antrean Amazon SQS dan datanya.

Bagian berikut memberikan informasi tentang cara mengontrol akses ke antrean Amazon SQS terenkripsi melalui kebijakan Amazon SQS dan kebijakan utama. AWS KMS Kebijakan dalam panduan ini akan membantu Anda mencapai [hak istimewa paling sedikit](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).

Panduan ini juga menjelaskan bagaimana kebijakan berbasis sumber daya mengatasi [masalah wakil yang membingungkan dengan menggunakan kunci konteks kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) IAM [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn),, [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)dan global. [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid)

**Topics**
+ [

## Ikhtisar
](#sqs-least-privilege-overview)
+ [

## Kebijakan kunci hak istimewa paling sedikit untuk Amazon SQS
](#sqs-least-privilege-use-case)
+ [

## Pernyataan kebijakan Amazon SQS untuk antrian huruf mati
](#sqs-policy-dlq)
+ [

## Mencegah masalah wakil lintas layanan yang membingungkan
](#sqs-confused-deputy-prevention)
+ [

## Gunakan IAM Access Analyzer untuk meninjau akses lintas akun
](#sqs-cross-account-findings)

## Ikhtisar
<a name="sqs-least-privilege-overview"></a>

Dalam topik ini, kami akan memandu Anda melalui kasus penggunaan umum untuk menggambarkan bagaimana Anda dapat membangun kebijakan kunci dan kebijakan antrian Amazon SQS. Kasus penggunaan ini ditunjukkan pada gambar berikut.

![\[Menerbitkan pesan Amazon SNS ke Amazon SQS.\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-least-privilege.png)


Dalam contoh ini, produsen pesan adalah topik [Amazon Simple Notification Service (SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html), yang dikonfigurasi untuk meng-fanout pesan ke antrean Amazon SQS terenkripsi Anda. Konsumen pesan adalah layanan komputasi, seperti [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)fungsi, instans [Amazon Elastic Compute Cloud (](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)EC2), atau container. [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) Antrian Amazon SQS Anda kemudian dikonfigurasi untuk mengirim pesan gagal ke [Dead-Letter](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) Queue (DLQ). Ini berguna untuk men-debug aplikasi atau sistem pesan Anda karena DLQs memungkinkan Anda mengisolasi pesan yang tidak dikonsumsi untuk menentukan mengapa pemrosesannya tidak berhasil. Dalam solusi yang ditentukan dalam topik ini, layanan komputasi seperti fungsi Lambda digunakan untuk memproses pesan yang disimpan dalam antrean Amazon SQS. Jika konsumen pesan berada di cloud pribadi virtual (VPC), pernyataan [`DenyReceivingIfNotThroughVPCE`](#sqs-restrict-message-to-endpoint)kebijakan yang disertakan dalam panduan ini memungkinkan Anda membatasi penerimaan pesan ke VPC tertentu.

**catatan**  
Panduan ini hanya berisi izin IAM yang diperlukan dalam bentuk pernyataan kebijakan. Untuk membuat kebijakan, Anda perlu menambahkan pernyataan ke kebijakan Amazon SQS atau kebijakan utama AWS KMS Anda. Panduan ini tidak memberikan petunjuk tentang cara membuat antrean Amazon SQS atau kuncinya. AWS KMS [Untuk petunjuk tentang cara membuat sumber daya ini, lihat [Membuat antrian Amazon SQS](creating-sqs-standard-queues.md#step-create-standard-queue) dan Membuat kunci.](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)   
Kebijakan Amazon SQS yang ditentukan dalam panduan ini tidak mendukung penggerak ulang pesan secara langsung ke antrean Amazon SQS yang sama atau berbeda. 

## Kebijakan kunci hak istimewa paling sedikit untuk Amazon SQS
<a name="sqs-least-privilege-use-case"></a>

Di bagian ini, kami menjelaskan izin hak istimewa terkecil yang diperlukan untuk kunci yang dikelola pelanggan yang Anda gunakan AWS KMS untuk mengenkripsi antrean Amazon SQS Anda. Dengan izin ini, Anda dapat membatasi akses hanya ke entitas yang dituju sambil menerapkan hak istimewa paling sedikit. Kebijakan utama harus terdiri dari pernyataan kebijakan berikut, yang kami jelaskan secara rinci di bawah ini:
+ [Berikan izin administrator ke kunci AWS KMS](#sqs-use-case-kms-admin-permissions)
+ [Berikan akses hanya-baca ke metadata kunci](#sqs-use-case-read-only-permissions)
+ [Berikan izin Amazon SNS KMS ke Amazon SNS untuk mempublikasikan pesan ke antrian](#sqs-use-case-publish-messages-permissions)
+ [Memungkinkan konsumen untuk mendekripsi pesan dari antrian](#sqs-use-case-decrypt-messages-permissions)

### Berikan izin administrator ke kunci AWS KMS
<a name="sqs-use-case-kms-admin-permissions"></a>

Untuk membuat AWS KMS kunci, Anda perlu memberikan izin AWS KMS administrator ke peran IAM yang Anda gunakan untuk menyebarkan kunci. AWS KMS Izin administrator ini didefinisikan dalam pernyataan `AllowKeyAdminPermissions` kebijakan berikut. Saat menambahkan pernyataan ini ke kebijakan AWS KMS kunci, pastikan untuk mengganti *<admin-role ARN>* dengan Amazon Resource Name (ARN) peran IAM yang digunakan untuk menyebarkan AWS KMS kunci, mengelola kunci, atau keduanya AWS KMS . [Ini bisa berupa peran IAM dari pipeline penerapan Anda, atau [peran administrator untuk organisasi Anda di AWS Organizations Anda](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html).](https://aws.amazon.com/organizations/)

```
{
  "Sid": "AllowKeyAdminPermissions",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "<admin-role ARN>"
    ]
  },
  "Action": [
    "kms:Create*",
    "kms:Describe*",
    "kms:Enable*",
    "kms:List*",
    "kms:Put*",
    "kms:Update*",
    "kms:Revoke*",
    "kms:Disable*",
    "kms:Get*",
    "kms:Delete*",
    "kms:TagResource",
    "kms:UntagResource",
    "kms:ScheduleKeyDeletion",
    "kms:CancelKeyDeletion"
  ],
  "Resource": "*"
}
```

**catatan**  
Dalam kebijakan AWS KMS kunci, nilai `Resource` elemen harus`*`, yang berarti “ AWS KMS kunci ini”. Tanda bintang (`*`) mengidentifikasi AWS KMS kunci yang dilampirkan kebijakan kunci.

### Berikan akses hanya-baca ke metadata kunci
<a name="sqs-use-case-read-only-permissions"></a>

Untuk memberikan akses hanya-baca peran IAM lainnya ke metadata kunci Anda, tambahkan `AllowReadAccessToKeyMetaData` pernyataan tersebut ke kebijakan kunci Anda. Misalnya, pernyataan berikut memungkinkan Anda mencantumkan semua AWS KMS kunci di akun Anda untuk tujuan audit. Pernyataan ini memberikan akses read-only kepada pengguna AWS root ke metadata kunci. Oleh karena itu, setiap prinsipal IAM di akun dapat memiliki akses ke metadata kunci ketika kebijakan berbasis identitas mereka memiliki izin yang tercantum dalam pernyataan berikut:,, dan. `kms:Describe*` `kms:Get*` `kms:List*` Pastikan untuk mengganti *<account-ID>* dengan informasi Anda sendiri. 

```
{
  "Sid": "AllowReadAcesssToKeyMetaData",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::<accountID>:root"
    ]
  },
  "Action": [
    "kms:Describe*",
    "kms:Get*",
    "kms:List*"
  ],
  "Resource": "*"
}
```

### Berikan izin Amazon SNS KMS ke Amazon SNS untuk mempublikasikan pesan ke antrian
<a name="sqs-use-case-publish-messages-permissions"></a>

Untuk mengizinkan topik Amazon SNS Anda memublikasikan pesan ke antrean Amazon SQS terenkripsi, tambahkan `AllowSNSToSendToSQS` pernyataan kebijakan ke kebijakan utama Anda. Pernyataan ini memberikan izin Amazon SNS untuk menggunakan AWS KMS kunci untuk mempublikasikan ke antrian Amazon SQS Anda. Pastikan untuk mengganti *<account-ID>* dengan informasi Anda sendiri.

**catatan**  
`Condition`Dalam pernyataan membatasi akses hanya ke layanan Amazon SNS di akun yang sama AWS .

```
{
  "Sid": "AllowSNSToSendToSQS",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "sns.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:SourceAccount": "<account-id>"
    }
  }
}
```

### Memungkinkan konsumen untuk mendekripsi pesan dari antrian
<a name="sqs-use-case-decrypt-messages-permissions"></a>

`AllowConsumersToReceiveFromTheQueue`Pernyataan berikut memberi konsumen pesan Amazon SQS izin yang diperlukan untuk mendekripsi pesan yang diterima dari antrian Amazon SQS terenkripsi. Saat Anda melampirkan pernyataan kebijakan, ganti *<consumer's runtime role ARN>* dengan ARN peran runtime IAM dari konsumen pesan.

```
{
  "Sid": "AllowConsumersToReceiveFromTheQueue",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "<consumer's execution role ARN>"
    ]
  },
  "Action": [
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```

### Kebijakan Amazon SQS dengan hak istimewa paling sedikit
<a name="sqs-use-case-specific-policy"></a>

Bagian ini memandu Anda melalui kebijakan antrian Amazon SQS dengan hak istimewa paling sedikit untuk kasus penggunaan yang dicakup oleh panduan ini (misalnya, Amazon SNS ke Amazon SQS). Kebijakan yang ditetapkan dirancang untuk mencegah akses yang tidak diinginkan dengan menggunakan campuran keduanya `Deny` dan `Allow` pernyataan. `Allow`Pernyataan memberikan akses ke entitas atau entitas yang dimaksud. `Deny`Pernyataan tersebut mencegah entitas lain yang tidak diinginkan mengakses antrean Amazon SQS, sementara mengecualikan entitas yang dimaksud dalam kondisi kebijakan.

Kebijakan Amazon SQS mencakup pernyataan berikut, yang kami jelaskan secara rinci di bawah ini:
+ [Batasi izin manajemen Amazon SQS](#sqs-use-case-restrict-permissions)
+ [Batasi tindakan antrian Amazon SQS dari organisasi yang ditentukan](#sqs-use-case-restrict-permissions-from-org)
+ [Berikan izin Amazon SQS kepada konsumen](#sqs-use-grant-consumer-permissions)
+ [Menegakkan enkripsi dalam perjalanan](#sqs-encryption-in-transit)
+ [Batasi transmisi pesan ke topik Amazon SNS tertentu](#sqs-restrict-transmission-to-topic)
+ [(Opsional) Batasi penerimaan pesan ke titik akhir VPC tertentu](#sqs-restrict-message-to-endpoint)

### Batasi izin manajemen Amazon SQS
<a name="sqs-use-case-restrict-permissions"></a>

Pernyataan `RestrictAdminQueueActions` kebijakan berikut membatasi izin pengelolaan Amazon SQS hanya untuk peran atau peran IAM yang Anda gunakan untuk menerapkan antrean, mengelola antrian, atau keduanya. Pastikan untuk mengganti *<placeholder values>* dengan informasi Anda sendiri. Tentukan ARN peran IAM yang digunakan untuk menerapkan antrean Amazon SQS, serta peran administrator apa pun yang harus memiliki izin ARNs pengelolaan Amazon SQS. 

```
{
  "Sid": "RestrictAdminQueueActions",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:AddPermission",
    "sqs:DeleteQueue",
    "sqs:RemovePermission",
    "sqs:SetQueueAttributes"
  ],
  "Resource": "<SQS Queue ARN>",
  "Condition": {
    "StringNotLike": {
      "aws:PrincipalARN": [
        "arn:aws:iam::<account-id>:role/<deployment-role-name>",
        "<admin-role ARN>"
      ]
    }
  }
}
```

### Batasi tindakan antrian Amazon SQS dari organisasi yang ditentukan
<a name="sqs-use-case-restrict-permissions-from-org"></a>

Untuk membantu melindungi sumber daya Amazon SQS Anda dari akses eksternal (akses oleh entitas di luar [AWS organisasi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) Anda), gunakan pernyataan berikut. Pernyataan ini membatasi akses antrian Amazon SQS ke organisasi yang Anda tentukan di. `Condition` Pastikan untuk mengganti *<SQS queue ARN>* dengan ARN peran IAM yang digunakan untuk menerapkan antrean Amazon SQS; dan, dengan ID organisasi Anda. *<org-id>* 

```
{
  "Sid": "DenyQueueActionsOutsideOrg",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:AddPermission",
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteQueue",
    "sqs:RemovePermission",
    "sqs:SetQueueAttributes",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotEquals": {
      "aws:PrincipalOrgID": [
        "<org-id>"
      ]
    }
  }
}
```

### Berikan izin Amazon SQS kepada konsumen
<a name="sqs-use-grant-consumer-permissions"></a>

Untuk menerima pesan dari antrian Amazon SQS, Anda perlu memberikan izin yang diperlukan kepada konsumen pesan. Pernyataan kebijakan berikut memberi konsumen, yang Anda tentukan, izin yang diperlukan untuk menggunakan pesan dari antrean Amazon SQS. Saat menambahkan pernyataan ke kebijakan Amazon SQS Anda, pastikan untuk mengganti *<consumer's IAM runtime role ARN>* dengan ARN peran runtime IAM yang digunakan oleh konsumen; dan, *<SQS queue ARN>* dengan ARN peran IAM yang digunakan untuk menerapkan antrean Amazon SQS.

```
{
  "Sid": "AllowConsumersToReceiveFromTheQueue",
  "Effect": "Allow",
  "Principal": {
    "AWS": "<consumer's IAM execution role ARN>"
  },
  "Action": [
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteMessage",
    "sqs:GetQueueAttributes",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>"
}
```

Untuk mencegah entitas lain menerima pesan dari antrean Amazon SQS, tambahkan `DenyOtherConsumersFromReceiving` pernyataan ke kebijakan antrian Amazon SQS. Pernyataan ini membatasi konsumsi pesan kepada konsumen yang Anda tetapkan—tidak memungkinkan konsumen lain untuk memiliki akses, bahkan ketika izin identitas mereka akan memberi mereka akses. Pastikan untuk mengganti *<SQS queue ARN>* dan *<consumer’s runtime role ARN>* dengan informasi Anda sendiri.

```
{
  "Sid": "DenyOtherConsumersFromReceiving",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteMessage",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotLike": {
      "aws:PrincipalARN": "<consumer's execution role ARN>"
    }
  }
}
```

### Menegakkan enkripsi dalam perjalanan
<a name="sqs-encryption-in-transit"></a>

Pernyataan `DenyUnsecureTransport` kebijakan berikut memberlakukan konsumen dan produsen untuk menggunakan saluran aman (koneksi TLS) untuk mengirim dan menerima pesan dari antrian Amazon SQS. Pastikan untuk mengganti *<SQS queue ARN>* dengan ARN dari peran IAM yang digunakan untuk menyebarkan antrian Amazon SQS.

```
{
  "Sid": "DenyUnsecureTransport",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:ReceiveMessage",
    "sqs:SendMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "Bool": {
      "aws:SecureTransport": "false"
    }
  }
}
```

### Batasi transmisi pesan ke topik Amazon SNS tertentu
<a name="sqs-restrict-transmission-to-topic"></a>

Pernyataan `AllowSNSToSendToTheQueue` kebijakan berikut memungkinkan topik Amazon SNS yang ditentukan untuk mengirim pesan ke antrean Amazon SQS. Pastikan untuk mengganti *<SQS queue ARN>* dengan ARN peran IAM yang digunakan untuk menyebarkan antrian Amazon SQS; dan, dengan *<SNS topic ARN>* topik Amazon SNS ARN.

```
{
  "Sid": "AllowSNSToSendToTheQueue",
  "Effect": "Allow",
  "Principal": {
    "Service": "sns.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "ArnLike": {
      "aws:SourceArn": "<SNS topic ARN>"
    }
  }
}
```

Pernyataan `DenyAllProducersExceptSNSFromSending` kebijakan berikut mencegah produsen lain mengirim pesan ke antrian. Ganti *<SQS queue ARN>* dan *<SNS topic ARN>* dengan informasi Anda sendiri.

```
{
  "Sid": "DenyAllProducersExceptSNSFromSending",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "ArnNotLike": {
      "aws:SourceArn": "<SNS topic ARN>"
    }
  }
}
```

### (Opsional) Batasi penerimaan pesan ke titik akhir VPC tertentu
<a name="sqs-restrict-message-to-endpoint"></a>

Untuk membatasi penerimaan pesan hanya ke titik akhir [VPC](https://aws.amazon.com/about-aws/whats-new/2018/12/amazon-sqs-vpc-endpoints-aws-privatelink/) tertentu, tambahkan pernyataan kebijakan berikut ke kebijakan antrian Amazon SQS Anda. Pernyataan ini mencegah konsumen pesan menerima pesan dari antrian kecuali pesan tersebut berasal dari titik akhir VPC yang diinginkan. Ganti *<SQS queue ARN>* dengan ARN dari peran IAM yang digunakan untuk menyebarkan antrian Amazon SQS; dan dengan *<vpce\$1id>* ID titik akhir VPC.

```
{
  "Sid": "DenyReceivingIfNotThroughVPCE",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpce": "<vpce id>"
    }
  }
}
```

## Pernyataan kebijakan Amazon SQS untuk antrian huruf mati
<a name="sqs-policy-dlq"></a>

Tambahkan pernyataan kebijakan berikut, yang diidentifikasi oleh ID pernyataan mereka, ke kebijakan akses DLQ Anda:
+ `RestrictAdminQueueActions`
+ `DenyQueueActionsOutsideOrg`
+ `AllowConsumersToReceiveFromTheQueue`
+ `DenyOtherConsumersFromReceiving`
+ `DenyUnsecureTransport`

Selain menambahkan pernyataan kebijakan sebelumnya ke kebijakan akses DLQ Anda, Anda juga harus menambahkan pernyataan untuk membatasi transmisi pesan ke antrian Amazon SQS, seperti yang dijelaskan di bagian berikut.

### Batasi transmisi pesan ke antrian Amazon SQS
<a name="sqs-dlq-restrict-permissions"></a>

Untuk membatasi akses hanya antrian Amazon SQS dari akun yang sama, tambahkan pernyataan kebijakan `DenyAnyProducersExceptSQS` berikut ke kebijakan antrian DLQ. Pernyataan ini tidak membatasi transmisi pesan ke antrian tertentu karena Anda perlu menerapkan DLQ sebelum membuat antrian utama, sehingga Anda tidak akan tahu Amazon SQS ARN saat membuat DLQ. Jika Anda perlu membatasi akses ke hanya satu antrian Amazon SQS, ubah `aws:SourceArn` di dengan ARN dari antrian sumber Amazon SQS Anda saat Anda mengetahuinya. `Condition`

```
{
  "Sid": "DenyAnyProducersExceptSQS",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS DLQ ARN>",
  "Condition": {
    "ArnNotLike": {
      "aws:SourceArn": "arn:aws:sqs:<region>:<account-id>:*"
    }
  }
}
```

**penting**  
Kebijakan antrean Amazon SQS yang ditentukan dalam panduan ini tidak membatasi `sqs:PurgeQueue` tindakan ke peran atau peran IAM tertentu. `sqs:PurgeQueue`Tindakan ini memungkinkan Anda untuk menghapus semua pesan dalam antrean Amazon SQS. Anda juga dapat menggunakan tindakan ini untuk membuat perubahan pada format pesan tanpa mengganti antrean Amazon SQS. Saat men-debug aplikasi, Anda dapat menghapus antrean Amazon SQS untuk menghapus pesan yang berpotensi salah. Saat menguji aplikasi, Anda dapat mengarahkan volume pesan tinggi melalui antrian Amazon SQS dan kemudian membersihkan antrian untuk memulai yang baru sebelum memasuki produksi. Alasan untuk tidak membatasi tindakan ini ke peran tertentu adalah bahwa peran ini mungkin tidak diketahui saat menerapkan antrian Amazon SQS. Anda perlu menambahkan izin ini ke kebijakan berbasis identitas peran agar dapat membersihkan antrian.

## Mencegah masalah wakil lintas layanan yang membingungkan
<a name="sqs-confused-deputy-prevention"></a>

[Masalah deputi yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memaksa entitas yang lebih istimewa untuk melakukan tindakan. Untuk mencegah hal ini, AWS sediakan alat yang membantu Anda melindungi akun Anda jika Anda memberi pihak ketiga (dikenal sebagai lintas akun) atau AWS layanan lain (dikenal sebagai lintas layanan) akses ke sumber daya di akun Anda. Pernyataan kebijakan di bagian ini dapat membantu Anda mencegah masalah wakil lintas layanan yang membingungkan.

Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (layanan yang dipanggil) memanggil layanan lain (layanan yang dipanggil). Layanan panggilan dapat dimanipulasi untuk menggunakan izinnya untuk bertindak atas sumber daya pelanggan lain dengan cara yang seharusnya tidak memiliki izin untuk mengakses. Untuk membantu melindungi dari masalah ini, kebijakan berbasis sumber daya yang ditentukan dalam posting ini menggunakan kunci konteks kondisi IAM [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn), dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid)global. Ini membatasi izin yang dimiliki layanan untuk sumber daya tertentu, akun tertentu, atau organisasi tertentu di AWS Organizations.

## Gunakan IAM Access Analyzer untuk meninjau akses lintas akun
<a name="sqs-cross-account-findings"></a>

Anda dapat menggunakan [AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) untuk meninjau kebijakan antrean Amazon SQS AWS KMS dan kebijakan kunci serta memberi tahu Anda saat antrian Amazon SQS atau kunci AWS KMS memberikan akses ke entitas eksternal. IAM Access Analyzer membantu mengidentifikasi [sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-resources.html) di organisasi dan akun Anda yang dibagikan dengan entitas di luar zona kepercayaan. Zona kepercayaan ini dapat berupa AWS akun atau AWS organisasi dalam Organizations yang Anda tentukan saat mengaktifkan IAM Access Analyzer.

IAM Access Analyzer mengidentifikasi sumber daya yang dibagikan dengan prinsipal eksternal dengan menggunakan penalaran berbasis logika untuk menganalisis kebijakan berbasis sumber daya di lingkungan Anda. AWS Untuk setiap contoh sumber daya yang dibagikan di luar zona kepercayaan Anda, Access Analyzer menghasilkan temuan. [Temuan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-findings.html) mencakup informasi tentang akses dan prinsip eksternal yang diberikan kepadanya. Tinjau temuan untuk menentukan apakah akses dimaksudkan dan aman, atau apakah akses tidak diinginkan dan risiko keamanan. Untuk akses yang tidak diinginkan, tinjau kebijakan yang terpengaruh dan perbaiki. Lihat [posting blog](https://aws.amazon.com/blogs/aws/identify-unintended-resource-access-with-aws-identity-and-access-management-iam-access-analyzer/) ini untuk informasi lebih lanjut tentang bagaimana AWS IAM Access Analyzer mengidentifikasi akses yang tidak diinginkan ke sumber daya Anda. AWS 

Untuk informasi selengkapnya tentang AWS IAM Access Analyzer, lihat dokumentasi [AWS IAM Access](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) Analyzer.

# Izin Amazon SQS API: Tindakan dan referensi sumber daya
<a name="sqs-api-permissions-reference"></a>

Saat menyiapkan [Kontrol akses](security_iam_service-with-iam.md#access-control) dan menulis kebijakan izin yang dapat dilampirkan ke identitas IAM, Anda dapat menggunakan tabel berikut sebagai referensi. setiap tindakan Layanan Antrian Sederhana Amazon, tindakan terkait yang dapat Anda berikan izin untuk melakukan tindakan, dan AWS sumber daya yang dapat Anda berikan izin.

Tentukan tindakan di `Action` bidang kebijakan, dan nilai sumber daya di `Resource` bidang kebijakan. Untuk menentukan tindakan, gunakan `sqs:` awalan diikuti dengan nama tindakan (misalnya,`sqs:CreateQueue`).

Saat ini, Amazon SQS mendukung [kunci konteks kondisi global yang tersedia di](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) IAM.

Gunakan bilah gulir untuk melihat seluruh tabel.


**Amazon Simple Queue Service API dan izin yang diperlukan untuk tindakan**  
<a name="sqs-api-and-required-permissions-for-actions-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-api-permissions-reference.html)