ApiAuth - AWS Serverless Application Model

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

ApiAuth

Configura l'autorizzazione per controllare l'accesso alla tua API API Gateway.

Per ulteriori informazioni ed esempi sulla configurazione dell'accesso utilizzando, AWS SAM vedereControllo dell'accesso alle API API Gateway.

Sintassi

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

Proprietà

AddApiKeyRequiredToCorsPreflight

Se le Cors proprietà ApiKeyRequired and sono impostate, l'impostazione AddApiKeyRequiredToCorsPreflight farà sì che la chiave API venga aggiunta alla Options proprietà.

Tipo: Booleano

Required: No

Default: True

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

AddDefaultAuthorizerToCorsPreflight

Se le Cors proprietà DefaultAuthorizer and sono impostate, l'impostazione AddDefaultAuthorizerToCorsPreflight farà sì che l'autorizzatore predefinito venga aggiunto alla Options proprietà nella sezione OpenAPI.

Tipo: Booleano

Required: No

Predefinito: True

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

ApiKeyRequired

Se impostato su true, è necessaria una chiave API per tutti gli eventi API. Per ulteriori informazioni sulle chiavi API, consulta Creare e utilizzare piani di utilizzo con chiavi API nella Guida per sviluppatori di API Gateway.

Tipo: Booleano

Required: No

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Authorizers

L'autorizzatore utilizzato per controllare l'accesso all'API API Gateway.

Per ulteriori informazioni, consulta Controllo dell'accesso alle API API Gateway.

Tipo: CognitoAuthorizer| | LambdaTokenAuthorizerLambdaRequestAuthorizer

Required: No

Default: nessuna

AWS CloudFormationcompatibilità: Questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Note aggiuntive: SAM aggiunge gli Authorizers alla OpenApi definizione di un'Api.

DefaultAuthorizer

Specificare un autorizzatore predefinito per un'API API Gateway, che verrà utilizzato per autorizzare le chiamate API per impostazione predefinita.

Nota

Se l'Api EventSource per la funzione associata a questa API è configurata per utilizzare le autorizzazioni IAM, questa proprietà deve essere impostata suAWS_IAM, altrimenti si verificherà un errore.

Tipo: stringa

Required: No

Default: nessuna

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

InvokeRole

Imposta le credenziali di integrazione per tutte le risorse e i metodi su questo valore.

CALLER_CREDENTIALSmaps toarn:aws:iam::*:user/*, che utilizza le credenziali del chiamante per richiamare l'endpoint.

Valori validi:,, CALLER_CREDENTIALS NONE IAMRoleArn

Tipo: stringa

Required: No

Default: CALLER_CREDENTIALS

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

ResourcePolicy

Configura la politica delle risorse per tutti i metodi e i percorsi su un'API.

Tipo: ResourcePolicyStatement

Required: No

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Note aggiuntive: Questa impostazione può essere definita anche individualmente AWS::Serverless::Function utilizzandoApiFunctionAuth. È necessario per le API conEndpointConfiguration: PRIVATE.

UsagePlan

Configura un piano di utilizzo associato a questa API. Per ulteriori informazioni sui piani di utilizzo, consulta Creare e utilizzare piani di utilizzo con chiavi API nella Guida per sviluppatori di API Gateway.

Questa AWS SAM proprietà genera tre AWS CloudFormation risorse aggiuntive quando è impostata: an AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKey, an e an AWS::ApiGateway::ApiKey. Per informazioni su questo scenario, vedereUsagePlanla proprietà è specificata. Per informazioni generali sulle AWS CloudFormation risorse generate, vedereAWS CloudFormationRisorse generate.

Tipo: ApiUsagePlan

Required: No

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Esempi

CognitoAuth

Esempio di autenticazione con 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"