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
Configura 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, consulta Control del acceso a la API con la plantilla de AWS SAM.
Sintaxis
Para declarar esta entidad en su plantilla de AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis:
YAML
AddApiKeyRequiredToCorsPreflight:BooleanAddDefaultAuthorizerToCorsPreflight:BooleanApiKeyRequired:BooleanAuthorizers:CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAMDefaultAuthorizer:StringInvokeRole:StringResourcePolicy:ResourcePolicyStatementUsagePlan:ApiUsagePlan
nota
La propiedad Authorizers incluye AWS_IAM, pero no se necesita ninguna configuración adicional para AWS_IAM. Para ver un ejemplo, consulta AWS IAM.
Propiedades
-
AddApiKeyRequiredToCorsPreflight -
Si las propiedades
ApiKeyRequiredyCorsestán configuradas, la configuraciónAddApiKeyRequiredToCorsPreflightprovocará que la clave de API se añada a la propiedadOptions.Tipo: Booleano
Obligatorio: no
Valor predeterminado:
TrueCompatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
Si las propiedades
DefaultAuthorizeryCorsestán configuradas, la configuraciónAddDefaultAuthorizerToCorsPreflightprovocará que se añada el autorizador predeterminado a la propiedadOptionsen la sección OpenAPI.Tipo: Booleano
Obligatorio: no
Valor predeterminado: True
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente 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, consulta 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 CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
El autorizador utilizado para controlar el acceso a la API de API Gateway.
Para obtener más información, consulte Control del acceso a la API con la plantilla de AWS SAM.
Tipo: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
Obligatorio: no
Valor predeterminado: Ninguno
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
Notas adicionales: SAM añade los autorizadores a la definición de API de OpenAPI.
-
Especifica 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
AWS_IAM, de lo contrario se producirá un error.Tipo: cadena
Obligatorio: no
Valor predeterminado: Ninguno
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.
-
InvokeRole -
Establezca las credenciales de integración para todos los recursos y métodos en este valor.
CALLER_CREDENTIALSse asigna aarn:aws:iam::, que utiliza las credenciales de la persona que llama para invocar el punto de conexión.:<user>/Valores válidos:
CALLER_CREDENTIALS,NONE,IAMRoleArnTipo: cadena
Obligatorio: no
Valor predeterminado:
CALLER_CREDENTIALSCompatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
ResourcePolicy -
Configura la política de recursos para todos los métodos y rutas de una API.
Tipo: ResourcePolicyStatement
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
Notas adicionales: Esta configuración también se puede definir de forma individual con
AWS::Serverless::Functionmediante ApiFunctionAuth. 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 claves de API, consulta 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 CloudFormation adicionales cuando se establece: AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKey, y AWS::ApiGateway::ApiKey. Para obtener información acerca de esta situación, consulta Se ha especificado la propiedad de usogePlan. Para obtener información general sobre los recursos generados de CloudFormation, consulta Recursos de CloudFormation generados para AWS SAM.
Tipo: ApiUsagePlan
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente 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" } } }] IpRangeDenylist: - "10.20.30.40"
AWS IAM
Ejemplo de AWS IAM
YAML
Auth: Authorizers: AWS_IAM