翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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キーAddApiKeyRequiredToCorsPreflight
がOptions
プロパティに追加されます。タイプ: ブール
必須: いいえ
デフォルト:
True
AWS CloudFormation 互換性 : このプロパティは に一意 AWS SAM であり、 AWS CloudFormation 同等の はありません。
-
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 同等の はありません。
-
Gateway API へのアクセスを制御するために使用されるオーソライザーAPI。
詳細については、「AWS SAM テンプレートを使用して API アクセスを制御する」を参照してください。
タイプ: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
必須: いいえ
デフォルト: なし
AWS CloudFormation 互換性 : このプロパティは に一意 AWS SAM であり、 AWS CloudFormation 同等の はありません。
追加のメモ : Api OpenApi の定義にオーソライザーSAMを追加します。
-
API ゲートウェイ のデフォルトのオーソライザーを指定します。これはAPI、デフォルトでAPI呼び出しの承認に使用されます。
注記
これに関連付けられた関数 EventSource の Api IAM APIが アクセス許可を使用するように設定されている場合、このプロパティは に設定する必要があります。設定
AWS_IAM
しないとエラーが発生します。型: 文字列
必須: いいえ
デフォルト: なし
AWS CloudFormation 互換性: このプロパティは に一意 AWS SAM であり、 AWS CloudFormation 同等の はありません。
-
InvokeRole
-
すべてのリソースとメソッドの統合認証情報をこの値に設定します。
CALLER_CREDENTIALS
がarn:aws:iam::*:user/*
にマップされます。これは、発信者の認証情報を使用してエンドポイントを呼び出します。有効な値:
CALLER_CREDENTIALS
、NONE
、IAMRoleArn
型: 文字列
必須: いいえ
デフォルト:
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::UsagePlan、 AWS::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