メインコンテンツまでスキップ

シークレットマネージャー統合

DuoKey は、新しいシークレットマネージャーの採用を強制するのではなく、 すでに運用しているシークレットマネージャーに接続する ように設計されています。 シークレットはハードコードされず、Git にコミットされず、クラスターディスクにも 書き込まれません。必要に応じてオンデマンドで取得され、メモリ内にのみ保持されます。

独自のシークレットマネージャーを持ち込む

組織がすでに HashiCorp Vault、CyberArk、またはネットワーク HSM で標準化している場合、 DuoKey はそこからシークレットを直接消費します。バンドルされている OpenBao インスタンスは 新規サイト向けのデフォルトであり、完全に省略できます。

サポートされるシークレットマネージャー​

シークレットマネージャー統合経路ステータス
OpenBao(デフォルト)External Secrets Operator(Kubernetes 認証)推奨デフォルト
HashiCorp VaultExternal Secrets Operator / Vault Agent Injector完全サポート
CyberArk(Conjur / AAM / CCP)External Secrets Operator(Conjur プロバイダー)完全サポート
Azure Key VaultExternal Secrets Operator / CSI Secrets Storeサポート(接続サイト)
AWS Secrets Manager / GCP Secret ManagerExternal Secrets Operatorサポート(接続サイト)
DuoKey MPCネイティブ(分散キーシェア)主要なトラストアンカー — HSM 不要
Securosys HSMPKCS#11、KMIPサポート(ハードウェアトラストアンカー)
Kubernetes Secrets(暗号化された etcd)ネイティブフォールバック / ラボ専用

インジェクションの仕組み​

DuoKey は External Secrets Operator(ESO) をベンダー中立のブローカーとして使用します。 シークレットマネージャーは単一の信頼できる情報源のままであり、ESO はポッドが必要とする 特定の値のみをオンデマンドで同期します。

  1. ポッドが Kubernetes ServiceAccount トークン を提示します。
  2. ESO はそのアイデンティティを使用してシークレットマネージャーに認証します (静的な資格情報は使用しません)。
  3. 必要なシークレットのみが取得され、メモリ内(tmpfs)の Kubernetes Secret として 実体化され、ポッドにマウントされます。
  4. ポッドが終了すると、シークレットは消滅します。ディスクには何も残りません。

例: HashiCorp Vault の SecretStore​

apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: vault
namespace: duokey
spec:
provider:
vault:
server: "https://vault.corp.example.local:8200"
path: "duokey"
version: "v2"
auth:
kubernetes:
mountPath: "kubernetes"
role: "duokey"
serviceAccountRef:
name: "duokey"

例: CyberArk Conjur の SecretStore​

apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: conjur
namespace: duokey
spec:
provider:
conjur:
url: "https://conjur.corp.example.local"
auth:
jwt:
account: "myConjurAccount"
serviceID: "openshift"
serviceAccountRef:
name: "duokey"

キーの保管: MPC ファースト​

DuoKey の中核となる差別化要素 — そして 主要なトラストアンカー — は マルチパーティ計算(MPC) です。鍵素材は独立したシェアに分割され、 単一のノードも単一の管理者も完全な鍵を保持することは決してありません。これにより、 専用の HSM ハードウェアを一切必要とせずに HSM グレードの鍵保護を実現し、 オンプレミスおよびエアギャップのデプロイに最適です。

  • シークレットマネージャーは 接続シークレットと資格情報 を保護します。
  • DuoKey MPC は 暗号鍵自体 を、分散保管により単一障害点なしで保護します。

オプション: Securosys HSM​

ハードウェア のトラストアンカーが(ポリシーや認証などにより)義務付けられている場合、 DuoKey は Securosys HSM と統合されます。

  • ベンダー: Securosys(Primus HSM / Securosys Cloud HSM)。
  • インターフェース: PKCS#11 および KMIP。
  • 使用方法: シークレットエンジン(OpenBao/Vault)が Securosys HSM に対して シール/アンシールを行うため、マスターキー素材が HSM 境界の外部で平文として存在することは ありません。MPC と HSM を組み合わせて多層防御を実現できます。
  • ネットワーク: HSM を専用のハードニングされた VLAN に配置します (ネットワークセキュリティ を参照)。

ベストプラクティス​

  • シークレットマネージャーがサポートしている場合は、静的な資格情報よりも 動的で短命な 資格情報を優先します。
  • 各 SecretStore/ロールを必要な 最小権限 にスコープします。
  • シークレットマネージャーの認証ロールをローテーションし、アクセスを定期的に監査します (コンプライアンスと監査 を参照)。
  • エアギャップサイトでは、シークレットマネージャーと HSM を完全にオンプレミスに保持します。 アウトバウンド接続は不要です。