ある企業が AWS 上で稼働するアプリケーションについて、セキュリティチームから「GitHub リポジトリに AWS のアクセスキーやシークレットが含まれたコードがコミットされた」という報告を受けました。現在の AWS アクセスキーを即座に無効化し、将来の情報漏洩を防ぐための対策を講じたいと考えています。最も包括的な対応策はどれですか?
- A. 漏洩したアクセスキーを即座に AWS コンソールで無効化(または削除)し、IAM アクセスアドバイザーで不審なアクセスがなかったか確認する。CloudTrail で漏洩期間中の API アクティビティを調査する。将来の防止策として、AWS Secrets Manager と AWS IAM Identity Center(EC2 には IAM ロール)を使い、アクセスキーを廃止する。GitHub の Secret Scanning と Amazon Q Developer のコードレビューでコード内のシークレット検出を自動化する
- B. GitHub のリポジトリを Private に変更し、アクセスを制限する
- C. GitHub のコミット履歴からアクセスキーを削除し、リポジトリを再プッシュする
- D. アクセスキーのローテーションを毎月実施するよう IAM パスワードポリシーを変更する
解答と解説を見る
正解: A
漏洩したアクセスキーへの対応は多層的なアプローチが必要です。②即時無効化でリスクを排除、①CloudTrail での調査で被害範囲を特定、③IAM ロールへの移行でアクセスキー廃止、④自動スキャンツールで再発防止というプロセスが包括的な対応です。GitHubでのSecret Scanning(GitHub の機能)や Amazon Q Developer のコードレビューでコードのシークレット漏洩を事前に検出する仕組みも重要です。 B: リポジトリを Private にするだけではアクセスキーはまだ有効であり、既に不正使用されている可能性があります。即時の無効化が最優先です。 C: Git の歴史からシークレットを削除することは重要ですが、漏洩期間中の不正アクセスの調査と現在のキーの無効化を先に行う必要があります。また Git の歴史の書き換えは単純ではありません。 D: IAM パスワードポリシーはコンソールサインインに関するもので、アクセスキーのローテーションには直接対応していません。
📚 関連サービスの解説: AWS IAM ・ AWS CloudTrail