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

HCP Vault Secrets でシークレット管理を始めよう / Getting Star...

ののし
November 14, 2024

HCP Vault Secrets でシークレット管理を始めよう / Getting Started with Secret Management Using HCP Vault Secrets

HashiTalks: Japan 2024 で投影した資料です。

ののし

November 14, 2024
Tweet

More Decks by ののし

Other Decks in Technology

Transcript

  1. 自己紹介 埜下 太一 / Taichi Nonoshita 株式会社エーピーコミュニケーションズ Terraform, Vault, Azure,

    Kubernetes HashiCorp Ambassador 2024 Microsoft Top Partner Engineer Award 2024 <Azure> @nnstt1
  2. • Vault Community Edition ◦ シークレット管理/暗号化の基本機能を無償提供 • Vault Enterprise ◦

    Namespace や 高可用性クラスタ などの企業向け機能を提供 ◦ セキュリティ要件が高い組織向け • HCP Vault Dedicated ◦ Enterprise 相当のマネージド Vault クラスタを提供 ◦ Azure/AWS とプライベートアクセス可能 少し前までの HashiCorp Vault の種類
  3. HCP Vault Secrets (HVS) の特徴 • クラスタ管理は不要 ◦ HCP 上で提供されるマネージドサービス

    ◦ シークレット管理に注力 • 機能はシークレット管理に限定 ◦ スモールに始められる ◦ 学習コストが低い • シークレット数の課金 ◦ 費用を予想しやすい ◦ 用途に応じたプランあり
  4. HCP Vault Secrets のはじめ方 2. Organization と Project を作成 Organization

    • 請求、ユーザーアクセスの管理単位 • 組織内で Organization 作成済みの場合は招待してもらう ◦ 1アカウントで作れる Organization は1つだけ
  5. HCP Vault Secrets のはじめ方 2. Organization と Project を作成 Organization

    Project “Stage” Project “Production” • HCP リソースをまとめる単位 • ワークロードや環境などで分割 ◦ プロジェクト毎の費用が分かる ◦ RBAC に影響してくる(後述)
  6. HCP Vault Secrets のはじめ方 3. HCP Vault Secrets でアプリケーションを作成 Organization

    Project “Stage” Project “Production” App“foo” App“bar” App“foo” App“bar” • シークレットを管理する単位 • Kubernetes の Secret リソースに似ている
  7. HCP Vault Secrets のはじめ方 4. アプリケーション内に Key-Value 形式でシークレットを登録 Organization Project

    “Stage” Project “Production” App“foo” App“bar” App“foo” App“bar” 🔑 🔑 🔑 🔑 🔑 🔑 🔑 🔑
  8. プッシュ型とプル型 シークレットの利用方法 App 🔑 🔑 AWS Secrets Manager CLI Azure

    Key Vault Google Cloud Secrets Manager GitHub Actions HCP Terraform Vercel API Kubernetes プッシュ プル
  9. プラン 3種類のプラン毎に制約が異なる • 登録できるシークレット数、Secrets Sync 設定数、シークレットの履歴 • Plus プラン限定の機能 Free

    Standard Plus 料金 無料 $0.50/シークレット/月 $0.95/シークレット/月 アプリケーション 25 1,000 10,000 静的シークレット 25 2,500 25,000 Auto rotating シークレット - - 5,000 動的シークレット - - 5,000 シークレットのバージョン 5 50 50 Secrets Sync 5 200 2000
  10. Auto rotating シークレット • シークレットの存続期間を中程度に保つ ◦ 30日 or 60日 or

    90日でシークレットを自動更新 ◦ AWS、Google Cloud、MongoDB Atlas、Twilio をサポート ◦ Plus プラン限定 🔑 App AWS 1.ローテーション 2.シークレット参照 3.更新されたシーク レットで認証
  11. 動的シークレット (beta) • Just In Time でシークレットを作成 ◦ シークレットの存続期間が短い ◦

    AWS、Google Cloud をサポート、DB などは未サポート ◦ Plus プラン限定 🔑 App AWS 2.シークレット作成 4.作成されたシーク レットで認証 1.シークレット参照 3.シークレット応答
  12. 注意点 • API リミット ◦ 6000 リクエスト/分 ◦ プル型、特に Kubernetes

    の場合は上限に到達しやすい • RBAC で細やかな設定は(まだ)できない ◦ 組み込みロールは管理者と閲覧者のみ ◦ 権限付与はプロジェクト単位 • パブリックアクセスのみ ◦ HCP Vault Dedicated のようなプライベートエンドポイントは 払い出されない