

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

# Cara kerja Amazon Cognito dengan IAM
<a name="security_iam_service-with-iam"></a>

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






**Fitur IAM yang dapat Anda gunakan dengan Amazon Cognito**  

| Fitur IAM | Dukungan Amazon Cognito | 
| --- | --- | 
|  [Kebijakan berbasis identitas](#security_iam_service-with-iam-id-based-policies)  |   Ya  | 
|  [Kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies)  |   Tidak   | 
|  [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 kondisi kebijakan](#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  | 
|  [Izin principal](#security_iam_service-with-iam-principal-permissions)  |   Tidak   | 
|  [Peran layanan](#security_iam_service-with-iam-roles-service)  |   Ya  | 
|  [Peran terkait layanan](#security_iam_service-with-iam-roles-service-linked)  |   Ya  | 

*Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Amazon Cognito 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.*

## Kebijakan berbasis identitas untuk Amazon Cognito
<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 Cognito
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Cognito](security_iam_id-based-policy-examples.md)

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

**Mendukung kebijakan berbasis sumber daya:** Tidak 

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 Cognito
<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 Cognito, lihat [Tindakan yang ditentukan oleh Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions) di Referensi Otorisasi Layanan.*

Tindakan kebijakan di Amazon Cognito menggunakan awalan berikut sebelum tindakan:

```
cognito-identity
```

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

```
"Action": [
      "cognito-identity:action1",
      "cognito-identity:action2"
         ]
```

### Ditandatangani versus tidak ditandatangani APIs
<a name="security_amazon-cognito-signed-versus-unsigned-apis"></a>

Saat menandatangani permintaan API Amazon Cognito dengan AWS kredensil, Anda dapat membatasinya dalam kebijakan (IAM). AWS Identity and Access Management Permintaan API yang harus Anda tandatangani dengan AWS kredensil mencakup login di sisi server`AdminInitiateAuth`, dan tindakan yang membuat, melihat, atau memodifikasi resource Amazon Cognito Anda seperti. `UpdateUserPool` Untuk informasi selengkapnya tentang permintaan API yang ditandatangani, lihat [Menandatangani permintaan AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).

Karena Amazon Cognito adalah produk identitas konsumen untuk aplikasi yang ingin Anda sediakan untuk umum, Anda memiliki akses ke hal-hal berikut yang tidak ditandatangani. APIs Aplikasi Anda membuat permintaan API ini untuk pengguna dan calon pengguna Anda. Beberapa tidak APIs memerlukan otorisasi sebelumnya, seperti `InitiateAuth` memulai sesi otentikasi baru. Beberapa APIs menggunakan token akses atau kunci sesi untuk otorisasi, seperti `VerifySoftwareToken` menyelesaikan penyiapan MFA untuk pengguna yang memiliki sesi otentikasi yang ada. API kumpulan pengguna Amazon Cognito resmi yang tidak ditandatangani mendukung `Session` parameter `AccessToken` atau dalam sintaks permintaan seperti yang ditampilkan di Referensi API Amazon [Cognito](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html). API Identitas Amazon Cognito yang tidak ditandatangani mendukung parameter seperti `IdentityId` yang ditampilkan di Referensi API Identitas [Federasi Amazon Cognito](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/Welcome.html).

Untuk informasi selengkapnya tentang model otorisasi dan peran operasi API kumpulan pengguna Amazon Cognito, lihat. [Daftar operasi API yang dikelompokkan berdasarkan model otorisasi](authentication-flows-public-server-side.md#user-pool-apis-auth-unauth)

**Operasi API kumpulan identitas Amazon Cognito**
+ `GetId`
+ `GetOpenIdToken`
+ `GetCredentialsForIdentity`
+ `UnlinkIdentity`

**Operasi API kumpulan pengguna Amazon Cognito**
+ `AssociateSoftwareToken`
+ `ChangePassword`
+ `ConfirmDevice`
+ `ConfirmForgotPassword`
+ `ConfirmSignUp`
+ `DeleteUser`
+ `DeleteUserAttributes`
+ `ForgetDevice`
+ `ForgotPassword`
+ `GetDevice`
+ `GetUser`
+ `GetUserAttributeVerificationCode`
+ `GlobalSignOut`
+ `InitiateAuth`
+ `ListDevices`
+ `ResendConfirmationCode`
+ `RespondToAuthChallenge`
+ `RevokeToken`
+ `SetUserMFAPreference`
+ `SetUserSettings`
+ `SignUp`
+ `UpdateAuthEventFeedback`
+ `UpdateDeviceStatus`
+ `UpdateUserAttributes`
+ `VerifySoftwareToken`
+ `VerifyUserAttribute`





Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Cognito](security_iam_id-based-policy-examples.md)

## Sumber daya kebijakan untuk Amazon Cognito
<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": "*"
```

### Nama sumber daya Amazon (ARNs)
<a name="security_amazon-cognito-amazon-resource-names"></a>

**ARNs untuk identitas federasi Amazon Cognito**

Di kolam identitas Amazon Cognito (identitas gabungan), dimungkinkan untuk membatasi akses pengguna IAM ke kolam identitas tertentu, menggunakan format Amazon Resource Name (ARN), seperti dalam contoh berikut. Untuk informasi selengkapnya ARNs, lihat [pengenal IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html).

```
arn:aws:cognito-identity:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID
```

**ARNs untuk Sinkronisasi Amazon Cognito**

Di Amazon Cognito Sync, pelanggan juga dapat membatasi akses dengan ID kolam identitas, ID identitas, dan nama set data.

Untuk APIs itu beroperasi pada kumpulan identitas, format ARN kumpulan identitas sama dengan untuk Identitas Federasi Amazon Cognito, kecuali bahwa nama layanan bukan: `cognito-sync` `cognito-identity`

```
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID
```

Untuk APIs itu beroperasi pada satu identitas, seperti`RegisterDevice`, Anda dapat merujuk ke identitas individu dengan format ARN berikut:

```
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID
```

Untuk APIs itu beroperasi pada kumpulan data, seperti `UpdateRecords` dan`ListRecords`, Anda dapat merujuk ke kumpulan data individual menggunakan format ARN berikut:

```
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID/dataset/DATASET_NAME
```

**ARNs untuk kumpulan pengguna Amazon Cognito**

Untuk Amazon Cognito Your User Pools, dimungkinkan untuk membatasi akses pengguna ke kumpulan pengguna tertentu, menggunakan format ARN berikut:

```
arn:aws:cognito-idp:REGION:ACCOUNT_ID:userpool/USER_POOL_ID
```

*Untuk melihat daftar jenis sumber daya Amazon Cognito dan jenisnya ARNs, lihat Sumber daya yang [ditentukan oleh Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-resources-for-iam-policies) dalam Referensi Otorisasi Layanan.* Untuk mempelajari tindakan mana yang dapat menentukan ARN dari setiap sumber daya, lihat [Tindakan yang ditentukan oleh Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).





Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Cognito](security_iam_id-based-policy-examples.md)

## Kunci kondisi kebijakan untuk Amazon Cognito
<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 Cognito, lihat Kunci kondisi [untuk Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-policy-keys) di Referensi Otorisasi Layanan.* Untuk mempelajari dengan tindakan dan sumber daya mana Anda dapat menggunakan kunci syarat, lihat [Tindakan yang ditentukan oleh Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).

Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Cognito](security_iam_id-based-policy-examples.md)

## Daftar kontrol akses (ACLs) di Amazon Cognito
<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.

## Kontrol akses berbasis atribut (ABAC) dengan Amazon Cognito
<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 kredensil sementara dengan Amazon Cognito
<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*.

## Izin utama lintas layanan untuk Amazon Cognito
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses maju (FAS): Tidak** 

 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 Cognito
<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*. 

Untuk detail tentang peran layanan Amazon Cognito, lihat [Aktifkan sinkronisasi push](identity-pools.md#enable-push-synchronization) dan. [Menerapkan sinkronisasi push](push-sync.md)

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

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

**Mendukung peran terkait layanan**: Ya

 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 membuat atau mengelola peran terkait layanan Amazon Cognito, lihat. [Menggunakan peran terkait layanan untuk Amazon Cognito](using-service-linked-roles.md)