Obtener permisos para crear autorizadores del grupo de usuarios de Amazon Cognito para una API REST - Amazon API Gateway

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 o ArnEquals para permitir la creación o la actualización de autorizadores de COGNITO_USER_POOLS únicamente con los grupos de usuarios especificados.

  • Puede definir una expresión condicional ArnNotLike o ArnNotEquals para permitir la creación o la actualización de autorizadores de COGNITO_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 de COGNITO_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.