Vault on Kubernetes

Cad863e7fd94ece3248e0af21882259c?s=47 gotoken
July 25, 2019

Vault on Kubernetes

Cad863e7fd94ece3248e0af21882259c?s=128

gotoken

July 25, 2019
Tweet

Transcript

  1. Vault on Kubernetes gotoken @kennygt51

  2. 自己紹介 gotoken Twitter:@kennygt51 経歴:  SIerで運用SE(5年)   → Webの会社でインフラエンジニア(0.5年) 業務内容:  既存インフラのコンテナ化・クラウド化

  3. アジェンダ ・Vaultとは ・Vault Architecture ・Kubernetes上に構築する ・デプロイ時に秘匿情報を環境変数に展開する

  4. Vaultとは

  5. Vaultとは ・HashiCorp社の秘匿情報管理ソフトウェア ・Dynamic Secretsなど、様々な秘匿情報管理機能を持つ ・クライアント/サーバ型で動作する ・クライアントで秘匿情報の保存や取得コマンドを実行 ・秘匿情報自体はサーバに保存 ・ユースケースとしては、サービス(秘匿情報)が多数ある場合、namespaceを跨ぐ秘 匿情報の共有が必要な場合、audit loggingなど

  6. Vault Architecture

  7. Client Vault storage backend Vault server Vault Architecture Seal /

    Unseal ・クライアント/サーバモデル ・Vault CLI / HTTP API でアクセス ・Storage Backendに暗号化したデータを保存 詳細は以下 https://www.vaultproject.io/docs/internals/architecture.html https://www.kennys.tech/read-vault-architecture/
  8. Kubernetes上に構築する

  9. ・Deployment ・Cluster IP Service ・AWS KMS(Auto-unsealing) ・DynamoDB(Storage Backend)

  10. デプロイ時に秘匿情報を環境変数に展開する

  11. envconsul ・consul / vaultから集めた環境変数と共に、サブプロセスを起動するツール

  12. # envconsul \ > -config="./config.hcl" \ > -secret="secret/myapp/config" \ >

    env 2019/07/20 05:11:57.423996 looking at vault secret/myapp/config ・・・ secret_myapp_config_username=appuser # envconsul -secret secret/common_app -secret secret/a_app bundle exec rails s ユースケース ・特定のpath配下の秘匿情報を環境変数として展開し、アプリケーションを起動 ・pathベースでの、アクセスコントロール(運用模索中。。) 使い方
  13. ご清聴ありがとうございました @kennygt51