Apa itu Amazon Cognito? - Amazon Cognito

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 kredenal OAuth 2.0. AWS 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.

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 atau API Anda. Kumpulan pengguna adalah direktori pengguna dengan pembuatan, manajemen, dan otentikasi pengguna swalayan dan berbasis administrator. Kumpulan pengguna Anda dapat berupa direktori independen dan penyedia identitas OIDC (IDP), dan penyedia layanan perantara (SP) ke penyedia tenaga kerja dan identitas pelanggan pihak ketiga. Anda dapat menyediakan sistem masuk tunggal (SSO) di aplikasi untuk identitas tenaga kerja organisasi Anda di SAMP 2.0 dan OIDC dengan kumpulan pengguna. IdPs 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 lebih lanjut 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.

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 SAMP 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

  1. Pengguna aplikasi Anda masuk melalui kumpulan pengguna dan menerima token OAuth 2.0.

  2. Aplikasi Anda menukar token kumpulan pengguna dengan kumpulan identitas untuk AWS kredensil sementara yang dapat Anda gunakan dengan AWS API dan AWS Command Line Interface ()AWS CLI.

  3. 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 sesuai dengan SOC 1-3, PCI DSS, ISO 27001, dan memenuhi syarat HIPAA-BAA. Anda dapat mendesain keamanan Anda di cloud di Amazon Cognito agar sesuai dengan SOC1-3, ISO 27001, dan HIPAA-BAA, tetapi tidak dengan PCI DSS. Untuk informasi selengkapnya, lihat AWS layanan dalam cakupan. Lihat juga Pertimbangan data regional.

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, 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 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 berbasis waktu (TOTP) dan MFA pesan SMS.

  • 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 API Anda dengan cakupan OIDC yang mengotorisasi panggilan API pengguna Anda.

  • Ambil AWS kredensil dari kumpulan identitas Amazon Cognito.

Fitur kumpulan pengguna Amazon Cognito
Fitur Deskripsi
IdP OIDC Menerbitkan token ID untuk mengautentikasi pengguna
Server otorisasi Keluarkan token akses untuk mengotorisasi akses pengguna ke API
SAML 2.0 SP Ubah pernyataan SAMP menjadi ID dan token akses
OIDC SP Ubah token OIDC menjadi ID dan token akses
OAuth 2.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
Dukungan API untuk UI Anda sendiri Membuat, mengelola, dan mengautentikasi pengguna melalui permintaan API di SDK yang didukung¹ AWS
MFA Gunakan pesan SMS, TOTP, atau perangkat pengguna Anda sebagai faktor otentikasi 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 peran IAM saat Anda meneruskan token ke kumpulan identitas
Sesuaikan 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 referensi API kumpulan 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 SAMP 2.0, OpenID Connect (OIDC), atau penyedia identitas sosial OAuth 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 kebijakan IAM di situs Anda. 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 peran IAM yang diminta. Untuk menyesuaikan izin peran dengan kebutuhan Anda, Anda menerapkan kebijakan IAM 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, atau peran berdasarkan keanggotaan grup pengguna 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 Anda untuk mengizinkan atau menolak akses ke sumber daya berdasarkan prinsip 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 Department: marketing mereka. Bucket Amazon S3 Anda mengizinkan operasi baca berdasarkan PrincipalTag kondisi aws: yang memerlukan nilai marketing tag. Department

Fitur kumpulan identitas Amazon Cognito
Fitur Deskripsi
Kumpulan pengguna Amazon Cognito SP Tukarkan token ID dari kumpulan pengguna Anda untuk kredensi identitas web dari AWS STS
SAML 2.0 SP Tukarkan pernyataan SAMP untuk kredensil identitas web dari AWS STS
OIDC SP Tukar token OIDC untuk kredensil identitas web dari AWS STS
OAuth 2.0 SP Tukarkan token OAuth 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 peran IAM 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 kebijakan IAM untuk memfilter akses sumber daya berdasarkan tag utama

Untuk informasi selengkapnya tentang kumpulan identitas, lihat Memulai dengan kumpulan identitas Amazon Cognito referensi API kumpulan identitas Amazon Cognito.

Perbandingan kumpulan pengguna Amazon Cognito dan kumpulan identitas

Fitur Deskripsi Kolam pengguna Kolam identitas
IdP OIDC Menerbitkan token ID OIDC untuk mengautentikasi pengguna aplikasi
Server otorisasi API Keluarkan token akses untuk mengotorisasi akses pengguna ke API, database, dan sumber daya lain yang menerima cakupan otorisasi OAuth 2.0
Server otorisasi identitas web IAM Hasilkan token yang dapat Anda tukarkan dengan AWS STS AWS kredensi sementara
SAMP 2.0 SP & OIDC IDP Keluarkan token OIDC yang disesuaikan berdasarkan klaim dari IDP SAMP 2.0
OIDC SP & OIDC IDP Mengeluarkan token OIDC yang disesuaikan berdasarkan klaim dari IDP OIDC
OAuth 2.0 SP & OIDC IDP Keluarkan token OIDC yang disesuaikan berdasarkan cakupan dari penyedia sosial OAuth 2.0 seperti Apple dan Google
SAMP 2.0 SP & pialang kredensyal Menerbitkan AWS kredensi sementara berdasarkan klaim dari IDP SAMP 2.0
OIDC SP & pialang kredensyal Menerbitkan AWS kredensi sementara berdasarkan klaim dari IDP OIDC
OAuth 2.0 SP & pialang kredensyal Mengeluarkan AWS kredensi sementara berdasarkan cakupan dari penyedia sosial OAuth 2.0 seperti Apple dan Google
Broker SP & kredensi kumpulan pengguna Amazon Cognito Menerbitkan AWS kredensi sementara berdasarkan klaim OIDC dari kumpulan pengguna Amazon Cognito
Kustom SP & broker kredensyal Menerbitkan AWS kredensi sementara berdasarkan otorisasi IAM pengembang
Layanan frontend otentikasi Mendaftar, mengelola, dan mengautentikasi pengguna dengan UI yang dihosting
Dukungan API untuk UI otentikasi Anda sendiri Membuat, mengelola, dan mengautentikasi pengguna melalui permintaan API di SDK yang didukung¹ AWS
MFA Gunakan pesan SMS, TOTP, atau perangkat pengguna Anda sebagai faktor otentikasi 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 peran IAM saat Anda meneruskan token ke kumpulan identitas
Sesuaikan token ID Sesuaikan token ID Anda dengan klaim baru, dimodifikasi, dan ditekan
AWS WAF ACL web 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 peran IAM 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 kebijakan IAM 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.