Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan sumber identitas Amazon Cognito
Izin Terverifikasi bekerja sama dengan kumpulan pengguna Amazon Cognito. Amazon Cognito JWTs memiliki struktur yang dapat diprediksi. Izin Terverifikasi mengenali struktur ini dan menarik manfaat maksimal dari informasi yang dikandungnya. Misalnya, Anda dapat menerapkan model otorisasi kontrol akses berbasis peran (RBAC) dengan token ID atau token akses.
Sumber identitas kumpulan pengguna Amazon Cognito baru memerlukan informasi berikut:
-
Itu Wilayah AWS.
-
ID kolam pengguna.
-
Jenis entitas utama yang ingin Anda kaitkan dengan sumber identitas Anda, misalnya
MyCorp::User
. -
Jenis entitas grup utama yang ingin Anda kaitkan dengan sumber identitas Anda, misalnya
MyCorp::UserGroup
. -
Klien IDs dari kumpulan pengguna Anda yang ingin Anda otorisasi untuk mengajukan permintaan ke toko kebijakan Anda.
Karena Izin Terverifikasi hanya berfungsi dengan kumpulan pengguna Amazon Cognito dalam Akun AWS hal yang sama, Anda tidak dapat menentukan sumber identitas di akun lain. Izin Terverifikasi menyetel awalan entitas —pengenal sumber identitas yang harus Anda referensikan dalam kebijakan yang bertindak pada prinsip kumpulan pengguna—ke ID kumpulan pengguna Anda, misalnya. us-west-2_EXAMPLE
Dalam hal ini, Anda akan mereferensikan pengguna di kumpulan pengguna tersebut dengan ID a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
sebagai us-west-2_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
Klaim token kumpulan pengguna dapat berisi atribut, cakupan, grup, klien IDs, dan data khusus. Amazon Cognito JWTs memiliki kemampuan untuk menyertakan berbagai informasi yang dapat berkontribusi pada keputusan otorisasi di Izin Terverifikasi. Ini termasuk:
-
Nama pengguna dan klaim grup dengan
cognito:
awalan -
Atribut pengguna kustom dengan
custom: prefix
-
Klaim khusus ditambahkan saat runtime
-
Klaim standar OIDC seperti dan
sub
email
Kami membahas klaim ini secara rinci, dan cara mengelolanya dalam kebijakan Izin Terverifikasi, diMemetakan token Amazon Cognito ke skema.
penting
Meskipun Anda dapat mencabut token Amazon Cognito sebelum kedaluwarsa JWTs , dianggap sebagai sumber daya tanpa kewarganegaraan yang mandiri dengan tanda tangan dan validitas. Layanan yang sesuai dengan JSON Web Token RFC 7519
Contoh berikut ini menunjukkan cara membuat kebijakan yang mereferensikan beberapa klaim kumpulan pengguna Amazon Cognito yang terkait dengan prinsipal.
permit( principal, action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" ) when { principal["cognito:username"]) == "alice" && principal["custom:department"]) == "Finance" };
Contoh berikut ini menunjukkan bagaimana Anda dapat membuat kebijakan yang mereferensikan prinsipal yang merupakan pengguna di kumpulan pengguna Cognito. Perhatikan bahwa ID utama berbentuk"<userpool-id>|<sub>"
.
permit( principal == ExampleCo::User::"us-east-1_example|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" );
Kebijakan cedar untuk sumber identitas kumpulan pengguna di Izin Terverifikasi menggunakan sintaks khusus untuk nama klaim yang berisi karakter selain alfanumerik dan garis bawah (). _
Ini termasuk klaim awalan kumpulan pengguna yang berisi :
karakter, suka cognito:username
dancustom:department
. Untuk menulis kondisi kebijakan yang mereferensikan cognito:username
atau custom:department
klaim, tulislah sebagai principal["cognito:username"]
danprincipal["custom:department"]
, masing-masing.
catatan
Jika token berisi klaim dengan custom:
awalan cognito:
atau dan nama klaim dengan nilai literal cognito
ataucustom
, permintaan otorisasi dengan IsAuthorizedWithTokenakan gagal dengan. ValidationException
Untuk informasi selengkapnya tentang pemetaan klaim, lihatMemetakan token Amazon Cognito ke skema. Untuk informasi selengkapnya tentang otorisasi untuk pengguna Amazon Cognito, lihat Otorisasi dengan Izin Terverifikasi Amazon di Panduan Pengembang Amazon Cognito.