ApiAuth - AWS Serverless Application Model

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

ApiAuth

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

AWS SAM を使用したアクセスの設定に関する詳細と例については、「API Gateway 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 へのアクセスを制御するために使用されるオーソライザーです。

詳細については、「API Gateway 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::UsagePlanKeyAWS::ApiGateway::ApiKey に設定すると、このプロパティは 3 つの追加 AWS CloudFormation リソースを生成します。このシナリオの詳細については、「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"