REST API 用の Amazon Cognito ユーザープールオーソライザーを作成するためのアクセス許可を取得する
Amazon Cognito のユーザープールを使用してオーソライザーを作成するには、選択した Amazon Cognito ユーザープールでオーソライザーを作成または更新するための Allow
アクセス許可が必要です。以下の IAM ポリシードキュメントに示しているのは、そのようなアクセス許可の例です。
{ "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
" ] } } } ] }
ポリシーが、ユーザーが属している IAM グループ、または割り当てられている IAM ロールにアタッチされていることを確認します。
上記のポリシードキュメントでは、apigateway:POST
アクションは新しいオーソライザーを作成するためのものであり、apigateway:PATCH
アクションは既存のオーソライザーを更新するためのものです。最初の 2 つのワイルドカード (*) をそれぞれ Resource
の値で上書きすることで、ポリシーを特定のリージョンまたは特定の API に制限できます。
ここで使用されている Condition
句は、Allowed
アクセス権限を指定されたユーザープールに制限します。Condition
句がある場合、条件に一致しないユーザープールへのアクセスは拒否されます。アクセス権限に Condition
句がない場合、すべてのユーザープールへのアクセスが許可されます。
Condition
句の設定には、次のオプションがあります。
-
ArnLike
またはArnEquals
条件式を設定して、指定されたユーザープールのみを使用するCOGNITO_USER_POOLS
オーソライザーの作成または更新を許可できます。 -
ArnNotLike
またはArnNotEquals
条件式を設定して、式に指定されていないユーザープールを使用するCOGNITO_USER_POOLS
オーソライザーの作成または更新を許可できます。 -
任意の AWS アカウントおよび任意のリージョンの任意のユーザープールを使用する
COGNITO_USER_POOLS
オーソライザーの作成または更新を許可するには、Condition
句を省略できます。
Amazon リソースネーム (ARN) の条件式の詳細については、Amazon リソースネームの条件演算子を参照してください。次の例に示すように、apigateway:CognitoUserPoolProviderArn
は、COGNITO_USER_POOLS
タイプの API Gateway オーソライザーで使用できる、または使用できない COGNITO_USER_POOLS
ユーザープールの ARN のリストです。