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 y ejemplos de cómo configurar el acceso medianteAWS SAMconsulteControlar el acceso a las API de API Gateway.

Sintaxis

Para declarar esta entidad en suAWS Serverless Application Model(AWS SAM), utilice la siguiente sintaxis.

Properties

AddDefaultAuthorizerToCorsPreflight

Si el archivo deDefaultAuthorizeryCorsse establecen las propiedades y, a continuación,AddDefaultAuthorizerToCorsPreflightprovocará que el autorizador predeterminado se agregue alOptionsde la sección OpenAPI.

Type: Booleano

Obligatorio: No

Valor predeterminado: True

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

ApiKeyRequired

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

Type: Booleano

Obligatorio: No

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

Authorizers

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

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

Type: Autorizador de Cognito|Autorizador Lamb Datoken|Autorizador de solicitudes Lambda

Obligatorio: No

Valor predeterminado: Ninguno

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

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

DefaultAuthorizer

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

Nota: Si Api EventSource para la función asociada a esta API está configurado para utilizar permisos de IAM, esta propiedad debe establecerse enAWS_IAM, de lo contrario, se producirá un error.

Type: Cadena

Obligatorio: No

Valor predeterminado: Ninguno

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

InvokeRole

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

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

Valores válidos:CALLER_CREDENTIALS,NONE,IAMRoleArn

Type: Cadena

Obligatorio: No

Valor predeterminado: CALLER_CREDENTIALS

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

ResourcePolicy

Configure la directiva de recursos para todos los métodos y rutas de una API.

Type: Declaración de política de recursos

Obligatorio: No

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

Notas adicionales: Esta configuración también se puede definir en individualesAWS::Serverless::Functionutilizando 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 deCreación y utilización de planes de uso con claves de APIen laGuía para desarrolladores de API Gateway.

EsteAWS SAMpropiedad genera tres adicionalesAWS CloudFormationrecursos cuando se establece esta propiedad: unAWS::ApiGateway::UsagePlan, unAWS::ApiGateway::UsagePlanKey, y unAWS::ApiGateway::ApiKey. Para obtener información acerca de esta situación, consulte.Se especifica la propiedad UsagePlan. Para obtener información general acerca de los generadosAWS CloudFormationrecursos, consulteGeneradoAWS CloudFormationrecursos.

Type: Plan de uso de API

Obligatorio: No

AWS CloudFormationcompatibilidad: Esta propiedad es específica deAWS SAMy no tieneAWS CloudFormationequivalente.

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"