Auth - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Auth

GraphQL API 用の認可を設定します。

構文

AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、以下の構文を使用します。

YAML

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

プロパティ

Additional

GraphQL API 向けの、追加の認可タイプのリストです。

タイプ: AuthProvider のリスト

必須: いいえ

CloudFormation との互換性: このプロパティは AWS SAM に固有であり、CloudFormation に同等のものはありません。

LambdaAuthorizer

Lambda 関数オーソライザーのオプションの認可設定を指定します。このオプションプロパティは、TypeAWS_LAMBDA として指定する場合に設定できます。

タイプ: LambdaAuthorizerConfig

必須: いいえ

CloudFormation との互換性: このプロパティは、AWS::AppSync::GraphQLApi リソースの LambdaAuthorizerConfig プロパティに直接渡されます。

OpenIDConnect

OpenID Connect 準拠サービスのオプションの認可設定を指定します。このオプションプロパティは、TypeOPENID_CONNECT として指定する場合に設定できます。

Type: OpenIDConnectConfig

必須: いいえ

CloudFormation との互換性: このプロパティは、AWS::AppSync::GraphQLApi リソースの OpenIDConnectConfig プロパティに直接渡されます。

Type

アプリケーションと AWS AppSync GraphQL API 間におけるデフォルトの認可タイプです。

許可される値のリストと説明については、「AWS AppSync デベロッパーガイド」の「認証と認可」を参照してください。

Lambda オーソライザー (AWS_LAMBDA) を指定すると、AWS SAM が、GraphQL API と Lambda 関数間の許可をプロビジョニングするための AWS Identity and Access Management (IAM) ポリシーを作成します。

タイプ: 文字列

必須: はい

CloudFormation との互換性: このプロパティは、AWS::AppSync::GraphQLApi リソースの AuthenticationType プロパティに直接渡されます。

UserPool

Amazon Cognito ユーザープールを使用するためのオプションの認可設定を指定します。このオプションプロパティは、TypeAMAZON_COGNITO_USER_POOLS として指定する場合に設定できます。

Type: UserPoolConfig

必須: いいえ

CloudFormation との互換性: このプロパティは、AWS::AppSync::GraphQLApi リソースの UserPoolConfig プロパティに直接渡されます。

デフォルトとその他の認可タイプの設定

この例では、まず Lambda オーソライザーを GraphQL API のデフォルトの認可タイプとして設定します。

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

次に、AWS SAM テンプレートに以下を追加して、GraphQL API のその他の認可タイプを設定します。

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

この結果は、以下の 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