Auth - 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à.

Auth

Configura l'autorizzazione per la tua GraphQL API.

Sintassi

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

YAML

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

Proprietà

Additional

Un elenco di tipi di autorizzazione aggiuntivi per la tua GraphQL API.

Tipo: Elenco di AuthProvider

Required: No

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

LambdaAuthorizer

Specificate la configurazione di autorizzazione opzionale per l'autorizzatore della funzione Lambda. È possibile configurare questa proprietà opzionale quando Type è specificata come. AWS_LAMBDA

Tipo: LambdaAuthorizerConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla LambdaAuthorizerConfig proprietà di una AWS::AppSync::GraphQLApi risorsa.

OpenIDConnect

Specificate la configurazione di autorizzazione opzionale per il OpenID Connect servizio conforme. È possibile configurare questa proprietà opzionale quando Type è specificata come. OPENID_CONNECT

Tipo: OpenID ConnectConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla OpenIDConnectConfig proprietà di una AWS::AppSync::GraphQLApi risorsa.

Type

Il tipo di autorizzazione predefinito tra le applicazioni e l' AWS AppSync GraphQLAPI.

Per un elenco e una descrizione dei valori consentiti, consulta Autorizzazione e autenticazione nella Guida per gli AWS AppSync sviluppatori.

Quando specifichi un Lambda authorizer (AWS_LAMBDA), AWS SAM crea una policy AWS Identity and Access Management (IAM) per fornire le autorizzazioni tra l'API GraphQL e la funzione Lambda.

Tipo: stringa

Campo obbligatorio: sì

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla AuthenticationType proprietà di una risorsa. AWS::AppSync::GraphQLApi

UserPool

Specificare la configurazione di autorizzazione opzionale per l'utilizzo dei pool di utenti di Amazon Cognito. Puoi configurare questa proprietà opzionale quando Type è specificata comeAMAZON_COGNITO_USER_POOLS.

Tipo: UserPoolConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla UserPoolConfig proprietà di una AWS::AppSync::GraphQLApi risorsa.

Esempi

Configura un tipo di autorizzazione predefinito e aggiuntivo

In questo esempio, iniziamo configurando un autorizzatore Lambda come tipo di autorizzazione predefinito per la nostra 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

Successivamente, configuriamo tipi di autorizzazione aggiuntivi per la nostra GraphQL API aggiungendo quanto segue al nostro modello: AWS SAM

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

Ciò si traduce nel seguente AWS SAM modello:

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