「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
Secret管理 †
- ≒ ユーザ/パスワード(Secret)の方式。
- AKS側ではなく、K8s側の機能
環境変数 †
- Deployment.yamlファイルの環境変数にSecretを直接入れる。
- アプリから、環境変数取得APIからSecretを取得する。
※ Deployment.yamlファイルに平文でSecretを書く必要がある。
Secret機能 †
- Secret.yamlファイルを使用して制御プレーンに暗号化して保存。
- Deployment.yamlファイルの環境変数にSecret機能の参照を入れる。
- アプリから、環境変数取得APIからSecretを取得する。
※ 管理者権限がアレば kubectl で取り出せてしまうという問題がある。
kubectl get secret <Secret名> -o json
Managed ID †
- Windows認証的な。
- K8s側ではなく、AKS側の機能。
- なので、Azure系のリソースのみが対象
- K8s側にプラグインのインストールが必要になる。
Pod ID機能 †
- Managed ID ≒ Pod ID機能で、
- Pod ID機能を有効にすると利用可能。
- Key Vault
- Key Vaultには、Pod ID機能でアクセス可能。
- 他にも、SPNを使用した方式があるらしい。
- ココから取得したSecretを、接続文字列等に組込む。
- ただし、AKSのプラットフォーム依存コードになる。
- FlexVol?
- K8sでボリュームのプラグインを書けるようにしたもの
- Key Vault FlexVolume?プラグインと言うものがある。
- Key Vaultの情報を一時ドライブに復元する。
- プラットフォーム依存コードを削減できる。
・ヤリ過ぎ感が出てくる。
・そして、結局環境変数ではない。
参考 †
Qiita †
- FlexVolume?を用いたKeyVault?とAKSの連携
Tags: :クラウド, :コンテナ, :Azure, :AKS, :セキュリティ, :認証基盤