Auth - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Auth

Configura la autorización para su API GraphQL.

Sintaxis

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

YAML

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

Propiedades

Additional

Una lista de tipos de autorización adicionales para su API GraphQL.

Tipo: Lista de AuthProvider

Obligatorio: no

CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

LambdaAuthorizer

Especifica la configuración de autorización opcional para su autorizador de funciones de Lambda. Puedes configurar esta propiedad opcional si Type se especifica como AWS_LAMBDA.

Tipo: LambdaAuthorizerConfig

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la LambdaAuthorizerConfig propiedad de un AWS::AppSync::GraphQLApi recurso.

OpenIDConnect

Especifica la configuración de autorización opcional para su servicio OpenID Connect compatible. Puedes configurar esta propiedad opcional si Type se especifica como OPENID_CONNECT.

Tipo: Open IDConnect Config

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la OpenIDConnectConfig propiedad de un AWS::AppSync::GraphQLApi recurso.

Type

El tipo de autorización predeterminado entre las aplicaciones y tu AWS AppSync GraphQL API.

Para obtener una lista y una descripción de los valores permitidos, consulta Autorización y autenticación en la Guía para desarrolladores de AWS AppSync .

Al especificar un autorizador de Lambda (AWS_LAMBDA), AWS SAM crea una AWS Identity and Access Management política (de IAM) para aprovisionar permisos entre la API GraphQL y la función de Lambda.

Tipo: cadena

Obligatorio: sí

CloudFormation compatibilidad: esta propiedad se transfiere directamente a la AuthenticationType propiedad de un recurso. AWS::AppSync::GraphQLApi

UserPool

Especifica la configuración de autorización opcional para utilizar grupos de usuarios de Amazon Cognito. Puedes configurar esta propiedad opcional si Type se especifica como AMAZON_COGNITO_USER_POOLS.

Tipo: UserPoolConfig

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la UserPoolConfig propiedad de un AWS::AppSync::GraphQLApi recurso.

Ejemplos

Configura un tipo de autorización predeterminado y adicional

En este ejemplo, empezamos configurando un autorizador Lambda como el tipo de autorización predeterminado para nuestra 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

A continuación, configuramos tipos de autorización adicionales para nuestra API GraphQL añadiendo lo siguiente a nuestra plantilla de AWS SAM :

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

Esto da como resultado la siguiente AWS SAM plantilla:

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