TERM 039
Workload Identity
アプリへ、長期鍵ではなく一時的な身元を与える
Workload Identityは、アプリ、CI/CD、コンテナなどの処理主体をIdentityとして認証し、短時間のCredentialでクラウド資源へアクセスさせる仕組みです。固定キーの配布を減らします。
アプリや処理に一時的な身元と権限を与える仕組みの全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
発行元への信頼
どのPlatformやIdPの証明を受け入れるか設定します。
主体の条件
Repository、Branch、Namespace、Service Accountなどで対象を絞ります。
短時間のCredential
漏えい時の利用可能時間を長期Keyより短くします。
01 — DEFINITION
Workload Identityとは
何か
Workload Identityは、アプリ、CI/CD、コンテナなどの処理主体をIdentityとして認証し、短時間のCredentialでクラウド資源へアクセスさせる仕組みです。固定キーの配布を減らします。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
実行元を証明
Platformや外部IdPがWorkloadの属性を示す。
→一時Credentialへ交換
信頼設定と属性条件を確認して短時間のTokenを発行する。
→権限内で利用
IAM Roleに許されたResourceだけへアクセスする。
Workload Identityを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
発行元への信頼
どのPlatformやIdPの証明を受け入れるか設定します。
主体の条件
Repository、Branch、Namespace、Service Accountなどで対象を絞ります。
短時間のCredential
漏えい時の利用可能時間を長期Keyより短くします。
04 — REAL WORLD EXAMPLE
GitHub ActionsからクラウドへDeployする
Repositoryへ長期サービスアカウントKeyを保存せず認証します。
- 01
GitHubがJob情報入りOIDC Tokenを発行する
- 02
クラウドがRepositoryとBranch条件を確認する
- 03
Deploy権限だけの一時Tokenへ交換する
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
信頼条件を広げすぎない
Organization全体ではなく、Repository、Branch、Environmentまで絞ります。
交換後のIAMも最小化する
認証方法が安全でも、得られるRoleが広ければ被害範囲は大きくなります。
IN ONE SENTENCE
Workload Identityとは?
アプリや処理に一時的な身元と権限を与える仕組み。
