エフェメラルな認証情報とは何か? すぐに失効するシークレット
エフェメラルな認証情報は、単一の job のために作成され数分で失効する短命なシークレットなので、漏洩したコピーはほぼ即座に無用になります。
最も危険なシークレットは長命なものです。一度漏洩すれば永遠に機能します。エフェメラルな認証情報はそれを逆転させます。job が必要とする瞬間だけ存在し、新たに発行され、すぐに失効します。たとえ捕捉されても、攻撃者が使おうとする頃には死んでいます。エフェメラリティは、現代のパイプラインセキュリティの静かなスーパーパワーです。
認証情報をエフェメラルにするもの
それは特定のタスクのためにオンデマンドで生成され、そのタスクにスコープされ、しばしば数分という短い time-to-live が与えられます。job が終わるか時間切れになると、機能しなくなります。ストアの中に漏洩を待って置かれた常設の価値がありません。
保存されたシークレットに勝る理由
- repo、ログ、バックアップから漏洩する長命な価値がない。
- 捕捉されたトークンは有用になる前に失効する。
- ローテーションポリシーが不要。設計上 job ごとにローテーションされる。
- 狭いスコーピングがさらにできることを制限する。
パイプラインがそれらを取得する方法
OIDC token exchange が一般的な仕組みです。パイプラインが自身のアイデンティティを証明し、見返りに短命なクラウド認証情報を受け取ります。保存されたシークレットは一切関与しません。シークレットマネージャーも、要求に応じて動的で短命な認証情報を発行できます。
エフェメラルな認証情報 vs エフェメラルな runner
両者は補完し合います。エフェメラルな認証情報は失効するシークレットであり、エフェメラルな runner は 1 つの job の後に破棄されるマシンです。両者を合わせると、シークレットもそれを保持していた環境も、作業を生き延びません。
シークレットの最終形
エフェメラルな認証情報は、シークレット管理が向かっている先です。できるだけ少なく保存し、必要なものをジャストインタイムで発行し、消えさせる。分離されたエフェメラルな runner (Latchkey など) では、短命な認証情報は job が終わった瞬間に消え、次の job が見つけるものは何も残りません。
重要なポイント
- エフェメラルな認証情報は job ごとに発行され、狭くスコープされ、数分で失効します。
- 捕捉されたコピーはほぼ即座に無用になり、ローテーションポリシーは不要です。
- OIDC token exchange と動的シークレットが、それらを取得する通常の方法です。