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 su API de API Gateway.

Para obtener más información acerca de cómo configurar los accesos usando AWS SAM, consulte Control del acceso a las API de API Gateway.

Sintaxis

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

Propiedades

AddApiKeyRequiredToCorsPreflight

Si las propiedades ApiKeyRequired y Cors están configuradas, la configuración AddApiKeyRequiredToCorsPreflight provocará que la clave de API se añada a la propiedad Options.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: True

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

AddDefaultAuthorizerToCorsPreflight

Si las propiedades DefaultAuthorizer y Cors están configuradas, la configuración AddDefaultAuthorizerToCorsPreflight provocará que se añada el autorizador predeterminado a la propiedad Options en la sección OpenAPI.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: True

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

ApiKeyRequired

Si se establece en true, una clave de API es necesaria para todos los eventos de API. Para obtener más información sobre claves de API, consulte el tema Creación y utilización de planes de uso de claves API en la Guía para desarrolladores de API Gateway.

Tipo: Booleano

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

Authorizers

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

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

Tipo: CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer

Obligatorio: no

Valor predeterminado: Ninguno

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

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 permisos de IAM, esta propiedad debe estar establecida en; de lo contrarioAWS_IAM, se producirá un error.

Tipo: cadena

Obligatorio: no

Valor predeterminado: Ninguno

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

InvokeRole

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

CALLER_CREDENTIALS se asigna a arn:aws:iam::*:user/*, que utiliza las credenciales de la persona que llama para invocar el punto de conexión.

Valores válidos: CALLER_CREDENTIALS, NONE, IAMRoleArn

Tipo: cadena

Obligatorio: no

Valor predeterminado: CALLER_CREDENTIALS

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

ResourcePolicy

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

Tipo: ResourcePolicyStatement

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

Notas adicionales: Esta configuración también se puede definir de forma individual con AWS::Serverless::Function mediante ApiFunctionAuth. Esto es obligatorio para las API con EndpointConfiguration: PRIVATE.

UsagePlan

Configura un plan de uso asociado a esta API. Para obtener más información sobre claves de API, consulte el tema Creación y utilización de planes de uso de claves API en la Guía para desarrolladores de API Gateway.

Esta propiedad de AWS SAM genera tres recursos de AWS CloudFormation adicionales cuando se establece: AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKey, y AWS::ApiGateway::ApiKey. Para obtener información acerca de esta situación, consulte UsagePlanse especifica la propiedad. Para obtener información general sobre los recursos generados de AWS CloudFormation, consulte Recursos de AWS CloudFormation generados.

Tipo: ApiUsagePlan

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

Ejemplos

CognitoAuth

Ejemplo de autorizació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"