ビルドの中の秘密情報の扱い

正解は ウ です。 秘密情報は Secrets Manager (またはParameter StoreのSecureString)に保存し、ビルドの設定からは 参照だけ します。値は設定に残らず、更新も保存先だけで済みます。 方法 設定から読めるか 更新 Secrets Managerの参照 読めない(権限で制御) 保存先だけ 平文の環境変数 読める 設定の変更 Base64 簡単に戻せる 設定の変更 リポジトリーを読める人すべてにキーが漏れる。 隠しているだけで、読めることに変わりはない。 キーを設定に残さず、権限で読める人を限定でき、更新も容易である。 Base64は暗号化ではなく、簡単に元に戻せる。

CodeBuildのビルドの設定に、外部のサービスのAPIキーを平文の環境変数で書いており、ビルドの設定を見られる人なら誰でもキーを読める。キーは定期的に更新される。

最も適切なものを1つ選択してください。

出典AWS非公式・オリジナル問題
ア
APIキーをソースコードのリポジトリーにファイルで置き、ビルドの時に読み込ませる
イ
環境変数の名前をわかりにくい名前に変えて、APIキーだと気づかれないようにする
ウ
キーをSecrets Managerに保存し、ビルドの設定からシークレットとして参照する
エ
APIキーをBase64で変換してから環境変数に書き、平文で見えないようにしておく