Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
ApiAuth
Configurez le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.
Pour plus d'informations et d'exemples sur la configuration de l'accès à l'aide de AWS SAM, consultez Contrôle de l'accès aux API de API Gateway.
Syntaxe
Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante :
YAML
AddApiKeyRequiredToCorsPreflight:
Boolean
AddDefaultAuthorizerToCorsPreflight:Boolean
ApiKeyRequired:Boolean
Authorizers:CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer
DefaultAuthorizer:String
InvokeRole:String
ResourcePolicy:ResourcePolicyStatement
UsagePlan:ApiUsagePlan
Propriétés
-
AddApiKeyRequiredToCorsPreflight
-
Si les propriétés
ApiKeyRequired
etCors
sont définies, alors le fait de définirAddApiKeyRequiredToCorsPreflight
entraînera l'ajout la clé API à la propriétéOptions
.Type : valeur booléenne
Obligatoire : non
Par défaut :
True
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
-
Si les propriétés
DefaultAuthorizer
etCors
sont définies, alors le fait de définirAddDefaultAuthorizerToCorsPreflight
entraînera l'ajout du mécanisme d'autorisation par défaut à la propriétéOptions
dans la section OpenAPI.Type : valeur booléenne
Obligatoire : non
Valeur par défaut : VRAI
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
-
ApiKeyRequired
-
Si la valeur est définie sur « vrai », une clé d'API est requise pour tous les événements d'API. Pour plus d'informations sur les clés API, consultez Création et utilisation de plans d'utilisation avec les clés API dans le Guide du développeur API Gateway.
Type : valeur booléenne
Obligatoire : non
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
-
Le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.
Pour plus d’informations, consultez Contrôle de l'accès aux API de API Gateway.
Type : CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer
Obligatoire : non
Par défaut : aucun
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
Remarques supplémentaires : SAM ajoute les Autorisateurs à la OpenApi définition d'une API.
-
Spécifiez un autorisateur par défaut pour une API API Gateway, qui sera utilisé pour autoriser les appels d'API par défaut.
Note
Si l'API EventSource de la fonction associée à cette API est configurée pour utiliser les autorisations IAM, cette propriété doit être définie sur
AWS_IAM
, sinon une erreur se produira.Type : chaîne
Obligatoire : non
Par défaut : aucun
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
-
InvokeRole
-
Définit les informations d'identification d'intégration pour toutes les ressources et méthodes sur cette valeur.
CALLER_CREDENTIALS
mappe avecarn:aws:iam::*:user/*
, qui utilise les informations d'identification de l'appelant pour appeler le point de terminaison.Valeurs valides :
CALLER_CREDENTIALS
,NONE
,IAMRoleArn
Type : chaîne
Obligatoire : non
Par défaut :
CALLER_CREDENTIALS
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
-
ResourcePolicy
-
Configurez la stratégie de ressources pour toutes les méthodes et chemins d'accès d'une API.
Type : ResourcePolicyStatement
Obligatoire : non
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
Informations complémentaires : ce paramètre peut également être défini sur
AWS::Serverless::Function
à l'aide de ApiFunctionAuth. Ceci est requis pour les API avecEndpointConfiguration: PRIVATE
. -
UsagePlan
-
Configure un plan d'utilisation associé à cette API. Pour plus d'informations sur les plans d'utilisation, consultez Création et utilisation de plans d'utilisation avec les clés API dans le Guide du développeur API Gateway.
Cette propriété AWS SAM génère trois ressources AWS CloudFormation supplémentaires lorsque cette propriété est définie : un AWS::ApiGateway::UsagePlan, un AWS::ApiGateway::UsagePlanKey, et un AWS::ApiGateway::ApiKey. Pour plus d'informations sur ce scénario, consultez UsagePlanla propriété est spécifiée. Pour obtenir des informations générales sur les ressources AWS CloudFormation générées, consultez Ressources AWS CloudFormation générées.
Type : ApiUsagePlan
Obligatoire : non
Compatibilité AWS CloudFormation : cette propriété est unique pour AWS SAM et ne dispose pas d'équivalent AWS CloudFormation.
Exemples
CognitoAuth
Exemple d'authentification 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"