Dapatkan izin untuk membuat otorisasi kumpulan pengguna Amazon Cognito untuk REST API - Amazon API Gateway

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Dapatkan izin untuk membuat otorisasi kumpulan pengguna Amazon Cognito untuk REST API

Untuk membuat otorisasi dengan kumpulan pengguna Amazon Cognito, Anda harus Allow memiliki izin untuk membuat atau memperbarui otorisasi dengan kumpulan pengguna Amazon Cognito yang dipilih. Dokumen kebijakan IAM berikut menunjukkan contoh izin tersebut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apigateway:POST" ], "Resource": "arn:aws:apigateway:*::/restapis/*/authorizers", "Condition": { "ArnLike": { "apigateway:CognitoUserPoolProviderArn": [ "arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_aD06NQmjO", "arn:aws:cognito-idp:us-east-1:234567890123:userpool/us-east-1_xJ1MQtPEN" ] } } }, { "Effect": "Allow", "Action": [ "apigateway:PATCH" ], "Resource": "arn:aws:apigateway:*::/restapis/*/authorizers/*", "Condition": { "ArnLike": { "apigateway:CognitoUserPoolProviderArn": [ "arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_aD06NQmjO", "arn:aws:cognito-idp:us-east-1:234567890123:userpool/us-east-1_xJ1MQtPEN" ] } } } ] }

Pastikan kebijakan tersebut dilampirkan ke grup IAM tempat Anda berada atau peran IAM yang Anda tetapkan.

Dalam dokumen kebijakan sebelumnya, apigateway:POST tindakannya adalah untuk membuat otorisasi baru, dan apigateway:PATCH tindakannya adalah untuk memperbarui otorisasi yang ada. Anda dapat membatasi kebijakan ke wilayah tertentu atau API tertentu dengan mengganti dua karakter wildcard (*) pertama dari Resource nilai tersebut.

ConditionKlausul yang digunakan di sini adalah untuk membatasi Allowed izin ke kumpulan pengguna yang ditentukan. Ketika Condition klausa ada, akses ke kumpulan pengguna mana pun yang tidak cocok dengan kondisi akan ditolak. Jika izin tidak memiliki Condition klausa, akses ke kumpulan pengguna apa pun diizinkan.

Anda memiliki opsi berikut untuk mengatur Condition klausa:

  • Anda dapat mengatur ekspresi ArnLike atau ArnEquals kondisional untuk mengizinkan pembuatan atau pembaruan COGNITO_USER_POOLS otorisasi hanya dengan kumpulan pengguna yang ditentukan.

  • Anda dapat menyetel ekspresi ArnNotLike atau ArnNotEquals kondisional untuk mengizinkan pembuatan atau pembaruan COGNITO_USER_POOLS otorisasi dengan kumpulan pengguna apa pun yang tidak ditentukan dalam ekspresi.

  • Anda dapat menghilangkan Condition klausul untuk mengizinkan pembuatan atau pembaruan COGNITO_USER_POOLS otorisasi dengan kumpulan pengguna apa pun, AWS akun apa pun, dan di wilayah mana pun.

Untuk informasi selengkapnya tentang ekspresi bersyarat Amazon Resource Name (ARN), lihat Operator Kondisi Nama Sumber Daya Amazon. Seperti yang ditunjukkan dalam contoh, apigateway:CognitoUserPoolProviderArn adalah daftar ARN dari kumpulan COGNITO_USER_POOLS pengguna yang dapat atau tidak dapat digunakan dengan jenis otorisasi API Gateway. COGNITO_USER_POOLS