「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[Azure]] > [[AKS>Azure Kubernetes Service (AKS)]] --[[AKSをセキュアに利用するためのテクニカルリファレンス]] * 目次 [#z0a5c78c] #contents *概要 [#v9eafa3c] -[[Secret管理>#z4ce6858]]が推奨。 -[[Managed ID>#c58c513b]]の採用は要検討 *詳細 [#ta46f795] **Secret管理 [#z4ce6858] -≒ ユーザ/パスワード(Secret)の方式。 -AKS側ではなく、K8s側の機能 ***環境変数 [#y3ba38ae] -Deployment.yamlファイルの環境変数にSecretを直接入れる。 -アプリから、環境変数取得APIからSecretを取得する。 ※ Deployment.yamlファイルに平文でSecretを書く必要がある。 ***Secret機能 [#b3245666] Kubernetes Secretと言うK8sの機能。 -Secret.yamlファイルを使用して[[制御プレーン>AKSをセキュアに利用するためのテクニカルリファレンス#gcac2445]]に暗号化して保存。 -Deployment.yamlファイルの環境変数にSecret機能の参照を入れる。 -アプリから、環境変数取得APIからSecretを取得する。 ※ 管理者権限がアレば kubectl で取り出せてしまうという問題がある。 kubectl get secret <Secret名> -o json -参考 --Kubernetes Secret - Qiita~ https://qiita.com/propella/items/e6a6fd1f77a6e4417fda **[[Managed ID>Azure Managed ID]] [#c58c513b] -[[Windows認証>認証基盤#m4be745d]]的な。 -K8s側ではなく、AKS側の機能。 --なので、Azure系のリソースのみが対象 --K8s側にプラグインのインストールが必要になる。 ***Pod ID機能 [#ic1ef4e0] -[[Managed ID>#c58c513b]] ≒ Pod ID機能で、 -Pod ID機能を有効にするとPodで[[Managed ID>#c58c513b]]が利用可能。 -ただし、ヤリ過ぎ感が出てくる。 ***[[Key Vault]] & FlexVol [#c20672e3] -[[Key Vault]] --[[Key Vault]]には、[[Pod ID機能>#ic1ef4e0]]でアクセス可能。 --他にも、[[SPN>Azure サービス プリンシパル]]を使用した方式があるらしい。 --ココから取得したSecretを、接続文字列等に組込む。 --ただし、AKSのプラットフォーム依存コードになる。 -FlexVol --K8sでボリュームのプラグインを書けるようにしたもの --Key Vault FlexVolumeプラグインと言うものがある。 ---[[Key Vault]]の情報を一時ドライブに復元する。 ---プラットフォーム依存コードを「削減」できる。~ ・しかし、ヤリ過ぎ感が出てくる。~ ・そして(、結局)、環境変数ではない。 *参考 [#ubf4d154] -Azure Kubernetes Serviceでシークレットを管理する6つの方法 | re-imagine~ https://torumakabe.github.io/post/aks_how_to_keep_secret/ **[[Key Vault]] [#h17e6511] **Qiita [#dc77c5d5] -FlexVolumeを用いたKeyVaultとAKSの連携 --(1)~ https://qiita.com/TsuyoshiUshio@github/items/d8744e13028fed7d72be -Azure Key Vault で AKS の secret を管理する~ https://qiita.com/kyohmizu/items/9cedf39c70445a7da58e ---- Tags: [[:クラウド]], [[:コンテナ]], [[:Azure]], [[:AKS]], [[:IaC]], [[:セキュリティ]], [[:認証基盤]]