View a markdown version of this page

Cara kerja Amazon Cognito dengan IAM - Amazon Cognito

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

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

Identity-based kebijakan

Ya

Resource-based kebijakan

Tidak

Tindakan kebijakan

Ya

Sumber daya kebijakan

Ya

Kunci kondisi kebijakan

Ya

ACL

Tidak

ABAC (tanda dalam kebijakan)

Parsial

Kredensial sementara

Ya

Izin principal

Tidak

Peran layanan

Ya

Service-linked peran

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 IAM.

Identity-based kebijakan untuk Amazon Cognito

Mendukung kebijakan berbasis identitas: Ya

Identity-based kebijakan adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke identitas, seperti pengguna IAM, grup pengguna, atau peran. 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 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 dalam Panduan Pengguna IAM.

Identity-based contoh kebijakan untuk Amazon Cognito

Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. Identity-based contoh kebijakan untuk Amazon Cognito

Resource-based kebijakan dalam Amazon Cognito

Mendukung kebijakan berbasis sumber daya: Tidak

Resource-based kebijakan 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 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 dalam Panduan Pengguna IAM.

Tindakan kebijakan untuk Amazon Cognito

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 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" ]

API yang ditandatangani versus tidak ditandatangani

Saat menandatangani permintaan Amazon Cognito API dengan AWS kredensyal, Anda dapat membatasinya dalam kebijakan (IAM). AWS Identity and Access Management Permintaan API yang harus Anda tandatangani dengan AWS kredensil mencakup login di sisi serverAdminInitiateAuth, 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.

Karena Amazon Cognito adalah produk identitas konsumen untuk aplikasi yang ingin Anda sediakan untuk umum, Anda memiliki akses ke API yang tidak ditandatangani berikut. Aplikasi Anda membuat permintaan API ini untuk pengguna dan calon pengguna Anda. Beberapa API tidak memerlukan otorisasi sebelumnya, seperti InitiateAuth memulai sesi otentikasi baru. Beberapa API menggunakan token akses atau kunci sesi untuk otorisasi, seperti menyelesaikan penyiapan MFA VerifySoftwareToken untuk pengguna yang memiliki sesi otentikasi yang sudah 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. API Identitas Amazon Cognito yang tidak ditandatangani mendukung parameter seperti IdentityId yang ditampilkan di Referensi API Identitas Federasi Amazon Cognito.

Untuk informasi selengkapnya tentang model otorisasi dan peran operasi API kumpulan pengguna Amazon Cognito, lihat. Daftar operasi API yang dikelompokkan berdasarkan model otorisasi

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. Identity-based contoh kebijakan untuk Amazon Cognito

Sumber daya kebijakan untuk Amazon Cognito

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). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (*) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

"Resource": "*"

Nama sumber daya Amazon (ARN)

ARN 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 tentang ARN, lihat pengidentifikasi IAM.

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

ARN untuk Sinkronisasi Amazon Cognito

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

Untuk API yang beroperasi pada kolam identitas, format ARN kolam identitas sama dengan untuk Identitas Federasi Amazon Cognito, kecuali bahwa nama layanannya adalah cognito-sync bukan cognito-identity:

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

Untuk API yang beroperasi pada identitas tunggal, 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 API yang beroperasi pada set data, seperti UpdateRecords, dan ListRecords, Anda dapat merujuk ke set data dengan format ARN berikut:

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

ARN 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 ARNnya, lihat Sumber daya yang ditentukan oleh Amazon Cognito dalam Referensi Otorisasi Layanan. Untuk mempelajari tindakan mana yang dapat menentukan ARN dari setiap sumber daya, lihat Tindakan yang ditentukan oleh Amazon Cognito.

Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. Identity-based contoh kebijakan untuk Amazon Cognito

Kunci kondisi kebijakan untuk Amazon Cognito

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, 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 di Panduan Pengguna IAM.

Untuk melihat daftar kunci kondisi Amazon Cognito, lihat Kunci kondisi untuk Amazon Cognito di Referensi Otorisasi Layanan. Untuk mempelajari dengan tindakan dan sumber daya mana Anda dapat menggunakan kunci syarat, lihat Tindakan yang ditentukan oleh Amazon Cognito.

Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. Identity-based contoh kebijakan untuk Amazon Cognito

Daftar kontrol akses (ACL) di Amazon Cognito

Mendukung ACL: Tidak

Daftar kontrol akses (ACL) mengendalikan principal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACL serupa dengan kebijakan berbasis sumber daya, meskipun kebijakan tersebut tidak menggunakan format dokumen kebijakan JSON.

Attribute-based kontrol akses (ABAC) dengan Amazon Cognito

Mendukung ABAC (tag dalam kebijakan): Sebagian

Attribute-based Access Control (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut yang disebut tag. 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 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 dalam Panduan Pengguna IAM. Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat Menggunakan kontrol akses berbasis atribut (ABAC) dalam Panduan Pengguna IAM.

Menggunakan kredensyal sementara dengan Amazon Cognito

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 dan Layanan AWS yang berfungsi dengan IAM dalam Panduan Pengguna IAM.

Cross-service izin utama untuk Amazon Cognito

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.

Peran layanan untuk Amazon Cognito

Mendukung peran layanan: Ya

Peran layanan adalah peran IAM 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 dalam Panduan pengguna IAM.

Untuk detail tentang peran layanan Amazon Cognito, lihat Aktifkan sinkronisasi push dan. Menerapkan sinkronisasi push

Awas

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

Service-linked peran untuk Amazon Cognito

Mendukung peran terkait layanan: Ya

Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan dapat mengambil peran untuk melakukan tindakan atas nama Anda. Service-linked peran 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