Bagaimana Amazon Cognito bekerja dengan IAM - Amazon Cognito

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

Bagaimana Amazon Cognito bekerja dengan IAM

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

IAMfitur yang dapat Anda gunakan dengan Amazon Cognito
IAMfitur Dukungan Amazon Cognito

Kebijakan berbasis identitas

Ya

Kebijakan berbasis sumber daya

Tidak

Tindakan kebijakan

Ya

Sumber daya kebijakan

Ya

Kunci kondisi kebijakan

Ya

ACLs

Tidak

ABAC(tag dalam kebijakan)

Parsial

Kredensial sementara

Ya

Izin prinsipal

Tidak

Peran layanan

Ya

Peran terkait layanan

Ya

Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Amazon Cognito dan layanan AWS lainnya dengan IAM sebagian besar fitur, AWS lihat layanan yang berfungsi di IAM Panduan PenggunaIAM.

Kebijakan berbasis identitas untuk Amazon Cognito

Mendukung kebijakan berbasis identitas: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan JSON izin yang dapat Anda lampirkan ke identitas, seperti pengguna, grup IAM 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 Menentukan IAM izin khusus dengan kebijakan yang dikelola pelanggan di Panduan Pengguna. IAM

Dengan kebijakan IAM berbasis identitas, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak serta kondisi di mana tindakan diizinkan atau ditolak. Anda tidak dapat menentukan secara spesifik prinsipal dalam sebuah kebijakan berbasis identitas karena prinsipal berlaku bagi pengguna atau peran yang melekat kepadanya. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam JSON kebijakan, lihat referensi elemen IAM JSON kebijakan di Panduan IAM Pengguna.

Contoh kebijakan berbasis identitas untuk Amazon Cognito

Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. Contoh kebijakan berbasis identitas untuk Amazon Cognito

Kebijakan berbasis sumber daya dalam Amazon Cognito

Mendukung kebijakan berbasis sumber daya: Tidak

Kebijakan berbasis sumber daya adalah dokumen JSON kebijakan yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah kebijakan kepercayaan IAM peran 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 prinsipal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus menentukan prinsipal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan seluruh akun atau IAM entitas di akun lain sebagai prinsipal dalam kebijakan berbasis sumber daya. Menambahkan prinsipal akun silang ke kebijakan berbasis sumber daya hanya setengah dari membangun hubungan kepercayaan. Ketika prinsipal dan sumber daya berbeda Akun AWS, IAM administrator di akun tepercaya juga harus memberikan izin entitas utama (pengguna atau peran) untuk mengakses sumber daya. Mereka memberikan izin dengan melampirkan kebijakan berbasis identitas kepada entitas. Namun, jika kebijakan berbasis sumber daya memberikan akses ke prinsipal dalam akun yang sama, tidak diperlukan kebijakan berbasis identitas tambahan. Untuk informasi selengkapnya, lihat Akses sumber daya lintas akun IAM di Panduan IAM Pengguna.

Tindakan kebijakan untuk Amazon Cognito

Mendukung tindakan kebijakan: Ya

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

ActionElemen JSON kebijakan menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan AWS API operasi terkait. Ada beberapa pengecualian, seperti tindakan khusus izin yang tidak memiliki operasi yang cocok. API Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.

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

Ditandatangani versus tidak ditandatangani APIs

Saat menandatangani API permintaan Amazon Cognito dengan AWS kredensial, Anda dapat membatasinya dalam kebijakan (). AWS Identity and Access Management IAM APIpermintaan yang harus Anda tandatangani dengan AWS kredensil mencakup login di sisi serverAdminInitiateAuth, dan tindakan yang membuat, melihat, atau memodifikasi sumber daya Amazon Cognito Anda seperti. UpdateUserPool Untuk informasi selengkapnya tentang API permintaan yang ditandatangani, lihat AWS APIPermintaan penandatanganan.

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 API permintaan ini untuk pengguna Anda 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 MFA penyiapan untuk pengguna yang memiliki sesi otentikasi yang ada. APIKumpulan pengguna Amazon Cognito resmi yang tidak ditandatangani mendukung Session parameter AccessToken atau dalam sintaks permintaan seperti yang ditampilkan di Referensi Amazon Cognito. API Identitas Amazon Cognito yang tidak ditandatangani mendukung parameter seperti IdentityId yang ditampilkan di Referensi API Identitas Federasi Amazon Cognito. API

Untuk informasi selengkapnya tentang model otorisasi dan peran operasi API kumpulan pengguna Amazon Cognito, lihat. Kumpulan pengguna Amazon Cognito operasi yang diautentikasi dan tidak diautentikasi API

Operasi kumpulan identitas Amazon Cognito API
  • GetId

  • GetOpenIdToken

  • GetCredentialsForIdentity

  • UnlinkIdentity

Operasi kumpulan pengguna Amazon Cognito API
  • 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

Sumber daya kebijakan untuk Amazon Cognito

Mendukung sumber daya kebijakan: Ya

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

Elemen Resource JSON kebijakan menentukan objek atau objek yang tindakan tersebut berlaku. Pernyataan harus menyertakan elemen Resource atau NotResource. Sebagai praktik terbaik, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, misalnya operasi pencantuman, gunakan wildcard (*) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

"Resource": "*"

Nama sumber daya Amazon (ARNs)

ARNsuntuk identitas federasi Amazon Cognito

Di kumpulan identitas Amazon Cognito (identitas federasi), dimungkinkan untuk membatasi akses IAM pengguna ke kumpulan identitas tertentu, menggunakan format Amazon Resource Name (ARN), seperti pada contoh berikut. Untuk informasi selengkapnyaARNs, lihat IAMpengenal.

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

ARNsuntuk 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, ARN format 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, sepertiRegisterDevice, Anda dapat merujuk ke identitas individu dengan ARN format berikut:

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

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

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

ARNsuntuk kumpulan pengguna Amazon Cognito

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

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

Untuk melihat daftar jenis sumber daya Amazon Cognito dan jenisnyaARNs, lihat Sumber daya yang ditentukan oleh Amazon Cognito dalam Referensi Otorisasi Layanan. Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat Tindakan yang ditentukan oleh Amazon Cognito.

Untuk melihat contoh kebijakan berbasis identitas Amazon Cognito, lihat. Contoh kebijakan berbasis identitas untuk Amazon Cognito

Kunci kondisi kebijakan untuk Amazon Cognito

Mendukung kunci kondisi kebijakan khusus layanan: Ya

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

Elemen Condition (atau blok Condition) akan memungkinkan Anda menentukan kondisi yang menjadi dasar suatu pernyataan berlaku. Elemen Condition bersifat opsional. 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.

Jika Anda menentukan beberapa elemen Condition dalam sebuah pernyataan, atau beberapa kunci dalam elemen Condition tunggal, maka AWS akan mengevaluasinya menggunakan operasi AND logis. Jika Anda menentukan beberapa nilai untuk satu kunci kondisi, AWS mengevaluasi kondisi menggunakan OR operasi logis. Semua kondisi harus dipenuhi sebelum izin pernyataan diberikan.

Anda juga dapat menggunakan variabel placeholder saat menentukan kondisi. Misalnya, Anda dapat memberikan izin IAM pengguna untuk mengakses sumber daya hanya jika ditandai dengan nama IAM pengguna mereka. Untuk informasi selengkapnya, lihat elemen IAM kebijakan: variabel dan tag di Panduan IAM Pengguna.

AWS mendukung kunci kondisi global dan kunci kondisi khusus layanan. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan IAM Pengguna.

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. Contoh kebijakan berbasis identitas untuk Amazon Cognito

Daftar kontrol akses (ACLs) di Amazon Cognito

MendukungACLs: Tidak

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

Kontrol akses berbasis atribut (ABAC) dengan Amazon Cognito

Mendukung ABAC (tag dalam kebijakan): Sebagian

Attribute-based access control (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. Dalam AWS, atribut ini disebut tag. Anda dapat melampirkan tag ke IAM entitas (pengguna atau peran) dan ke banyak AWS sumber daya. Menandai entitas dan sumber daya adalah langkah pertama dari. ABAC Kemudian Anda merancang ABAC kebijakan untuk mengizinkan operasi ketika tag prinsipal cocok dengan tag pada sumber daya yang mereka coba akses.

ABACmembantu dalam lingkungan yang berkembang pesat dan membantu dengan situasi di mana manajemen kebijakan menjadi rumit.

Untuk mengendalikan akses berdasarkan tag, berikan informasi tentang tag 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 selengkapnyaABAC, lihat Menentukan izin dengan ABAC otorisasi di IAMPanduan Pengguna. Untuk melihat tutorial dengan langkah-langkah penyiapanABAC, lihat Menggunakan kontrol akses berbasis atribut (ABAC) di IAMPanduan Pengguna.

Menggunakan kredensi sementara dengan Amazon Cognito

Mendukung kredensi sementara: Ya

Beberapa Layanan AWS tidak berfungsi saat Anda masuk menggunakan kredensi sementara. Untuk informasi tambahan, termasuk yang Layanan AWS bekerja dengan kredensi sementara, lihat Layanan AWS yang berfungsi IAM di IAMPanduan Pengguna.

Anda menggunakan kredensi sementara jika Anda masuk AWS Management Console menggunakan metode apa pun kecuali nama pengguna dan kata sandi. Misalnya, ketika Anda mengakses AWS menggunakan link sign-on (SSO) tunggal perusahaan Anda, proses tersebut secara otomatis membuat kredensi sementara. Anda juga akan secara otomatis membuat kredensial sementara ketika Anda masuk ke konsol sebagai seorang pengguna lalu beralih peran. Untuk informasi selengkapnya tentang beralih peran, lihat Beralih dari pengguna ke IAM peran (konsol) di Panduan IAM Pengguna.

Anda dapat secara manual membuat kredensil sementara menggunakan atau. AWS CLI AWS API Anda kemudian dapat menggunakan kredensi sementara tersebut untuk mengakses. AWS AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat Kredensi keamanan sementara di. IAM

Izin utama lintas layanan untuk Amazon Cognito

Mendukung sesi akses maju (FAS): Tidak

Saat Anda menggunakan IAM pengguna atau peran untuk melakukan tindakan AWS, Anda dianggap sebagai prinsipal. Ketika Anda menggunakan beberapa layanan, Anda mungkin melakukan sebuah tindakan yang kemudian menginisiasi tindakan lain di layanan yang berbeda. FASmenggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. FASPermintaan hanya dibuat ketika layanan menerima permintaan yang memerlukan interaksi dengan orang lain Layanan AWS atau sumber daya untuk menyelesaikannya. Dalam hal ini, Anda harus memiliki izin untuk melakukan kedua tindakan tersebut. Untuk detail kebijakan saat membuat FAS permintaan, lihat Meneruskan sesi akses.

Peran layanan untuk Amazon Cognito

Mendukung peran layanan: Ya

Peran layanan adalah IAMperan yang diasumsikan layanan untuk melakukan tindakan atas nama Anda. IAMAdministrator dapat membuat, memodifikasi, dan menghapus peran layanan dari dalamIAM. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke Layanan AWS dalam IAMPanduan Pengguna.

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.

Peran terkait layanan untuk Amazon Cognito

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. IAMAdministrator dapat melihat, tetapi tidak 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