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 des exemples de configuration de l'accès à l'aide, AWS SAM voirContrôlez l'accès aux API avec votre AWS SAM modèle.
Syntaxe
Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.
YAML
AddApiKeyRequiredToCorsPreflight:BooleanAddDefaultAuthorizerToCorsPreflight:BooleanApiKeyRequired:BooleanAuthorizers:CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAMDefaultAuthorizer:StringInvokeRole:StringResourcePolicy:ResourcePolicyStatementUsagePlan:ApiUsagePlan
Note
La Authorizers propriété inclutAWS_IAM, mais aucune configuration supplémentaire n'est nécessaireAWS_IAM. Pour obtenir un exemple, consultez AWS IAM.
Propriétés
-
AddApiKeyRequiredToCorsPreflight -
Si les propriétés
ApiKeyRequiredetCorssont définies, alors le fait de définirAddApiKeyRequiredToCorsPreflightentraînera l'ajout la clé API à la propriétéOptions.Type : valeur booléenne
Obligatoire : non
Par défaut :
TrueCloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
Si les propriétés
DefaultAuthorizeretCorssont définies, alors le fait de définirAddDefaultAuthorizerToCorsPreflightentraînera l'ajout du mécanisme d'autorisation par défaut à la propriétéOptionsdans la section OpenAPI.Type : valeur booléenne
Obligatoire : non
Valeur par défaut : VRAI
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
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
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
Le mécanisme d'autorisation utilisé pour contrôler l'accès à votre API API Gateway.
Pour de plus amples informations, veuillez consulter Contrôlez l'accès aux API avec votre AWS SAM modèle.
Tipo : CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer| AWS_IAM
Obligatoire : non
Par défaut : aucun
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
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
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
InvokeRole -
Définit les informations d'identification d'intégration pour toutes les ressources et méthodes sur cette valeur.
CALLER_CREDENTIALSmappe avecarn:aws:iam::, qui utilise les informations d'identification de l'appelant pour appeler le point de terminaison.:<user>/Valeurs valides :
CALLER_CREDENTIALS,NONE,IAMRoleArnType : chaîne
Obligatoire : non
Par défaut :
CALLER_CREDENTIALSCloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
ResourcePolicy -
Configurez la stratégie de ressources pour toutes les méthodes et chemins d'accès d'une API.
Type : ResourcePolicyStatement
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
Informations complémentaires : ce paramètre peut également être défini sur
AWS::Serverless::Functionà l'aide de ApiFunctionAuth. Ceci est requis pour APIs 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 AWS SAM propriété génère trois CloudFormation ressources supplémentaires lorsque cette propriété est définie : un AWS::ApiGateway::UsagePlan, une AWS::ApiGateway::UsagePlanKey, et un AWS::ApiGateway::ApiKey. Pour plus d'informations sur ce scénario, consultezUsagePlanla propriété est spécifiée. Pour des informations générales sur les CloudFormation ressources générées, consultezCloudFormation Ressources générées pour AWS SAM.
Type : ApiUsagePlan
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
Exemples
CognitoAuth
Exemple de Cognito Auth
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 Exemple IAM
YAML
Auth: Authorizers: AWS_IAM