Auth - AWS Serverless Application Model

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.

Auth

Configurez l'autorisation pour votre API GraphQL.

Syntaxe

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

YAML

Additional: - AuthProvider LambdaAuthorizer: LambdaAuthorizerConfig OpenIDConnect: OpenIDConnectConfig Type: String UserPool: UserPoolConfig

Propriétés

Additional

Liste de types d'authentification supplémentaires pour votre API GraphQL.

Type : Liste des AuthProvider

Obligatoire : non

CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

LambdaAuthorizer

Spécifiez la configuration d'autorisation facultative pour votre mécanisme d'autorisation de fonctions Lambda. Vous pouvez configurer cette propriété facultative lorsque AWS_LAMBDA est spécifié pour Type.

Type : LambdaAuthorizerConfig

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la LambdaAuthorizerConfig propriété d'une AWS::AppSync::GraphQLApi ressource.

OpenIDConnect

Spécifiez la configuration d'autorisation facultative pour votre service conforme à OpenID Connect. Vous pouvez configurer cette propriété facultative lorsque OPENID_CONNECT est spécifié pour Type.

Type : Open IDConnect Config

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la OpenIDConnectConfig propriété d'une AWS::AppSync::GraphQLApi ressource.

Type

Type d'autorisation par défaut entre les applications et votre AWS AppSync GraphQL API.

Pour obtenir la liste et la description des valeurs autorisées, consultez la section Autorisation et authentification dans le Guide du développeur AWS AppSync .

Lorsque vous spécifiez un autorisateur Lambda (AWS_LAMBDA), il AWS SAM crée une politique AWS Identity and Access Management (IAM) pour octroyer des autorisations entre votre API GraphQL et la fonction Lambda.

Type : chaîne

Obligatoire : oui

CloudFormation compatibilité : cette propriété est transmise directement à la AuthenticationType propriété d'une AWS::AppSync::GraphQLApi ressource.

UserPool

Spécifiez la configuration d'autorisation facultative pour l'utilisation des groupes d'utilisateurs Amazon Cognito. Vous pouvez configurer cette propriété facultative lorsque AMAZON_COGNITO_USER_POOLS est spécifié pour Type.

Type : UserPoolConfig

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la UserPoolConfig propriété d'une AWS::AppSync::GraphQLApi ressource.

Exemples

Configurer un type d'autorisation par défaut et un type d'autorisation supplémentaire

Dans cet exemple, nous commençons par configurer un mécanisme d'autorisation Lambda comme type d'autorisation par défaut pour notre API GraphQL.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyGraphQLAPI: Type: AWS::Serverless::GraphQLApi Properties: Auth: Type: AWS_LAMBDA LambdaAuthorizer: AuthorizerUri: !GetAtt Authorizer1.Arn AuthorizerResultTtlInSeconds: 10 IdentityValidationExpression: hello

Ensuite, nous configurons des types d'autorisation supplémentaires pour notre API GraphQL en ajoutant les éléments suivants à notre modèle  AWS SAM  :

Additional: - Type: AWS_IAM - Type: API_KEY - Type: OPENID_CONNECT OpenIDConnect: AuthTTL: 10 ClientId: myId IatTTL: 10 Issuer: prod

Cela donne le AWS SAM modèle suivant :

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyGraphQLAPI: Type: AWS::Serverless::GraphQLApi Properties: Auth: Type: AWS_LAMBDA LambdaAuthorizer: AuthorizerUri: !GetAtt Authorizer1.Arn AuthorizerResultTtlInSeconds: 10 IdentityValidationExpression: hello Additional: - Type: AWS_IAM - Type: API_KEY - Type: OPENID_CONNECT OpenIDConnect: AuthTTL: 10 ClientId: myId IatTTL: 10 Issuer: prod