SOA-C03:AWS Certified CloudOps Engineer - Associate セキュリティとコンプライアンス 問6
セキュリティとコンプライアンス/データとインフラストラクチャの保護戦略の実装アプリがデータベース接続情報や外部 API キーを使用します。これらをソースコードや環境変数に直書きせず安全に保管し、定期的な自動ローテーションも行いたいと考えています。最も適切なのはどれですか。
当サイトのオリジナル問題(SOA-C03:AWS Certified CloudOps Engineer - Associateの出題範囲「セキュリティとコンプライアンス」に対応。実際の試験問題ではありません)
- A認証情報を暗号化せずに Amazon S3 に置き、URL を知る人だけがアクセスできるようにする
- B認証情報をソースコードにハードコードし、リポジトリへのアクセスを制限する
- CAWS Secrets Manager に認証情報を保管し、きめ細かいアクセス制御と、対応するサービスの自動ローテーションを利用する
- D認証情報を CloudWatch Logs に出力して一元管理する
正解:C
解説
AWS Secrets Manager は、データベース認証情報や API キーなどのシークレットを暗号化して一元的に保管し、IAM によるきめ細かいアクセス制御と、対応するサービス(RDS など)向けの自動ローテーションを提供します。コードや環境変数への直書きを避け、取得を実行時の API 呼び出しに限定できるため、漏えいリスクを下げられます。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- A誤り。暗号化せずに S3 へ置き URL 頼みでアクセスさせるのは、重大な漏えいリスクがあり不適切です。
- B誤り。コードへのハードコードは、リポジトリやログ経由での漏えいや、ローテーションの困難さを招きます。
- C正しい。Secrets Manager にシークレットを保管すれば、アクセス制御と自動ローテーションを安全に実現できます。
- D誤り。CloudWatch Logs は監視・運用ログの保管先であり、機密情報を出力するのはむしろ漏えいリスクを高めます。