あるデータエンジニアリングチームは、AWS Glue ジョブから Amazon RDS for MySQL に接続してデータを処理しています。現在、データベースの認証情報が Glue ジョブスクリプト内にハードコードされており、セキュリティ監査で以下の対応が要求されました。 ・認証情報をコードから分離して安全に保管すること ・データベース認証情報を定期的に自動ローテーションすること ・認証情報へのアクセスをすべて監査ログに記録すること ・Glue ジョブ実行時に認証情報を動的に取得できること これらの要件をすべて満たす最も適切なソリューションはどれですか?
AWS Secrets Manager はデータベース認証情報の安全な保管・自動ローテーション・監査ログ記録の要件をすべて満たします。Amazon RDS との統合により、事前定義の Lambda 関数を使って認証情報を自動ローテーションでき、AWS Glue は接続設定で Secrets Manager の ARN を直接参照して実行時に動的取得できます。すべてのシークレットアクセスは AWS CloudTrail に自動記録されます。 選択肢AのSystems Manager パラメータストア SecureString は安全な保管と CloudTrail ログには対応しますが、RDS 認証情報の自動ローテーション機能はネイティブに提供されておらず、別途 Lambda などの実装が必要になります。 選択肢CのKMS 暗号化と環境変数への保存では、ローテーション時に毎回 Glue ジョブ設定の更新が必要となり、自動ローテーション要件を満たしません。 選択肢DのS3 への暗号化ファイル保存は実装が複雑でセキュリティリスクも残り、Glue との直接統合もないため推奨されません。