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

Dua komponen yang mengikuti membentuk Amazon Cognito. Mereka beroperasi secara independen atau bersama-sama, berdasarkan kebutuhan akses Anda untuk pengguna Anda.

Kolam pengguna

Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.

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

Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.

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

  1. Pengguna aplikasi Anda masuk melalui kumpulan pengguna dan menerima OAuth 2,0 token.

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

  3. Aplikasi Anda menetapkan sesi kredensialnya 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,, ISO 27001 PCIDSS, dan - memenuhi syarat. HIPAA BAA Anda dapat merancang keamanan Anda di cloud di Amazon Cognito agar sesuai dengan SOC1 -3, ISO 27001, dan HIPAA -, tetapi tidak. BAA 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, 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 menjadi atribut 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 kumpulan pengguna 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, atau peran berdasarkan keanggotaan grup pengguna 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 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
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 melihat apakah Amazon Cognito saat ini tersedia di salah satu Wilayah AWS, lihat AWS Layanan menurut Wilayah.

Untuk mempelajari tentang titik akhir API layanan regional, 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.