Obtener permisos para crear autorizadores del grupo de usuarios de Amazon Cognito para una API REST
Si desea crear un autorizador con un grupo de usuarios de Amazon Cognito, debe tener permisos Allow
para crear o actualizar un autorizador con el grupo de usuarios de Amazon Cognito elegido. El siguiente documento de política de IAM muestra un ejemplo de esos permisos:
{ "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
" ] } } } ] }
Asegúrese de que la política está asociada a un grupo de IAM al que pertenezca o a un rol de IAM que tenga asignado.
En el documento de la política anterior, la acción apigateway:POST
sirve para crear un autorizador y la acción apigateway:PATCH
sirve para actualizar un autorizador existente. Puede restringir la política a una región específica o a una API concreta anulando los dos primeros caracteres comodín (*) de los valores de Resource
, respectivamente.
Las cláusulas Condition
que se utilizan aquí sirven para restringir los permisos Allowed
a los grupos de usuarios especificados. Cuando hay una cláusula Condition
, se deniega el acceso a los grupos de usuarios que no cumplen las condiciones. Cuando un permiso no tiene una cláusula Condition
, se permite el acceso a cualquier grupo de usuarios.
Dispone de las siguientes opciones para configurar la cláusula Condition
:
-
Puede definir una expresión condicional
ArnLike
oArnEquals
para permitir la creación o la actualización de autorizadores deCOGNITO_USER_POOLS
únicamente con los grupos de usuarios especificados. -
Puede definir una expresión condicional
ArnNotLike
oArnNotEquals
para permitir la creación o la actualización de autorizadores deCOGNITO_USER_POOLS
con cualquier grupo de usuarios que no esté especificado en la expresión. -
Puede omitir la cláusula
Condition
para permitir la creación o la actualización de autorizadores deCOGNITO_USER_POOLS
con cualquier grupo de usuarios de cualquier cuenta de AWS y de cualquier región.
Para obtener más información sobre las expresiones condicionales del nombre de recurso de Amazon (ARN), consulte Operadores de condición de nombre de recurso de Amazon (ARN). Tal y como se muestra en el ejemplo, apigateway:CognitoUserPoolProviderArn
es una lista de los ARN de los grupos de usuarios de COGNITO_USER_POOLS
que pueden o no utilizarse con un autorizador de API Gateway de tipo COGNITO_USER_POOLS
.