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 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:BooleanAddDefaultAuthorizerToCorsPreflight:BooleanApiKeyRequired:BooleanAuthorizers:CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAMDefaultAuthorizer:StringInvokeRole:StringResourcePolicy:ResourcePolicyStatementUsagePlan: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 propiedades
ApiKeyRequiredyCorsestán configuradas, la configuraciónAddApiKeyRequiredToCorsPreflightprovocará que la clave de API se añada a la propiedadOptions.Tipo: Booleano
Obligatorio: no
Valor predeterminado:
TrueCloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.
-
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
CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.
-
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
CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.
-
El autorizador utilizado para controlar el acceso a la API de API Gateway.
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
CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.
Notas adicionales: SAM añade los autorizadores a la OpenApi definición de API.
-
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; de lo contrario
AWS_IAM, se producirá un error.Tipo: cadena
Obligatorio: no
Valor predeterminado: Ninguno
CloudFormation compatibilidad: 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_CREDENTIALSCloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.
-
ResourcePolicy -
Configura la política de recursos para todos los métodos y rutas de una API.
Tipo: ResourcePolicyStatement
Obligatorio: no
CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.
Notas adicionales: Esta configuración también se puede definir de forma individual con
AWS::Serverless::Functionmediante ApiFunctionAuth. Esto es obligatorio para APIs 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 AWS SAM propiedad genera tres CloudFormation recursos adicionales cuando se establece esta propiedad: un AWS::ApiGateway::UsagePlan, un AWS::ApiGateway::UsagePlanKey, y un AWS::ApiGateway::ApiKey. Para obtener información sobre este escenario, consulteUsagePlanse especifica la propiedad. Para obtener información general sobre CloudFormation los recursos generados, consulteCloudFormation Recursos generados para AWS SAM.
Tipo: ApiUsagePlan
Obligatorio: no
CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un 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 Ejemplo de IAM
YAML
Auth: Authorizers: AWS_IAM