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'impostazioneAddApiKeyRequiredToCorsPreflight
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.
-
Se le
Cors
proprietàDefaultAuthorizer
and sono impostate, l'impostazioneAddDefaultAuthorizerToCorsPreflight
farà sì che l'autorizzatore predefinito venga aggiunto allaOptions
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.
-
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.
-
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 su
AWS_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_CREDENTIALS
maps 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