DVAAWSのサービスを使用した開発

開発者が Lambda 関数 URL を使用して Lambda 関数を HTTPS エンドポイントとして公開しています。AuthType を AWS_IAM に設定した場合の動作として正しいものはどれですか?

A
リクエストは Signature Version 4 (SigV4) で署名されている必要があり、Lambda のリソースベースポリシーで許可されたプリンシパルのみが呼び出せる
✓ 正解
Lambda関数URLのAuthTypeをAWS_IAMに設定すると、すべてのリクエストはSigV4(Signature Version 4)で署名される必要があります。認可はリソースベースポリシーで制御でき、クロスアカウントアクセスも対応可能です。
B
Cognito User Pool が発行した JWT トークンをリクエストヘッダーに含めることで認証できる
Cognito User PoolのJWTトークンは、AuthType NONEと組み合わせたカスタムオーソライザーで処理する仕組みであり、AWS_IAM認証型では機能しません。
C
Lambda 関数のリソースポリシーに FunctionURLAllowPublicAccess を追加することでパブリックアクセスを許可できる
FunctionURLAllowPublicAccessはAuthType NONEの場合のパブリックアクセス許可設定であり、AWS_IAM型では使用されず、リソースベースポリシーで認可を制御します。
D
AWS_IAM 認証は同一 AWS アカウント内のリクエストにのみ適用され、クロスアカウントアクセスは不可能である
AWS_IAM認証はクロスアカウントでも対応可能であり、リソースベースポリシーに別アカウントのプリンシパルを追加することでアクセスを許可できます。同一アカウント限定ではありません。

解説

Lambda 関数 URL の AuthType を AWS_IAM に設定すると、すべてのリクエストは AWS SigV4(Signature Version 4)で署名される必要があります。認可は Lambda のリソースベースポリシーで制御され、別アカウントのプリンシパルもそのポリシーに追加することでアクセスを許可できます。Cognito JWT は AuthType NONE と組み合わせたカスタムオーソライザーで処理するものであり、FunctionURLAllowPublicAccess は AuthType NONE 時のパブリックアクセス設定です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DVA の問題一覧に戻る