Q85 — AWS DVA-C02 第3章
第 85/100 問 | ← 第3章
ある会社には複数のAWS Lambda関数があり、QAチームはLambda関数URLを使用してテストを行いたいと考えています。開発者は、QAチームが共通のURLを使用してLambda関数を呼び出せるよう、Lambda関数の認証を構成する必要があります。この要件を満たす解決策はどれですか?
- A. Lambda関数上でループするCLIスクリプトを作成し、AWS IAM認証タイプを持つLambda関数URLを追加します。別のスクリプトを実行して、すべてのLambda関数のAmazonリソース名(ARN)に対してlambda:InvokeFunctionUrl操作を許可するIAMベースのアイデンティティポリシーを作成します。このポリシーをQA IAMグループにアタッチします。 ✓
- B. Lambda関数上でループするCLIスクリプトを作成し、NONE認証タイプを持つLambda関数URLを追加します。別のスクリプトを実行して、すべてのLambda関数のAmazonリソース名(ARN)に対してlambda:InvokeFunctionUrl操作を許可するIAMベースのリソースポリシーを作成します。このポリシーをQA IAMグループにアタッチします。
- C. Lambda関数上でループするCLIスクリプトを作成し、AWS IAM認証タイプを持つLambda関数URLを追加します。別のスクリプトを実行して、Lambda関数上でループし、QA IAMグループのAmazonリソース名(ARN)からのlambda:InvokeFunctionUrl操作を許可するIAMベースのアイデンティティポリシーを作成します。
- D. Lambda関数上でループするCLIスクリプトを作成し、NONE認証タイプを持つLambda関数URLを追加します。別のスクリプトを実行して、Lambda関数上でループし、QA IAMグループのAmazonリソース名(ARN)からのlambda:InvokeFunctionUrl操作を許可するIAMベースのリソースポリシーを作成します。
正解: A. Lambda関数上でループするCLIスクリプトを作成し、AWS IAM認証タイプを持つLambda関数URLを追加します。別のスクリプトを実行して、すべてのLambda関数のAmazonリソース名(ARN)に対してlambda:InvokeFunctionUrl操作を許可するIAMベースのアイデンティティポリシーを作成します。このポリシーをQA IAMグループにアタッチします。
解説
AWS IAM認証タイプのLambda関数URL:これは、呼び出し元がAWS IAM認証を実行することをLambda関数が要求することを意味し、承認されたユーザーのみがLambda関数を呼び出せることを保証する安全な手法です。 IAMポリシーの作成:CLIスクリプトはすべてのLambda関数を巡回し、QA IAMグループがすべてのLambda関数のARNに対してlambda:InvokeFunctionUrl操作を実行できるIAMベースのアイデンティティポリシーを作成します。これにより、QAチームはLambda関数のパブリックURLを使用してテストできます。 ポリシーのQA IAMグループへのアタッチ:最後に、作成されたIAMポリシーをQA IAMグループにアタッチすることで、グループ内のメンバーがLambda関数を呼び出す権限を得ます。 他の選択肢が不適切な理由: 選択肢BおよびD:NONE認証タイプのLambda関数URLを使用します。これは誰でも認証なしにLambda関数を呼び出せるため、セキュリティリスクが高く、特に本番環境ではセキュリティ上のベストプラクティスに反します。 選択肢C:AWS IAM認証タイプとIAMアイデンティティポリシーを同時に使用することを示唆していますが、この記述は曖昧であり、意図が明確ではありません。通常、Lambda関数はAWS IAM認証を必要とするか(NONE認証タイプではない)、必要としないか(NONE認証タイプ)のいずれかであり、両者を混在させることはありません。 したがって、セキュリティ性および機能要件の観点から、選択肢AはQAチームが安全にパブリックURLを使用してテストを行うための正しい方法を提供します。