ApiAuth - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

ApiAuth

Configure a autorização para controlar o acesso à sua API API Gateway.

Para obter mais informações e exemplos de configuração de acesso usando AWS SAM, consulte Controlar o acesso à API com o modelo do AWS SAM.

Sintaxe

Para declarar esta entidade no modelo do AWS Serverless Application Model (AWS SAM), use a seguinte sintaxe:

YAML

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

A propriedade Authorizers inclui o AWS_IAM, mas não é necessária nenhuma configuração extra do AWS_IAM. Para obter um exemplo, consulte IAM da AWS.

Propriedades

AddApiKeyRequiredToCorsPreflight

Se as propriedades ApiKeyRequired e Cors estiverem definidas, a configuração AddApiKeyRequiredToCorsPreflight fará com que a chave de API seja adicionada à propriedade Options.

Tipo: booliano

Obrigatório: não

Padrão: True

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

AddDefaultAuthorizerToCorsPreflight

Se as propriedades DefaultAuthorizer e Cors estiverem definidas, a configuração AddDefaultAuthorizerToCorsPreflight fará com que o autorizador padrão seja adicionado à propriedade Options na seção OpenAPI.

Tipo: booliano

Obrigatório: não

Padrão: verdadeiro

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

ApiKeyRequired

Se definido como verdadeiro, uma chave de API é necessária para todos os eventos da API. Para obter mais informações sobre chaves de API, consulte Criar e usar planos de uso com chaves de API no Guia do desenvolvedor do Gateway da API.

Tipo: booliano

Obrigatório: não

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

Authorizers

O autorizador usado para controlar o acesso à sua API do API Gateway.

Para obter mais informações, consulte Controlar o acesso à API com o modelo do AWS SAM.

Tipo: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM

Obrigatório: não

Padrão: nenhum

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

Notas adicionais: O SAM adiciona os Autorizadores à definição de uma API da OpenAPI.

DefaultAuthorizer

Especifique um autorizador padrão para uma API do API Gateway, que será usada para autorizar chamadas de API por padrão.

nota

Se o Api EventSource da função associada a essa API estiver configurado para usar permissões do IAM, essa propriedade deverá ser definida como AWS_IAM, caso contrário, ocorrerá um erro.

Tipo: string

Obrigatório: não

Padrão: nenhum

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

InvokeRole

Define as credenciais de integração para todos os recursos e métodos com esse valor.

CALLER_CREDENTIALSmapeia para arn:aws:iam:::<user>/, que usa as credenciais do chamador para invocar o endpoint.

Valores válidos: CALLER_CREDENTIALS, NONE, IAMRoleArn

Tipo: string

Obrigatório: não

Padrão: CALLER_CREDENTIALS

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

ResourcePolicy

Configure a política de recursos para todos os métodos e caminhos em uma API.

Tipo: ResourcePolicyStatement

Obrigatório: Não

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

Notas adicionais: Essa configuração também pode ser definida individualmente AWS::Serverless::Function usando ApiFunctionAuth. Isso é necessário para APIs com EndpointConfiguration: PRIVATE.

UsagePlan

Configura um plano de uso associado a essa API. Para obter mais informações sobre planos de uso, consulte Criar e usar planos de uso com chaves de API no Guia do desenvolvedor do API Gateway.

Essa AWS SAM propriedade gera três recursos CloudFormation adicionais quando essa propriedade é definida: um AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKey, um , e um AWS::ApiGateway::ApiKey. Para obter informações sobre esse cenário, consulte A propriedade usagePlan é especificada. Para informações gerais sobre recursos gerados do CloudFormation, consulte Recursos gerados do CloudFormation para o AWS SAM.

Tipo: ApiUsagePlan

Obrigatório: não

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

Exemplos

CognitoAuth

Exemplo de autenticação do 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"

IAM da AWS

Exemplo do AWS IAM

YAML

Auth: Authorizers: AWS_IAM