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 il controllo dell'accesso all'API Gateway API.

Per ulteriori informazioni ed esempi di configurazione dell'accesso tramite,AWS SAM vedereControllare l'accesso alle API Gateway API.

Sintassi

Per dichiarare questa entità nel modelloAWS Serverless Application Model (AWS SAM), utilizzare la sintassi seguente.

Proprietà

AddDefaultAuthorizerToCorsPreflight

Se leCors proprietàDefaultAuthorizer and sono impostate, l'impostazioneAddDefaultAuthorizerToCorsPreflight farà sì che l'autorizzatore predefinito venga aggiunto allaOptions proprietà nella sezione OpenAPI.

Type: Boolean

Richiesto: No

Default: True

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

ApiKeyRequired

Se impostato su true, una chiave API è obbligatoria 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.

Type: Boolean

Richiesto: No

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Authorizers

Auth Profile utilizzato per il controllo dell'accesso all'API Gateway Profile.

Per ulteriori informazioni, consulta Controllare l'accesso alle API Gateway API.

Type: CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer

Richiesto: No

Default: Nessuno

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

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

DefaultAuthorizer

Specifica un autorizzatore predefinito per un'API API Gateway, che verrà utilizzata 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.

Type: Stringa

Richiesto: No

Default: Nessuno

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

InvokeRole

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

CALLER_CREDENTIALSesegue il mapping aarn:aws:iam::*:user/*, che utilizza le credenziali del chiamante per richiamare l'endpoint.

Valori validi:CALLER_CREDENTIALS,NONE,IAMRoleArn

Type: Stringa

Richiesto: No

Default: CALLER_CREDENTIALS

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

ResourcePolicy

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

Tipo: ResourcePolicyStatement

Richiesto: No

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Note aggiuntive: Questa impostazione può essere definita anche individualmenteAWS::Serverless::Function utilizzando ilApiFunctionAuth. Questo è 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.

QuestaAWS SAM proprietà genera treAWS CloudFormation risorse aggiuntive quando questa proprietà è impostata: una AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKey, una e una AWS::ApiGateway::ApiKey. Per informazioni su questo scenario, consultaÈ specificata la proprietà UsagePlan. Per informazioni generali sulleAWS CloudFormation risorse generate, vedereAWS CloudFormationRisorse generate.

Tipo: ApiUsagePlan

Richiesto: No

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Examples (Esempi)

CognitoAuth

Cognito Profile

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"