無限ノック › DVA 練習問題一覧 › 問題
DVAセキュリティ

Amazon ECS on AWS Fargateで稼働するコンテナアプリが、ソースコードにハードコードしたIAMユーザーのアクセスキーでAmazon S3にアクセスしています。セキュリティ監査で長期認証情報の排除を指摘されました。AWS SDKがデフォルトの認証情報プロバイダーチェーンを通じて自動で権限を取得するようにしたいです。最も適切な方法はどれですか。

A
タスク定義にタスクロール(taskRoleArn)を設定し、コードからアクセスキーを削除する
✓ 正解
タスクロールはコンテナ認証情報エンドポイント経由で一時認証情報を供給し、SDKのデフォルトプロバイダーチェーンが自動取得する。コードからキーを消すだけで長期認証情報を排除でき、アプリの実行時権限に対応する正しい設定。
B
タスク定義の実行ロール(executionRoleArn)にS3権限を付与し、コードからアクセスキーを削除する
実行ロール(executionRoleArn)はイメージのプルやCloudWatch Logsへの出力などECSエージェント/基盤用の権限であり、アプリ実行時にコードが使うAWS API権限には用いられない。S3アクセスは解決しない。
C
アクセスキーをコンテナの環境変数に設定し、コードからのハードコードを削除する
環境変数に設定したアクセスキーも長期認証情報のままであり、漏洩リスクとローテーション負荷が残る。監査が求める長期認証情報の排除という要件を満たさない不適切な対応。
D
EC2インスタンスプロファイルにS3権限を付与し、コードからアクセスキーを削除する
FargateはサーバーレスでユーザーがEC2インスタンスを管理せず、インスタンスプロファイルを割り当てる対象が存在しない。Fargateタスクにはタスクロールを用いるべきで、この方式は適用できない。

解説

FargateタスクにタスクロールをtaskRoleArnで設定すると、コンテナ認証情報エンドポイント経由で一時認証情報が供給されます。 AWS SDKのデフォルト認証情報プロバイダーチェーンはこのコンテナ認証情報を自動的に取得するため、コードからアクセスキーを削除するだけで長期認証情報を完全に排除できます。 選択肢Bの実行ロールはイメージのプル・ログ出力などECS基盤用で、アプリ実行時のAWS API権限には使われない。 選択肢Cの環境変数のアクセスキーは依然として長期認証情報であり指摘を解消しない。 選択肢DはFargateに管理対象のEC2インスタンスが存在しないため適用できない。

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

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

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