Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Apa itu Amazon Cognito?
Amazon Cognito adalah platform identitas untuk aplikasi web dan seluler. Ini adalah direktori pengguna, server otentikasi, dan layanan otorisasi untuk token akses dan AWS kredenSIAL OAuth 2.0. Dengan Amazon Cognito, Anda dapat mengotentikasi dan mengotorisasi pengguna dari direktori pengguna bawaan, dari direktori perusahaan Anda, dan dari penyedia identitas konsumen seperti Google dan Facebook.
Topik
Dua komponen yang menyusul membentuk Amazon Cognito. Mereka beroperasi secara independen atau bersama-sama, berdasarkan kebutuhan akses Anda untuk pengguna Anda.
Kolam pengguna
Buat kumpulan pengguna saat Anda ingin mengotentikasi dan mengotorisasi pengguna ke aplikasi atau API Anda. Kumpulan pengguna adalah direktori pengguna dengan pembuatan, pengelolaan, dan otentikasi pengguna mandiri dan berbasis administrator. Kumpulan pengguna Anda dapat berupa direktori independen dan penyedia identitas OIDC (IdP), dan penyedia layanan perantara (SP) untuk penyedia pihak ketiga tenaga kerja dan identitas pelanggan. Anda dapat menyediakan sistem masuk tunggal (SSO) di aplikasi untuk identitas tenaga kerja organisasi Anda di SAML 2.0 dan OIDC IdPs dengan kumpulan pengguna. Anda juga dapat menyediakan SSO di aplikasi untuk identitas pelanggan organisasi Anda di toko identitas OAuth 2.0 publik Amazon, Google, Apple, dan Facebook. Untuk informasi selengkapnya tentang identitas pelanggan dan manajemen akses (CIAM), lihat Apa itu CIAM?
Kumpulan pengguna tidak memerlukan integrasi dengan kumpulan identitas. Dari kumpulan pengguna, Anda dapat mengeluarkan token web JSON (JWT) yang diautentikasi langsung ke aplikasi, server web, atau API.
Kumpulan identitas
Siapkan kumpulan identitas Amazon Cognito saat Anda ingin mengotorisasi pengguna yang diautentikasi atau anonim untuk mengakses sumber daya Anda. AWS Kumpulan identitas mengeluarkan AWS kredenSIAL untuk aplikasi Anda untuk menayangkan sumber daya kepada pengguna. Anda dapat mengotentikasi pengguna dengan penyedia identitas tepercaya, seperti kumpulan pengguna atau layanan SAML 2.0. Itu juga dapat secara opsional mengeluarkan kredenSIAL untuk pengguna tamu. Kumpulan identitas menggunakan kontrol akses berbasis peran dan atribut untuk mengelola otorisasi pengguna untuk mengakses sumber daya Anda. AWS
Kumpulan identitas tidak memerlukan integrasi dengan kumpulan pengguna. Kumpulan identitas dapat menerima klaim yang diautentikasi langsung dari tenaga kerja dan penyedia identitas konsumen.
Kumpulan pengguna Amazon Cognito dan kumpulan identitas yang digunakan bersama
Dalam diagram yang memulai topik ini, Anda menggunakan Amazon Cognito untuk mengotentikasi pengguna Anda dan kemudian memberi mereka akses ke. Layanan AWS
-
Pengguna aplikasi Anda masuk melalui kumpulan pengguna dan menerima token OAuth 2.0.
-
Aplikasi Anda menukar token kumpulan pengguna dengan kumpulan identitas untuk AWS kredenSIAL sementara yang dapat Anda gunakan dengan AWS API dan AWS Command Line Interface (AWS CLI).
-
Aplikasi Anda menetapkan sesi kredensional kepada pengguna Anda, dan memberikan akses resmi ke Amazon S3 Layanan AWS dan Amazon DynamoDB.
Untuk contoh selengkapnya yang menggunakan kumpulan identitas dan kumpulan pengguna, lihat Sken ario Amazon Cognito Umum.
Di Amazon Cognito, keamanan kewajiban cloud dari model tanggung jawab
Fitur Amazon Cognito
Kolam pengguna
Kumpulan pengguna Amazon Cognito adalah direktori pengguna. Dengan kumpulan pengguna, pengguna Anda dapat masuk ke web atau aplikasi seluler Anda melalui Amazon Cognito, atau berfederasi melalui IdP pihak ketiga. Pengguna federasi dan lokal memiliki profil pengguna di kumpulan pengguna Anda.
Pengguna lokal adalah pengguna yang mendaftar atau Anda buat langsung di kumpulan pengguna Anda. Anda dapat mengelola dan menyesuaikan profil pengguna ini di Konsol Manajemen AWS, AWS SDK, atau AWS Command Line Interface (AWS CLI).
Kumpulan pengguna Amazon Cognito menerima token dan pernyataan dari pihak ketiga IdPs, dan mengumpulkan atribut pengguna ke dalam JWT yang dikeluarkan ke aplikasi Anda. Anda dapat menstandarisasi aplikasi Anda pada satu set JWT sementara Amazon Cognito menangani interaksi dengan IdPs, memetakan klaim mereka ke format token pusat.
Kumpulan pengguna Amazon Cognito dapat menjadi IdP mandiri. Amazon Cognito mengambil dari standar OpenID Connect (OIDC) untuk menghasilkan JWT untuk otentikasi dan otorisasi. Saat Anda masuk ke pengguna lokal, kumpulan pengguna Anda bersifat otoritatif untuk pengguna tersebut. Anda memiliki akses ke fitur-fitur berikut saat Anda mengotentikasi pengguna lokal.
-
Terapkan front-end web Anda sendiri yang memanggil API kumpulan pengguna Amazon Cognito untuk mengotentikasi, mengotorisasi, dan mengelola pengguna Anda.
-
Siapkan otentikasi multi-faktor (MFA) untuk pengguna Anda. Amazon Cognito mendukung kata sandi satu kali berbasis waktu (TOTP) dan pesan SMS MFA.
-
Aman terhadap akses dari akun pengguna yang berada di bawah kendali berbahaya.
-
Buat alur otentikasi multi-langkah kustom Anda sendiri.
-
Cari pengguna di direktori lain dan migrasikan mereka ke Amazon Cognito.
Kumpulan pengguna Amazon Cognito juga dapat memenuhi peran ganda sebagai penyedia layanan (SP) untuk Anda IdPs, dan IdP untuk aplikasi Anda. Kumpulan pengguna Amazon Cognito dapat terhubung ke konsumen IdPs seperti Facebook dan Google, atau tenaga kerja IdPs seperti Okta dan Active Directory Federation Services (ADFS).
Dengan token OAuth 2.0 dan OpenID Connect (OIDC) yang dikeluarkan oleh kumpulan pengguna Amazon Cognito, Anda dapat
-
Terima token ID di aplikasi Anda yang mengotentikasi pengguna, dan menyediakan informasi yang Anda perlukan untuk mengatur profil pengguna
-
Terima token akses di API Anda dengan cakupan OIDC yang mengotorisasi panggilan API pengguna Anda.
-
Ambil kre AWS densi dari kumpulan identitas Amazon Cognito.
| Fitur | Deskripsi |
|---|---|
| Penyedia identitas OIDC | Keluarkan token ID untuk mengotentikasi pengguna |
| Server otorisasi | Keluarkan token akses untuk mengotorisasi akses pengguna ke API |
| Penyedia layanan SAML 2.0 | Ubah pernyataan SAML menjadi ID dan token akses |
| Pihak yang mengandalkan OIDC | Ubah token OIDC menjadi ID dan token akses |
| Pihak yang mengandalkan penyedia sosial | Ubah token ID dari Apple, Facebook, Amazon, atau Google ke ID dan token akses Anda sendiri |
| Layanan frontend otentikasi | Mendaftar, kelola, dan autentikasi pengguna dengan login terkelola |
| Dukungan API untuk UI Anda sendiri | Membuat, mengelola, dan mengotentikasi pengguna melalui permintaan API otentikasi di SDK yang didukung¹ AWS |
| Multi-factor otentikasi | Gunakan pesan SMS, TOTP, atau perangkat pengguna Anda sebagai faktor otentikasi tambahan¹ |
| Pemantauan & respon keamanan | Aman terhadap aktivitas berbahaya dan kata sandi yang tidak aman¹ |
| Sesuaikan alur otentikasi | Bangun mekanisme otentikasi Anda sendiri, atau tambahkan langkah-langkah khusus ke alur yang ada² |
| Grup | Buat pengelompokan logis pengguna, dan hierarki klaim peran IAM saat Anda meneruskan token ke kumpulan identitas |
| Sesuaikan token | Sesuaikan ID dan token akses Anda dengan klaim baru, dimodifikasi, dan ditekan |
| Sesuaikan atribut pengguna | Tetapkan nilai ke atribut pengguna dan tambahkan atribut khusus Anda sendiri |
¹ Fitur tidak tersedia untuk pengguna federasi.
² Fitur tidak tersedia untuk pengguna login federasi dan terkelola.
Untuk informasi selengkapnya tentang kumpulan pengguna, lihat Memulai dengan kumpulan pengguna dan referensi API kumpulan pengguna Amazon Cognito.
Kumpulan identitas
Kumpulan identitas adalah kumpulan pengenal unik, atau identitas, yang Anda tetapkan kepada pengguna atau tamu Anda dan otorisasi untuk menerima kredentif sementara AWS . Saat Anda menunjukkan bukti otentikasi ke kumpulan identitas dalam bentuk klaim tepercaya dari SAML 2.0, OpenID Connect (OIDC), atau penyedia identitas sosial (IdP) OAuth 2.0, Anda mengaitkan pengguna Anda dengan identitas di kumpulan identitas. Token yang dibuat kumpulan identitas Anda untuk identitas dapat mengambil kredenSIAL sesi sementara dari AWS Security Token Service (AWS STS).
Untuk melengkapi identitas yang diautentikasi, Anda juga dapat mengonfigurasi kumpulan identitas untuk mengotorisasi AWS akses tanpa otentikasi IdP. Anda dapat menawarkan bukti otentikasi khusus denganDeveloper-authenticated identitas. Anda juga dapat memberikan AWS kredentif sementara kepada pengguna tamu, dengan identitas yang tidak diautentikasi.
Dengan kumpulan identitas, Anda memiliki dua cara untuk mengintegrasikan dengan kebijakan IAM di Anda Akun AWS. Anda dapat menggunakan kedua fitur ini bersama-sama atau satu per satu.
Role-based kontrol akses
Saat pengguna meneruskan klaim ke kumpulan identitas Anda, Amazon Cognito memilih peran IAM yang diminta. Untuk menyesuaikan izin peran sesuai kebutuhan Anda, Anda menerapkan kebijakan IAM ke setiap peran. Misalnya, jika pengguna Anda menunjukkan bahwa mereka berada di departemen pemasaran, mereka menerima kredensi untuk peran dengan kebijakan yang disesuaikan dengan kebutuhan akses departemen pemasaran. Amazon Cognito dapat meminta peran default, peran berdasarkan aturan yang menanyakan klaim pengguna Anda, atau peran berdasarkan keanggotaan grup pengguna Anda di kumpulan pengguna. Anda juga dapat mengonfigurasi kebijakan kepercayaan peran sehingga IAM hanya mempercayai kumpulan identitas Anda untuk menghasilkan sesi sementara.
Atribut untuk kontrol akses
Kumpulan identitas Anda membaca atribut dari klaim pengguna Anda, dan memetakannya ke tag utama dalam sesi sementara pengguna Anda. Anda kemudian dapat mengonfigurasi kebijakan berbasis sumber daya IAM untuk mengizinkan atau menolak akses ke sumber daya berdasarkan prinsipal IAM yang membawa tag sesi dari kumpulan identitas Anda. Misalnya, jika pengguna Anda menunjukkan bahwa mereka berada di departemen pemasaran, beri AWS STS tag sesi merekaDepartment: marketing. Bucket Amazon S3 Anda mengizinkan operasi baca berdasarkan PrincipalTag kondisi aws: yang memerlukan nilai marketing untuk Department tag.
| Fitur | Deskripsi |
|---|---|
| Pihak yang mengandalkan kumpulan pengguna Amazon Cognito | Tukarkan token ID dari kumpulan pengguna Anda dengan kredenSIAL identitas web dari AWS STS |
| Penyedia layanan SAML 2.0 | Tukarkan pernyataan SAML untuk kredenSIAL identitas web dari AWS STS |
| Pihak yang mengandalkan OIDC | Tukarkan token OIDC untuk kredenSIAL identitas web dari AWS STS |
| Pihak yang mengandalkan penyedia sosial | Tukarkan token OAuth dari Amazon, Facebook, Google, Apple, dan Twitter untuk kredenSIAL identitas web dari AWS STS |
| Pesta yang mengandalkan kustom | Dengan AWS kredenSIAL, tukar klaim dalam format apa pun untuk kredenSIAL identitas web dari AWS STS |
| Akses yang tidak diautentikasi | Keluarkan kredentif identitas web akses terbatas dari tanpa otentikasi AWS STS |
| Role-based kontrol akses | Pilih peran IAM untuk pengguna yang diautentikasi berdasarkan klaim mereka, dan konfigurasikan peran Anda agar hanya diasumsikan dalam konteks kumpulan identitas Anda |
| Attribute-based kontrol akses | Ubah klaim menjadi tag utama untuk sesi AWS STS sementara Anda, dan gunakan kebijakan IAM untuk memfilter akses sumber daya berdasarkan tag utama |
Untuk informasi selengkapnya tentang kumpulan identitas, lihat Memulai dengan kumpulan identitas Amazon Cognito dan referensi API kumpulan identitas Amazon Cognito.
Perbandingan kumpulan pengguna dan kumpulan identitas Amazon Cognito
| Fitur | Deskripsi | Kolam pengguna | Kumpulan identitas |
|---|---|---|---|
| Penyedia identitas OIDC | Keluarkan token ID OIDC untuk mengotentikasi pengguna aplikasi | ✓ | |
| Direktori pengguna | Simpan profil pengguna untuk otentikasi | ✓ | |
| Otorisasi akses API | Keluarkan token akses untuk mengotorisasi akses pengguna ke API (termasuk operasi API swalayan profil pengguna), database, dan sumber daya lain yang menerima cakupan OAuth | ✓ | |
| Otorisasi identitas web IAM | Hasilkan token yang dapat Anda tukarkan dengan AWS STS AWS kredenSIAL sementara | ✓ | |
| Penyedia layanan SAML 2.0 & penyedia identitas OIDC | Keluarkan token OIDC yang disesuaikan berdasarkan klaim dari penyedia identitas SAML 2.0 | ✓ | |
| Pihak yang mengandalkan OIDC & penyedia identitas OIDC | Keluarkan token OIDC yang disesuaikan berdasarkan klaim dari penyedia identitas OIDC | ✓ | |
| OAuth 2.0 pihak yang mengandalkan & penyedia identitas OIDC | Keluarkan token OIDC yang disesuaikan berdasarkan cakupan dari penyedia sosial OAuth 2.0 seperti Apple dan Google | ✓ | |
| Penyedia layanan SAML 2.0 & broker kredensional | Menerbitkan AWS kredenSIAL sementara berdasarkan klaim dari penyedia identitas SAML 2.0 | ✓ | |
| Pihak yang mengandalkan OIDC & broker kredensional | Menerbitkan AWS kredenSIAL sementara berdasarkan klaim dari penyedia identitas OIDC | ✓ | |
| Pihak yang mengandalkan penyedia sosial & broker kredensional | Keluarkan AWS kredenSIAL sementara berdasarkan token web JSON dari aplikasi pengembang dengan penyedia sosial seperti Apple dan Google | ✓ | |
| Kumpulan pengguna Amazon Cognito yang bergantung pada pialang & kredensional | Keluarkan AWS kredenSIAL sementara berdasarkan token web JSON dari kumpulan pengguna Amazon Cognito | ✓ | |
| Pihak yang mengandalkan kustom & broker kredensional | Menerbitkan AWS kredenSIAL sementara ke identitas arbitrer, disahkan oleh kredenSIAL IAM pengembang | ✓ | |
| Layanan frontend otentikasi | Mendaftar, kelola, dan autentikasi pengguna dengan login terkelola | ✓ | |
| Dukungan API untuk UI otentikasi Anda sendiri | Membuat, mengelola, dan mengotentikasi pengguna melalui permintaan API di SDK yang didukung¹ AWS | ✓ | |
| MFA | Gunakan pesan SMS, TOTP, atau perangkat pengguna Anda sebagai faktor otentikasi tambahan¹ | ✓ | |
| Pemantauan & respon keamanan | Melindungi dari aktivitas berbahaya dan kata sandi yang tidak aman¹ | ✓ | |
| Sesuaikan alur otentikasi | Bangun mekanisme otentikasi Anda sendiri, atau tambahkan langkah-langkah khusus ke alur yang ada¹ | ✓ | |
| Grup pengguna | Buat pengelompokan logis pengguna, dan hierarki klaim peran IAM saat Anda meneruskan token ke kumpulan identitas | ✓ | |
| Sesuaikan token | Sesuaikan ID dan token akses Anda dengan klaim dan cakupan baru, dimodifikasi, dan ditekan | ✓ | |
| AWS WAF ACL web | Pantau dan kendalikan permintaan ke front end otentikasi Anda dengan AWS WAF | ✓ | |
| Sesuaikan atribut pengguna | Tetapkan nilai ke atribut pengguna dan tambahkan atribut khusus Anda sendiri | ✓ | |
| Akses yang tidak diautentikasi | Keluarkan kredentif identitas web akses terbatas dari tanpa otentikasi AWS STS | ✓ | |
| Role-based kontrol akses | Pilih peran IAM untuk pengguna yang diautentikasi berdasarkan klaim mereka, dan konfigurasikan kepercayaan peran Anda untuk membatasi akses ke pengguna identitas web | ✓ | |
| Attribute-based kontrol akses | Ubah klaim pengguna menjadi tag utama untuk sesi AWS STS sementara Anda, dan gunakan kebijakan IAM untuk memfilter akses sumber daya berdasarkan tag utama | ✓ |
¹ Fitur tidak tersedia untuk pengguna federasi.
Memulai dengan Amazon Cognito
Misalnya aplikasi kumpulan pengguna, lihatMemulai dengan kumpulan pengguna.
Untuk pengenalan kumpulan identitas, lihatMemulai dengan kumpulan identitas Amazon Cognito.
Untuk tautan ke pengalaman penyiapan terpandu dengan kumpulan pengguna dan kumpulan identitas, lihatOpsi penyiapan terpandu untuk Amazon Cognito.
Untuk memulai dengan AWS SDK, lihat Alat AWS Pengembang
Untuk menggunakan Amazon Cognito, Anda memerlukan Akun AWS. Untuk informasi selengkapnya, lihat Memulai dengan AWS.
Ketersediaan wilayah
Amazon Cognito tersedia di beberapa AWS Wilayah di seluruh dunia. Di setiap Wilayah, Amazon Cognito didistribusikan di beberapa Availability Zone. Availability Zone ini secara fisik terisolasi satu sama lain, tetapi disatukan oleh koneksi jaringan privat, latensi rendah, throughput tinggi, dan sangat redundan. Zona Ketersediaan ini memungkinkan AWS untuk menyediakan layanan, termasuk Amazon Cognito, dengan tingkat ketersediaan dan redundansi yang sangat tinggi, sementara juga meminimalkan latensi.
Untuk melihat apakah Amazon Cognito saat ini tersedia di mana pun Wilayah AWS, lihat AWS Layanan berdasarkan Wilayah
Untuk mempelajari tentang titik akhir layanan API regional, lihat AWS wilayah dan titik akhir di. Referensi Umum Amazon Web
Untuk mempelajari lebih lanjut tentang jumlah Zona Ketersediaan yang tersedia di setiap Wilayah, lihat infrastruktur AWS global
Harga untuk Amazon Cognito
Untuk informasi tentang harga Amazon Cognito, lihat Harga Amazon Cognito.