Auth
Configura la autorización para su API GraphQL.
Sintaxis
Para declarar esta entidad en su plantilla de AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis:
YAML
Additional: -AuthProviderLambdaAuthorizer:LambdaAuthorizerConfigOpenIDConnect:OpenIDConnectConfigType:StringUserPool:UserPoolConfig
Propiedades
Additional-
Una lista de tipos de autorización adicionales para su API GraphQL.
Tipo: Lista de AuthProvider
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
Especifica la configuración de autorización opcional para su autorizador de funciones de Lambda. Puedes configurar esta propiedad opcional si
Typese especifica comoAWS_LAMBDA.Tipo: LambdaAuthorizerConfig
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad
LambdaAuthorizerConfigde un recursoAWS::AppSync::GraphQLApi. OpenIDConnect-
Especifica la configuración de autorización opcional para su servicio OpenID Connect compatible. Puedes configurar esta propiedad opcional si
Typese especifica comoOPENID_CONNECT.Type: OpenIDConnectConfig
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad
OpenIDConnectConfigde un recursoAWS::AppSync::GraphQLApi. Type-
El tipo de autorización predeterminado entre las aplicaciones y su API GraphQL de AWS AppSync.
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 una función de Lambda (
AWS_LAMBDA), AWS SAM crea una política (de IAM) AWS Identity and Access Management para aprovisionar permisos entre la API GraphQL y la función de Lambda.Tipo: cadena
Obligatorio: sí
Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad
AuthenticationTypede un recursoAWS::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
Typese especifica comoAMAZON_COGNITO_USER_POOLS.Tipo: UsarPoolConfig
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad
UserPoolConfigde un recursoAWS::AppSync::GraphQLApi.
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
Se obtiene el siguiente resultado en la plantilla de AWS SAM:
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