Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HashiCorp Vaultを活用した kubernetes環境での環境変数管理

HashiCorp Vaultを活用した kubernetes環境での環境変数管理

Matsuriba tech vol4の玄人枠でのLT資料。
静的secretに焦点を当ててお家でできる簡単なハンズオン付き

Avatar for murasame29

murasame29

May 17, 2024

Other Decks in Programming

Transcript

  1. ちょっと質問 Q. Kubernetes興味ある人  (予想: 100%) Q. kubernetes触ったことある人 (予想: 50%) Q.

    kubernetesよく使う人 (予想: 10%) Q. 環境変数の管理で困りごとがあると感じたことがある人 (予想:100%)
  2. Vaultとは? • HashiCorp社の提供するシークレット管理及びデータ暗号化用のセキュリティツール • パブリッククラウドからオンプレまで柔軟にデプロイが可能 • WebUI、CLI、APIでの操作ができる ◦ 今回はわかりやすいように vaultの操作はWebUIから行う

    • シークレットや鍵が一元管理可能 • EaaS(Encryption as a Service)や PKI , IdPとしても振る舞うことができる • 様々なSSOプロバイダに対応してる こいつ一つでなんでもできる。。。 Kubernetesだけでなく、GitHub Actionsやその他対応ベンダのサービスのsecretも管理可能!
  3. Vault Secrets Operatorとは? • kv-v1 , kv-v2 PKIのTLS証明書のサポート • 静的および動的シークレットのサポート

    • HashiCorp製のCRD Vault Secrets Operatorは指定されたVaultと namespace内のSecretを同期するOperator。 Secretの管理はVault Secret Operatorによって行われ るが標準的なアクセスが可能である 特徴
  4. 実際の使用例 ※検証用なので細かい設定は省略します本番環境ではより細かい権限設定を行ってください 1. kubernetesによる認証メソッドを有効化する UI > Access -> Authentication Method

    -> Enable New Method -> kubernetes -> configure ここで設定するhostは control-planeのAPIserver Address もしくは、 vault-0の環境変数に設定されている $KUBERNETES_PORT_443_TCP_ADDR を入力する
  5. 実際の使用例 3. ポリシーを作成する UI > ACL Policies -> Create ACL

    Policy さっき作ったオブジェクトに対して読み取りのみできるポリシーを設定。。。
  6. 実際の使用例 3. ポリシーを作成する UI > ACL Policies -> Create ACL

    Policy さっき作ったオブジェクトに対して読み取りのみできるポリシーを設定。。。
  7. 実際の使用例 4. ロールを作成する UI > Access -> Authentication Method ->

    vault-secrets-operator-example -> Create New Role 適当なロールを作る…
  8. 実際の使用例 4. ロールを作成する UI > Access -> Authentication Method ->

    vault-secrets-operator-example -> Create New Role 適当なロールを作る…