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 puerta de enlace. API API

Para obtener más información y ejemplos de configuración del acceso mediante, AWS SAM consulteControla el acceso a la API con tu AWS SAM plantilla.

Sintaxis

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

YAML

AddApiKeyRequiredToCorsPreflight: Boolean AddDefaultAuthorizerToCorsPreflight: Boolean ApiKeyRequired: Boolean Authorizers: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM DefaultAuthorizer: String InvokeRole: String ResourcePolicy: ResourcePolicyStatement UsagePlan: ApiUsagePlan
nota

La Authorizers propiedad incluyeAWS_IAM, pero no es necesaria ninguna configuración adicionalAWS_IAM. Para ver un ejemplo, consulta AWS IAM.

Propiedades

AddApiKeyRequiredToCorsPreflight

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

Tipo: Booleano

Obligatorio: no

Valor predeterminado: True

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

AddDefaultAuthorizerToCorsPreflight

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

Tipo: Booleano

Obligatorio: no

Valor predeterminado: True

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

ApiKeyRequired

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

Tipo: Booleano

Obligatorio: no

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

Authorizers

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

Para obtener más información, consulte Controla el acceso a la API con tu AWS SAM plantilla.

Tipo: CognitoAuthorizer| | LambdaTokenAuthorizer| LambdaRequestAuthorizer AWS_IAM

Obligatorio: no

Valor predeterminado: Ninguno

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

Notas adicionales: SAM agrega los autorizadores a la OpenApi definición de una API.

DefaultAuthorizer

Especifique un autorizador predeterminado para una API puerta de enlaceAPI, que se utilizará para autorizar las API llamadas de forma predeterminada.

nota

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

Tipo: cadena

Obligatorio: no

Valor predeterminado: Ninguno

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

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

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

ResourcePolicy

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

Tipo: ResourcePolicyStatement

Obligatorio: no

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

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

UsagePlan

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

Esta AWS SAM propiedad genera tres AWS CloudFormation recursos adicionales cuando se establece: un AWS::ApiGateway::UsagePlan, un AWS::ApiGateway::UsagePlanKey, y un AWS::ApiGateway::ApiKey. Para obtener información sobre este escenario, consulteSe ha especificado la propiedad de usogePlan. Para obtener información general sobre AWS CloudFormation los recursos generados, consulteRecursos AWS CloudFormation de AWS SAM generados.

Tipo: ApiUsagePlan

Obligatorio: no

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

Ejemplos

CognitoAuth

Ejemplo de Cognito Auth

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" } } }] IpRangeDenylist: - "10.20.30.40"

AWS IAM

AWS IAMejemplo

YAML

Auth: Authorizers: AWS_IAM