ApiAuth - AWS Serverless Application Model

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

ApiAuth

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

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

構文

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

YAML

AddApiKeyRequiredToCorsPreflight: Boolean AddDefaultAuthorizerToCorsPreflight: Boolean ApiKeyRequired: Boolean Authorizers: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM DefaultAuthorizer: String InvokeRole: String ResourcePolicy: ResourcePolicyStatement UsagePlan: ApiUsagePlan
注記

Authorizers プロパティには が含まれますがAWS_IAM、 に追加の設定は必要ありませんAWS_IAM。例については、AWS IAMを参照してください。

プロパティ

AddApiKeyRequiredToCorsPreflight

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

タイプ: ブール

必須: いいえ

デフォルト: 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「キーを使用した使用プランの作成と使用」を参照してください。 API

タイプ: ブール

必須: いいえ

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

Authorizers

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

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

タイプ: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM

必須: いいえ

デフォルト: なし

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

追加のメモ : Api OpenApi の定義にオーソライザーSAMを追加します。

DefaultAuthorizer

API ゲートウェイ のデフォルトのオーソライザーを指定します。これはAPI、デフォルトでAPI呼び出しの承認に使用されます。

注記

これに関連付けられた関数 EventSource の Api IAM APIが アクセス許可を使用するように設定されている場合、このプロパティは に設定する必要があります。設定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 で定義することも可能です。これは、 APIsで に必要ですEndpointConfiguration: PRIVATE

UsagePlan

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

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

タイプ: ApiUsagePlan

必須: いいえ

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

CognitoAuth

Cognito Auth の例

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" } } }] IpRangeDenylist: - "10.20.30.40"

AWS IAM

AWS IAM 例

YAML

Auth: Authorizers: AWS_IAM