Successfully reported this slideshow.
Your SlideShare is downloading. ×

vault meetup #1 IaCでvaultを10倍楽しく運用する方法

vault meetup #1 IaCでvaultを10倍楽しく運用する方法

Download to read offline

イベント詳細ページはこちら
https://vault.connpass.com/event/228646/

スライド内容はこちら
HashiCorp Vaultにシークレットを格納・設定する際は、通常UIやCLIから行います。もっとも、管理するシークレットの数やVaultを利用するチームの数が増えると、ドキュメントの整備や今どのようなシークレットが格納されているかの把握が煩雑になります。

本発表では、IaCツール「Terraform」のvault providerを使って、安全かつ簡単なVault運用を実現する方法をご紹介します。

イベント詳細ページはこちら
https://vault.connpass.com/event/228646/

スライド内容はこちら
HashiCorp Vaultにシークレットを格納・設定する際は、通常UIやCLIから行います。もっとも、管理するシークレットの数やVaultを利用するチームの数が増えると、ドキュメントの整備や今どのようなシークレットが格納されているかの把握が煩雑になります。

本発表では、IaCツール「Terraform」のvault providerを使って、安全かつ簡単なVault運用を実現する方法をご紹介します。

Advertisement
Advertisement

vault meetup #1 IaCでvaultを10倍楽しく運用する方法

  1. 1. © 2021 LAC Co., Ltd. IaCでVaultを10倍楽しく運用する方法 株式会社ラック 前野 勇気
  2. 2. Agenda 1. Vault運用時の課題 2. Terraform vault provider 3. IaC導入の利点 4. デモ 5. 運用のヒント 6. まとめ
  3. 3. Vaultがシークレットを発行するために必要なもの クライアントがVaultからシークレットを取得するためには、下記3つの設定が必要です。 1.認証方法(Auth Method) 2.認可権限(Policy) 3.シークレット(Secrets Engine)
  4. 4. Vault運用時の課題 Vaultを利用するクライアントの種類や取り扱うシークレットが増加すると、 その分Vaultの設定作業が増加します。 1.認証方法(Auth Method) 2.認可権限(Policy) 3.シークレット(Secrets Engine) PATH + Capability(create, read, update, delete, list) KV SSH
  5. 5. Vault運用時の課題 Vaultの設定項目が増加すると、運用コストが増加します。 シェルスクリプトでリソース変更 スプレッドシートで管理 設計書と実際の 設定合ってる? スクリプトのメンテナンス できてる? • LDAP認証の設定方法どうやるんだっけ? • Aさんの認可権限を記載したドキュメントどこだろう? • シークレットの有効期限は統一したいけど、設定値合ってる? 伝統的なインフラ管理手法でやろうとすると。。。
  6. 6. Terraform Vault Providerによる解決 HashiCorpのIaCツール“Terraform”のプラグイン、”vault provider”を利用することで、 Vaultの運用を自動化することができる Vaultの構成情報をコードで記述 連携 プロビジョニング
  7. 7. IaCとは Infrastructure as Code …インフラの構成情報をコードで管理すること。 インフラ担当者 構成情報 コードで作成・更新 プロビジョニング クラウド ※IaCツール”Terraform”でAWSのEC2(仮想マシン)をコードで記述したもの
  8. 8. IaC導入のメリット プロビジョニングを自動化し 正確かつ迅速なインフラ要求 に応答 コードをテストすることで組 織のポリシーに反するプロビ ジョニングを事前に防止 コードのバージョン管理により 「いつ・だれが・どのような」 作業を実施したか追跡可能 コードをチーム間で共有し 統一的かつ再利用可能な インフラ環境を構築 自動化 共有 ガバナンス 監視・追跡
  9. 9. Terraform Vault Providerによる解決 IaCの導入は、Vaultの安全なプロビジョニングと運用ドキュメントの管理を実現する Vaultの構成情報をコードで記述 連携 プロビジョニング Vaultに加えた変更は バージョン管理できる 設定反映の作業は 自動化できる
  10. 10. 例: PKI Secrets Engineの設定を行う場合 PKI Secrets Engine … Vaultは、自身をプライベートCA(認証局)又は中間CAとして 構成して、動的に証明書を発行できる https://learn.hashicorp.com/tutorials/vault/pki-engine アプリケーション 有効期限を付して発行
  11. 11. 例: PKI Secrets Engineの設定を行う場合 PKI Secrets Engineを構成する作業を、手作業で行うと大変 計11ステップ パラメータ変更する場合 どこを変えるんだっけ? この行はなぜ必要? https://learn.hashicorp.com/tutorials/vault/pki-engine 変更した時の影響範囲は?
  12. 12. 例: PKI Secrets Engineの設定を行う場合 IaCで記述すると、設計書の可読性が向上し、メンテナンスが容易になる リソースの役割が明確 記述すべきパラメータが明確 リソースの依存関係が明確 https://registry.terraform.io/providers/hashicorp/vault/latest/docs/res ources/pki_secret_backend_root_cert
  13. 13. デモ terraform vault providerを使用したPKI Secrets Engineの作成 Private subnet vault server VPC Private subnet terraform agent AWS Cloud 1. code push 2. trigger 3. run 4. provisioning Internet gateway 5. access Network Load Balancer SaaS <実演すること> Terraformを使って、 まっさらなVaultから、3分で動的な証明書を発行する。
  14. 14. 運用のヒント • Vaultトークンは、TerraformのSecure Variable Storageで管理 • Vaultトークンには、Vaultを変更する必要最小限の権限をアタッチ • Vaultをプロビジョニングする専用のWorkspaceを作ろう • Vault Providerのドキュメントは、Terraform Registryに書いてある • コードの書き方は、VaultのLearnも参考になる
  15. 15. まとめ HashiCorp Vaultは、シークレットというセンシティブな領域 を扱うからこそ、安全・確実な運用方法を採用したい IaC(TerraformのVault Provider)で 10倍楽しいVault運用を実現しよう
  16. 16. © 2021 LAC Co., Ltd. ※本資料は2021年4月の情報に基づいて作成しており、記載内容は予告なく変更される場合があります。 ※本資料に掲載の図は、資料作成用のイメージカットであり、実際とは異なる場合があります。 ※本資料は、弊社が提供するサービスや製品などの導入検討のためにご利用いただき、他の目的のためには利用し ないようご注意ください。 ※ LAC、ラック、JSOC、サイバー救急センターは株式会社ラックの登録商標です。 ※その他記載されている会社名、製品名は一般に各社の商標または登録商標です。 Any Questions?

×