ApiAuth - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

ApiAuth

Configure la autorización para controlar el acceso a la API de API Gateway.

Para obtener más información y ejemplos de configuración del acceso mediante,AWS SAM consulteControlar el acceso a las API de API Gateway.

Sintaxis

Para declarar esta entidad en su plantillaAWS Serverless Application Model (AWS SAM) de su plantilla de, use la siguiente sintaxis.

Propiedades

AddDefaultAuthorizerToCorsPreflight

Si lasCors propiedadesDefaultAuthorizer y están configuradas, la configuraciónAddDefaultAuthorizerToCorsPreflight hará que el autorizador predeterminado se agregue a laOptions propiedad en la sección OpenAPI.

Type: Booleano

Necesario: No

Valor predeterminado: True

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

ApiKeyRequired

Si se establece en true, se requiere una clave de API para todos los eventos de API. Para obtener más información sobre las claves de API, consulte Crear y usar planes de uso con claves de API en la Guía para desarrolladores de API Gateway.

Type: Booleano

Necesario: No

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

Authorizers

El autorizador utilizado para controlar el acceso a la API de API Gateway.

Para obtener más información, consulte Controlar el acceso a las API de API Gateway.

Type: CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer

Necesario: No

Valor predeterminado: Ninguno

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

Notas adicionales: SAM añade los Autorizadores a la OpenApi definición de una API.

DefaultAuthorizer

Especifique un autorizador predeterminado para una API de API Gateway, que se utilizará para autorizar las llamadas a la API de forma predeterminada.

nota

Si la API EventSource de la función asociada a esta API está configurada para usar los permisos de IAM, esta propiedad debe estar establecida en; de lo contrarioAWS_IAM, se producirá un error.

Type: Cadena

Necesario: No

Valor predeterminado: Ninguno

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

InvokeRole

Establece las credenciales de integración de todos los recursos y métodos en este valor.

CALLER_CREDENTIALSmapea aarn:aws:iam::*:user/*, que usa las credenciales de la persona que llama para invocar el punto final.

Valores válidos:CALLER_CREDENTIALS,NONE,IAMRoleArn

Type: Cadena

Necesario: No

Valor predeterminado: CALLER_CREDENTIALS

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

ResourcePolicy

Configure la política de recursos para todos los métodos y rutas de una API.

Tipo: ResourcePolicyStatement

Necesario: No

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

Notas adicionales: Este ajuste también se puede definir en una personaAWS::Serverless::Function mediante elApiFunctionAuth. Esto es obligatorio para las API conEndpointConfiguration: PRIVATE.

UsagePlan

Configura un plan de uso asociado a esta API. Para obtener más información sobre los planes de uso, consulte Crear y usar planes de uso con claves de API en la Guía para desarrolladores de API Gateway.

EstaAWS SAM propiedad genera tresAWS CloudFormation recursos adicionales cuando se establece esta propiedad: an AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKey, an y an AWS::ApiGateway::ApiKey. Para obtener información acerca de esta situación, consulteSe especifica la propiedad UsagePlan. Para obtener información general sobreAWS CloudFormation los recursos generados, consulteAWS CloudFormationRecursos generados de.

Tipo: ApiUsagePlan

Necesario: No

AWS CloudFormationcompatibilidad: Esta propiedad es exclusiva deAWS SAM y no tiene unAWS CloudFormation equivalente.

Ejemplos

CognitoAuth

Ejemplo de autenticación de Cognito

YAML

Auth: Authorizers: MyCognitoAuth: UserPoolArn: Fn::GetAtt: - MyUserPool - Arn AuthType: "COGNITO_USER_POOLS" DefaultAuthorizer: MyCognitoAuth InvokeRole: CALLER_CREDENTIALS AddDefaultAuthorizerToCorsPreflight: false ApiKeyRequired: false ResourcePolicy: CustomStatements: [{ "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/Prod/GET/pets", "Condition": { "IpAddress": { "aws:SourceIp": "1.2.3.4" } } }] IpRangeBlacklist: - "10.20.30.40"