Para permitir a un usuario acceder a la API llamando al servicio de ejecución de la API, debe crear una política de recursos de API Gateway y asociar la política a la API. Al asociar una política a la API, se aplican los permisos de la política a los métodos de la API. Si actualiza la política de recursos, tendrá que implementar la API.
Temas
Requisitos previos
Para actualizar una política de recursos de API Gateway, necesitará el permiso apigateway:UpdateRestApiPolicy
y el permiso apigateway:PATCH
.
Para una API regional u optimizada para sistemas perimetrales, puede adjuntar la política de recursos a la API a medida que la crea o después de implementarla. Para una API privada, no puede implementar la API sin una política de recursos. Para obtener más información, consulte API de REST privadas en API Gateway.
Asociación de una política de recursos a una API de API Gateway
El siguiente procedimiento muestra cómo asociar una política de recursos a una API de API Gateway.
Para asociar una política de recursos a una API de API Gateway
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
-
En el panel de navegación principal, elija Política de recursos.
-
Elija Crear política.
-
(Opcional) Elija Seleccionar una plantilla para generar una política de ejemplo.
En las políticas de ejemplo, los marcadores de posición se indican mediante llaves (
"{{
). Sustituya cada uno de los marcadores de posición, incluidas las llaves, por la información necesaria.placeholder
}}" Si no utiliza uno de los ejemplos de plantilla, ingrese la política de recursos.
-
Elija Guardar cambios.
Si la API se ha implementado anteriormente en la consola de API Gateway, tendrá que volver a implementarla para que la política de recursos surta efecto.
Solución de problemas de política de recursos
La siguiente guía de solución de problemas puede ayudar a resolver los problemas relacionados con la política de recursos.
Mi API devuelve {"Mensaje": El usuario: anónimo no está autorizado a realizar: execute-api:Invoke en resource: arn:aws:execute-api:us-east-1:********/****/****/"}
En la política de recursos, si establece la entidad principal en una entidad principal de AWS, por ejemplo:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", ""Principal": { "AWS": [ "arn:aws:iam::account-id:role/developer", "arn:aws:iam::account-id:role/Admin" ] }, "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, ... }
Debe usar la autorización de AWS_IAM
para todos los métodos de la API o, de lo contrario, la API devolverá el mensaje de error anterior. Para obtener más instrucciones sobre cómo activar la autorización de AWS_IAM
para un método, consulte Métodos de API de REST en API Gateway.
Mi política de recursos no se actualiza
Si actualiza la política de recursos después de crear la API, tendrá que implementar la API para propagar los cambios después de asociar la política actualizada. Si únicamente se actualiza o se guarda la política, no se modifica el comportamiento en tiempo de ejecución de la API. Para obtener más información acerca cómo implementar una API, consulte Implementación de las API de REST en API Gateway.
Mi política de recursos devuelve el siguiente error: Documento de política no válido. Compruebe la sintaxis de la política y asegúrese de que las entidades principales sean válidas.
Para solucionar este error, primero le recomendamos que compruebe la sintaxis de la política. Para obtener más información, consulte Información general del lenguaje de políticas de acceso para Amazon API Gateway. También le recomendamos que compruebe que todas las entidades principales especificadas sean válidas y que no se hayan eliminado.
Además, si la API se encuentra en una región de suscripción, compruebe que todas las cuentas de la política de recursos tengan la región habilitada.