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 OAuth 2.0 dan AWS kredensi. Dengan Amazon Cognito, Anda dapat mengautentikasi dan mengotorisasi pengguna dari direktori pengguna bawaan, dari direktori perusahaan Anda, dan dari penyedia identitas konsumen seperti Google dan Facebook.
Topik
- Kolam pengguna
- Kolam identitas
- Fitur Amazon Cognito
- Perbandingan kumpulan pengguna Amazon Cognito dan kumpulan identitas
- Memulai dengan Amazon Cognito
- Ketersediaan wilayah
- Harga untuk Amazon Cognito
- Cara kerja otentikasi dengan Amazon Cognito
- Istilah dan konsep Amazon Cognito yang umum
- Menggunakan layanan ini dengan AWS SDK
- Memulai dengan AWS
Dua komponen yang mengikuti 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 mengautentikasi dan mengotorisasi pengguna ke aplikasi Anda atau. API Kumpulan pengguna adalah direktori pengguna dengan pembuatan, manajemen, dan otentikasi pengguna swalayan dan berbasis administrator. Kumpulan pengguna Anda dapat berupa direktori independen dan penyedia OIDC identitas (iDP), dan penyedia layanan perantara (SP) untuk penyedia tenaga kerja dan identitas pelanggan pihak ketiga. Anda dapat memberikan single sign-on (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 ituCIAM?
Kumpulan pengguna tidak memerlukan integrasi dengan kumpulan identitas. Dari kumpulan pengguna, Anda dapat mengeluarkan token JSON web terautentikasi (JWTs) langsung ke aplikasi, server web, atau fileAPI.
Kolam 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 kredensil bagi aplikasi Anda untuk menayangkan sumber daya kepada pengguna. Anda dapat mengautentikasi pengguna dengan penyedia identitas tepercaya, seperti kumpulan pengguna atau layanan SAML 2.0. Ini juga dapat mengeluarkan kredensil secara opsional untuk pengguna tamu. Kumpulan identitas menggunakan kontrol akses berbasis peran dan atribut untuk mengelola otorisasi pengguna Anda untuk mengakses sumber daya Anda. AWS
Identity pool tidak memerlukan integrasi dengan user pool. Kumpulan identitas dapat menerima klaim yang diautentikasi langsung dari penyedia tenaga kerja dan identitas konsumen.
Kumpulan pengguna Amazon Cognito dan kumpulan identitas yang digunakan bersama
Dalam diagram yang memulai topik ini, Anda menggunakan Amazon Cognito untuk mengautentikasi pengguna Anda dan kemudian memberi mereka akses ke file. Layanan AWS
-
Pengguna aplikasi Anda masuk melalui kumpulan pengguna dan menerima OAuth 2,0 token.
-
Aplikasi Anda menukar token kumpulan pengguna dengan kumpulan identitas untuk AWS kredenal sementara yang dapat Anda gunakan dengan AWS APIs dan AWS Command Line Interface ()AWS CLI.
-
Aplikasi Anda menetapkan sesi kredensional kepada pengguna Anda, dan memberikan akses resmi seperti Amazon Layanan AWS S3 dan Amazon DynamoDB.
Untuk contoh lainnya yang menggunakan kumpulan identitas dan kumpulan pengguna, lihat Skenario Amazon Cognito Umum.
Di Amazon Cognito, keamanan kewajiban cloud dari model tanggung jawab bersama
Fitur Amazon Cognito
Kolam pengguna
Kumpulan pengguna Amazon Cognito adalah direktori pengguna. Dengan kumpulan pengguna, pengguna dapat masuk ke web atau aplikasi seluler Anda melalui Amazon Cognito, atau bergabung melalui iDP pihak ketiga. Pengguna federasi dan lokal memiliki profil pengguna di kumpulan pengguna Anda.
Pengguna lokal adalah mereka yang mendaftar atau Anda buat langsung di kumpulan pengguna Anda. Anda dapat mengelola dan menyesuaikan profil pengguna ini di AWS Management Console, an 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 file JWT yang dikeluarkan ke aplikasi Anda. Anda dapat menstandarisasi aplikasi pada satu set JWTs saat Amazon Cognito menangani interaksi IdPs dengan, memetakan klaimnya ke format token pusat.
Kumpulan pengguna Amazon Cognito dapat menjadi IDP mandiri. Amazon Cognito mengambil dari standar OpenID Connect (OIDC) JWTs untuk menghasilkan autentikasi dan otorisasi. Saat Anda masuk ke pengguna lokal, kumpulan pengguna Anda bersifat otoritatif bagi pengguna tersebut. Anda memiliki akses ke fitur-fitur berikut saat Anda mengautentikasi pengguna lokal.
-
Terapkan front-end web Anda sendiri yang memanggil API kumpulan pengguna Amazon Cognito untuk mengautentikasi, mengotorisasi, dan mengelola pengguna Anda.
-
Siapkan otentikasi multi-faktor (MFA) untuk pengguna Anda. Amazon Cognito mendukung kata sandi satu kali () TOTP dan pesan berbasis waktu. SMS MFA
-
Aman terhadap akses dari akun pengguna yang berada di bawah kendali jahat.
-
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 ke 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 bermasalah dengan kumpulan pengguna Amazon Cognito, Anda dapat
-
Menerima token ID di aplikasi Anda yang mengautentikasi pengguna, dan memberikan informasi yang Anda perlukan untuk menyiapkan profil pengguna
-
Terima token akses di Anda API dengan OIDC cakupan yang mengotorisasi panggilan pengguna API Anda.
-
Ambil AWS kredensil dari kumpulan identitas Amazon Cognito.
Fitur | Deskripsi |
---|---|
OIDCiDP | Menerbitkan token ID untuk mengautentikasi pengguna |
Server otorisasi | Keluarkan token akses untuk mengotorisasi akses pengguna APIs |
SAML2.0 SP | Ubah SAML pernyataan menjadi ID dan token akses |
OIDCSP | Ubah OIDC token menjadi ID dan token akses |
OAuth2.0 SP | Ubah token ID dari Apple, Facebook, Amazon, atau Google menjadi ID dan token akses Anda sendiri |
Layanan frontend otentikasi | Mendaftar, mengelola, dan mengautentikasi pengguna dengan UI yang dihosting |
APIdukungan untuk UI Anda sendiri | Membuat, mengelola, dan mengautentikasi pengguna melalui API permintaan yang didukung ¹ AWS SDKs |
MFA | Gunakan SMS pesanTOTPs, atau perangkat pengguna Anda sebagai faktor autentikasi tambahan¹ |
Pemantauan & respons keamanan | Aman terhadap aktivitas berbahaya dan kata sandi tidak aman¹ |
Sesuaikan alur otentikasi | Buat mekanisme otentikasi Anda sendiri, atau tambahkan langkah-langkah khusus ke aliran yang ada¹ |
Grup | Buat pengelompokan logis pengguna, dan hierarki klaim IAM peran saat Anda meneruskan token ke kumpulan identitas |
Kustomisasi token ID | Sesuaikan token ID Anda dengan klaim baru, dimodifikasi, dan ditekan |
Sesuaikan atribut pengguna | Tetapkan nilai ke atribut pengguna dan tambahkan atribut kustom Anda sendiri |
¹ Fitur hanya tersedia untuk pengguna lokal.
Untuk informasi selengkapnya tentang kumpulan pengguna, lihat Memulai dengan kumpulan pengguna dan referensi kumpulan API pengguna Amazon Cognito.
Kolam identitas
Kumpulan identitas adalah kumpulan pengenal unik, atau identitas, yang Anda tetapkan kepada pengguna atau tamu Anda dan diberi wewenang untuk menerima kredensi sementara. AWS Saat Anda menunjukkan bukti otentikasi ke kumpulan identitas dalam bentuk klaim tepercaya dari penyedia identitas sosial SAML 2.0, OpenID OIDC Connect ()OAuth, atau 2.0 (iDP), Anda mengaitkan pengguna Anda dengan identitas di kumpulan identitas. Token yang dibuat oleh kumpulan identitas Anda untuk identitas dapat mengambil kredenal sesi sementara dari AWS Security Token Service ().AWS STS
Untuk melengkapi identitas yang diautentikasi, Anda juga dapat mengonfigurasi kumpulan identitas untuk mengotorisasi akses AWS tanpa autentikasi IDP. Anda dapat menawarkan bukti otentikasi kustom Anda sendiri, atau tidak ada otentikasi. Anda dapat memberikan AWS kredensi sementara kepada pengguna aplikasi mana pun yang memintanya, dengan identitas yang tidak diautentikasi. Identity pool juga menerima klaim dan mengeluarkan kredensi berdasarkan skema kustom Anda sendiri, dengan identitas yang diautentikasi pengembang.
Dengan kumpulan identitas Amazon Cognito, Anda memiliki dua cara untuk berintegrasi dengan IAM kebijakan di dalamnya. Akun AWS Anda dapat menggunakan kedua fitur ini bersama-sama atau secara individual.
Kontrol akses berbasis peran
Saat pengguna meneruskan klaim ke kumpulan identitas Anda, Amazon Cognito memilih IAM peran yang diminta. Untuk menyesuaikan izin peran dengan kebutuhan Anda, Anda menerapkan IAM kebijakan untuk 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 hanya IAM 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 IAM berbasis sumber daya untuk mengizinkan atau menolak akses ke sumber daya berdasarkan IAM prinsip yang membawa tag sesi dari kumpulan identitas Anda. Misalnya, jika pengguna Anda menunjukkan bahwa mereka berada di departemen pemasaran, beri AWS STS tag sesi Department: marketing
mereka. Bucket Amazon S3 Anda mengizinkan operasi baca berdasarkan PrincipalTag kondisi aws: yang memerlukan nilai marketing
tag. Department
Fitur | Deskripsi |
---|---|
Kumpulan pengguna Amazon Cognito SP | Tukarkan token ID dari kumpulan pengguna Anda untuk kredensi identitas web dari AWS STS |
SAML2.0 SP | Tukarkan SAML pernyataan untuk kredensil identitas web dari AWS STS |
OIDCSP | Tukar OIDC token untuk kredensil identitas web dari AWS STS |
OAuth2.0 SP | Tukarkan OAuth token dari Amazon, Facebook, Google, Apple, dan Twitter untuk kredensi identitas web dari AWS STS |
Kustom SP | Dengan AWS kredensi, tukar klaim dalam format apa pun untuk kredensil identitas web dari AWS STS |
Akses tidak diautentikasi | Mengeluarkan kredensil identitas web akses terbatas dari tanpa otentikasi AWS STS |
Kontrol akses berbasis peran | Pilih IAM peran untuk pengguna yang diautentikasi berdasarkan klaimnya, dan konfigurasikan peran Anda agar hanya diasumsikan dalam konteks kumpulan identitas Anda |
Kontrol akses berbasis atribut | Ubah klaim menjadi tag utama untuk sesi AWS STS sementara Anda, dan gunakan IAM kebijakan untuk memfilter akses sumber daya berdasarkan tag utama |
Untuk informasi selengkapnya tentang kumpulan identitas, lihat Memulai dengan kumpulan identitas Amazon Cognito dan referensi kumpulan API identitas Amazon Cognito.
Perbandingan kumpulan pengguna Amazon Cognito dan kumpulan identitas
Fitur | Deskripsi | Kolam pengguna | Kolam identitas |
---|---|---|---|
OIDCiDP | Menerbitkan token OIDC ID untuk mengautentikasi pengguna aplikasi | ✓ | |
APIserver otorisasi | Menerbitkan token akses untuk mengotorisasi akses pengguna keAPIs, database, dan sumber daya lain yang menerima cakupan otorisasi OAuth 2.0 | ✓ | |
IAMserver otorisasi identitas web | Hasilkan token yang dapat Anda tukarkan dengan AWS STS AWS kredensi sementara | ✓ | |
SAML2.0 SP & OIDC iDP | Menerbitkan OIDC token yang disesuaikan berdasarkan klaim dari SAML 2.0 iDP | ✓ | |
OIDCSP & OIDC IDP | Menerbitkan OIDC token yang disesuaikan berdasarkan klaim dari OIDC IDP | ✓ | |
OAuth2.0 SP & OIDC iDP | Keluarkan OIDC token yang disesuaikan berdasarkan cakupan dari OAuth 2.0 penyedia sosial seperti Apple dan Google | ✓ | |
SAML2.0 SP & pialang kredensi | Menerbitkan AWS kredensi sementara berdasarkan klaim dari 2.0 iDP SAML | ✓ | |
OIDCPialang SP & kredensi | Menerbitkan AWS kredensi sementara berdasarkan klaim dari IDP OIDC | ✓ | |
OAuth2.0 SP & pialang kredensi | Menerbitkan AWS kredensi sementara berdasarkan cakupan dari OAuth 2.0 penyedia sosial seperti Apple dan Google | ✓ | |
Broker SP & kredensi kumpulan pengguna Amazon Cognito | Menerbitkan AWS kredensi sementara berdasarkan OIDC klaim dari kumpulan pengguna Amazon Cognito | ✓ | |
Pialang SP & kredensial kustom | Menerbitkan AWS kredensi sementara berdasarkan otorisasi pengembang IAM | ✓ | |
Layanan frontend otentikasi | Mendaftar, mengelola, dan mengautentikasi pengguna dengan UI yang dihosting | ✓ | |
APIdukungan untuk UI otentikasi Anda sendiri | Membuat, mengelola, dan mengautentikasi pengguna melalui API permintaan yang didukung ¹ AWS SDKs | ✓ | |
MFA | Gunakan SMS pesanTOTPs, atau perangkat pengguna Anda sebagai faktor autentikasi tambahan¹ | ✓ | |
Pemantauan & respons keamanan | Lindungi dari aktivitas berbahaya dan kata sandi yang tidak aman¹ | ✓ | |
Sesuaikan alur otentikasi | Buat mekanisme otentikasi Anda sendiri, atau tambahkan langkah-langkah khusus ke aliran yang ada¹ | ✓ | |
Grup | Buat pengelompokan logis pengguna, dan hierarki klaim IAM peran saat Anda meneruskan token ke kumpulan identitas | ✓ | |
Kustomisasi token ID | Sesuaikan token ID Anda dengan klaim baru, dimodifikasi, dan ditekan | ✓ | |
AWS WAF web ACLs | Memantau dan mengontrol permintaan ke lingkungan otentikasi Anda dengan AWS WAF | ✓ | |
Sesuaikan atribut pengguna | Tetapkan nilai ke atribut pengguna dan tambahkan atribut kustom Anda sendiri | ✓ | |
Akses tidak diautentikasi | Mengeluarkan kredensil identitas web akses terbatas dari tanpa otentikasi AWS STS | ✓ | |
Kontrol akses berbasis peran | Pilih IAM peran untuk pengguna yang diautentikasi berdasarkan klaimnya, dan konfigurasikan peran Anda agar hanya diasumsikan dalam konteks kumpulan identitas Anda | ✓ | |
Kontrol akses berbasis atribut | Ubah klaim pengguna menjadi tag utama untuk sesi AWS STS sementara Anda, dan gunakan IAM kebijakan untuk memfilter akses sumber daya berdasarkan tag utama | ✓ |
¹ Fitur hanya tersedia untuk pengguna lokal.
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 video, artikel, dokumentasi, dan contoh aplikasi lainnya, lihat sumber daya pengembang Amazon Cognito
Untuk menggunakan Amazon Cognito, Anda memerlukan file. 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. Availability Zone ini memungkinkan AWS untuk menyediakan layanan, termasuk Amazon Cognito, dengan tingkat ketersediaan dan redundansi yang sangat tinggi, sekaligus meminimalkan latensi.
Untuk daftar semua Wilayah tempat Amazon Cognito saat ini tersedia, lihat AWS wilayah dan titik akhir di. Referensi Umum Amazon Web Untuk mempelajari lebih lanjut tentang jumlah Availability Zone yang tersedia di setiap Wilayah, lihat infrastruktur AWS global
Harga untuk Amazon Cognito
Untuk informasi tentang harga Amazon Cognito, lihat harga Amazon Cognito