ApiAuth - AWS Serverless Application Model

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

ApiAuth

API Gateway API へのアクセスを制御するための認証を設定します。

を使用してアクセスを設定する方法の詳細と例については、 AWS SAM 「」を参照してくださいAWS SAM テンプレートを使用して API アクセスを制御する

構文

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

プロパティ

AddApiKeyRequiredToCorsPreflight

ApiKeyRequired プロパティと Cors プロパティが設定されている場合に AddApiKeyRequiredToCorsPreflight を設定すると、API キーが  Options プロパティに追加される場合があります。

タイプ: ブール

必須: いいえ

デフォルト: True

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

AddDefaultAuthorizerToCorsPreflight

DefaultAuthorizer プロパティと Cors プロパティが設定されている場合に AddDefaultAuthorizerToCorsPreflight を設定すると、OpenAPI セクションの Options プロパティにデフォルトのオーソライザーが追加されます。

タイプ: ブール

必須: いいえ

デフォルト: True

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

ApiKeyRequired

true に設定すると、すべての API イベントに API キーが必要になります。API キーの詳細については、API Gateway デベロッパーガイドの「API キーを使用した使用量プランの作成と使用」を参照してください。

タイプ: ブール

必須: いいえ

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

Authorizers

API Gateway API へのアクセスを制御するために使用されるオーソライザーです。

詳細については、「AWS SAM テンプレートを使用して API アクセスを制御する」を参照してください。

タイプ: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer

必須: いいえ

デフォルト: なし

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

その他の注意点: SAM は Api OpenApi の定義にオーソライザーを追加します。

DefaultAuthorizer

API Gateway API のデフォルトオーソライザーを指定します。これは、デフォルトで API コールの認証に使用されます。

注記

この API に関連付けられた関数 EventSource の Api が IAM アクセス許可を使用するように設定されている場合、このプロパティを に設定する必要があります。設定しないとAWS_IAM、エラーが発生します。

タイプ: 文字列

必須: いいえ

デフォルト: なし

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

InvokeRole

すべてのリソースとメソッドの統合認証情報をこの値に設定します。

CALLER_CREDENTIALSarn:aws:iam::*:user/* にマップされます。これは、発信者の認証情報を使用してエンドポイントを呼び出します。

有効な値: CALLER_CREDENTIALSNONEIAMRoleArn

タイプ: 文字列

必須: いいえ

デフォルト: CALLER_CREDENTIALS

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

ResourcePolicy

API 上のすべてのメソッドとパスのリソースポリシーを設定します。

タイプ: ResourcePolicyStatement

必須: いいえ

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

その他の注意点: この設定は、AWS::Serverless::Function を使用して個々の ApiFunctionAuth で定義することも可能です。これは、EndpointConfiguration: PRIVATE を使用した API に必要です。

UsagePlan

この API に関連付けられた使用量プランを設定します。使用量プランの詳細については、API Gateway デベロッパーガイドの「API キーを使用した使用量プランの作成と使用」を参照してください。

この AWS SAM プロパティは、このプロパティが設定されている場合、、AWS::ApiGateway::UsagePlanAWS::ApiGateway::UsagePlanKeyおよび の 3 つの追加 AWS CloudFormation リソースを生成しますAWS::ApiGateway::ApiKey。このシナリオの詳細については、「UsagePlan プロパティが指定されています」を参照してください。生成された AWS CloudFormation リソースの一般的な情報については、「」を参照してください生成された AWS CloudFormation リソース

タイプ: ApiUsagePlan

必須: いいえ

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

CognitoAuth

Cognito 認証の例です。

YAML

Auth: Authorizers: MyCognitoAuth: UserPoolArn: Fn::GetAtt: - MyUserPool - Arn AuthType: "COGNITO_USER_POOLS" DefaultAuthorizer: MyCognitoAuth InvokeRole: CALLER_CREDENTIALS AddDefaultAuthorizerToCorsPreflight: false ApiKeyRequired: false ResourcePolicy: CustomStatements: [{ "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/Prod/GET/pets", "Condition": { "IpAddress": { "aws:SourceIp": "1.2.3.4" } } }] IpRangeBlacklist: - "10.20.30.40"