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 al tuo Gateway. API API

Per ulteriori informazioni ed esempi sulla configurazione dell'accesso utilizzando, AWS SAM vedereControlla API l'accesso con il tuo AWS SAM modello.

Sintassi

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

YAML

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

La Authorizers proprietà includeAWS_IAM, ma non è necessaria alcuna configurazione aggiuntiva per. AWS_IAM Per vedere un esempio, consulta AWS IAM.

Proprietà

AddApiKeyRequiredToCorsPreflight

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

Tipo: Booleano

Required: No

Default: True

AWS CloudFormation compatibilità: 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 API sezione Apri.

Tipo: Booleano

Required: No

Impostazione predefinita: True

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

ApiKeyRequired

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

Tipo: Booleano

Required: No

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

Authorizers

L'autorizzatore utilizzato per controllare l'accesso al API gatewayAPI.

Per ulteriori informazioni, consulta Controlla API l'accesso con il tuo AWS SAM modello.

Tipo: CognitoAuthorizer| | LambdaTokenAuthorizer| LambdaRequestAuthorizer AWS_IAM

Required: No

Default: nessuna

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

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

DefaultAuthorizer

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

Nota

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

Tipo: Stringa

Required: No

Default: nessuna

AWS CloudFormation compatibilità: 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 CloudFormation compatibilità: 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 unAPI.

Tipo: ResourcePolicyStatement

Required: No

AWS CloudFormation compatibilità: 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 APIs conEndpointConfiguration: PRIVATE.

UsagePlan

Configura un piano di utilizzo associato a questoAPI. Per ulteriori informazioni sui piani di utilizzo, consulta Create and Use Plans with API Keys nella APIGateway Developer Guide.

Questa AWS SAM proprietà genera tre AWS CloudFormation risorse aggiuntive quando è impostata: un AWS::ApiGateway::UsagePlan, un AWS::ApiGateway::UsagePlanKeye un AWS::ApiGateway::ApiKey. Per informazioni su questo scenario, vedereUsagePlanla proprietà è specificata. Per informazioni generali sulle AWS CloudFormation risorse generate, vedereAWS CloudFormation Risorse generate per AWS SAM.

Tipo: ApiUsagePlan

Required: No

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

Esempi

CognitoAuth

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

AWS IAMesempio

YAML

Auth: Authorizers: AWS_IAM