メインコンテンツまでスキップ
適用対象:
DuoKey Cockpit v2Couchbase Server 7.1+ Enterprise EditionKMIP から供給されるキー暗号化キー

概要​

Couchbase Server(7.1+ Enterprise Edition)には、データベース内部のネイティブ Encryption at Rest 機能が同梱されています。Couchbase 自身が、ディスク上のバケット、インデックス、ログ、監査データ、設定を保護するデータ暗号化キー(DEK)を生成・管理します。それらの DEK は、Couchbase が KMIP(または AWS KMS)経由で外部の KMS から取得するキー暗号化キー(KEK)によってラップされます。

このアプリはその KEK を DuoKey vault にプロビジョニングし、KMIP 登録バンドル — ホスト、ポート、キー ID、クライアント証明書の識別情報 — を出力します。オペレーターはこれを Couchbase 自身の Security > Encryption at Rest の設定画面に貼り付けます。キーのラップは Couchbase が KMIP 接続を通じて内部で行い、DuoKey の役割はキーカストディ側に完全に限定されます。

汎用のディスク暗号化とは異なります

これは、汎用の OS レベルのディスク暗号化アプリ(PKCS#11/CNG-KSP によるボリュームのアンロック)とは本質的に異なる仕組みです。ラップを駆動するのは OS レベルのボリュームのアンロックではなく、Couchbase 自身の /settings/security/encryptionAtRest の設定です。

Couchbase から DuoKey KMIP サーバーへ
Couchbase Serverネイティブ Encryption at Rest — バケット、インデックス、ログ、監査、設定用の DEK
KMIP — "Get & encrypt locally" またはネイティブの Encrypt/Decrypt
DuoKey KMIP サーバーCockpit の KMIP リスナー — mTLS のクライアント識別情報を認証
ラップ / アンラップ
テナント vaultAES-256 のキー暗号化キー(KEK) — DuoKey のカストディを離れることはありません

Couchbase は自身のデータ暗号化キーをエンドツーエンドで所有します。KMIP 接続を越えて DuoKey に渡るのは、それらをラップするキー暗号化キーだけです。

Couchbase が KMIP 接続を利用する 2 つの方法

Couchbase 自身の KMIP クライアントには 2 つのモードがあります。"Use KMIP Get & encrypt locally" では、KEK のバイト列を一度取得し、ノード上で DEK のラップ/アンラップを行います。"Use KMIP native Encrypt/Decrypt operation" では、代わりに Couchbase がラップ対象の DEK マテリアルを KMIP サーバーに送って暗号化または復号するため、KEK のバイト列が DuoKey から出ることは一切ありません。いずれの方法でも、DuoKey が DEK やバケットのデータを見ることはなく、見るのは前者のモードにおけるその接続用の KEK マテリアルだけです。

プロパティ値
暗号化モデルエンジンネイティブな DEK/KEK ラップ — KEK は KMIP 経由で外部から供給
キーの種類DuoKey vault 内で生成される AES-256 の KEK
オンボーディングアプリ詳細ページ — ウィザードのエントリなし
実証ステータスKEK のプロビジョニングと KMIP 登録バンドルは実物(本物の vault キーが作成されます)。Couchbase 内でバンドルを適用する作業はオペレーターによる手動ステップであり、まだエンドツーエンドで自動化されていません

設定​

フィールド目的
cluster_hostsクラスターノードのホスト名の参考リスト。
bucket_scope`cluster` — クラスター全体で 1 つの KEK(デフォルト) — または `per_bucket`。
vault_idKEK を作成する DuoKey の vault。

アプリをデプロイすると、Couchbase 暗号化アプリと最初のクラスターレコードが併せて作成されます。そのクラスターの登録は別のステップであり、そこで実際に KEK がプロビジョニングされます。

登録の流れ​

1

アプリをデプロイする

アプリと最初のクラスターレコードを作成し、KEK のスコープをクラスター全体にするかバケットごとにするかを選択します。

2

クラスターを登録する

登録を実行します。Cockpit は選択された vault(指定がない場合はテナントのデフォルトのソフトウェア vault)に本物の AES-256 KEK を作成し、それに対する安定した KMIP の Unique Identifier を生成します。

3

Couchbase で登録バンドルを適用する

返された手順に従って Couchbase Web Console 内で作業し、Couchbase を DuoKey KMIP サーバーに向け、クライアントの mTLS 識別情報をインストールします。

4

Encryption at Rest を有効にする

Couchbase でクラスター(またはバケットごと)に KEK を適用し、DEK が暗号化済みステータスを報告することを確認します。

登録バンドル​

フィールド目的
kmip_hostkmip_portCouchbase が接続すべき先 — Cockpit の KMIP サーバー(デフォルトポートは 5696)。
kmip_key_idKEK の KMIP 上で可視の Unique Identifier。
client_cert_aliasCouchbase が相互 TLS で認証に使用するクライアント識別情報。
バンドルとともに返される登録手順TEXT
1. Open the Couchbase Web Console
 Security > Encryption at Rest > Add Encryption Key

2. Configure the key
 Key Type: KMIP
 Host / Port: <kmip-host> / 5696
 KMIP key ID: <kmip-key-id>
 Client certificate: install the <client-cert-alias> mTLS identity
 Encryption approach: "Use KMIP Get & encrypt locally" or
                       "Use KMIP native Encrypt/Decrypt operation"

3. Apply the key
 Cluster-wide: Security > Encryption at Rest > set the cluster default key
 Per bucket:   Buckets > <bucket> > Edit > Advanced bucket settings >
               Encryption at Rest > select the key
クラスターのステータス

このアプリは、クラスターの登録状態、KEK がバインドされているかどうか、それを保持する vault に現在到達可能かどうかを報告するステータスチェックを提供します — Couchbase 側のトラブルシューティングに入る前に、KEK 側が正常であることを確認するのに役立ちます。

登録のシーケンス​

KEK のプロビジョニングから Couchbase での適用まで
1. KEK をプロビジョニングDuoKey Cockpit でアプリをデプロイし、クラスターを登録する
KMIP Register
2. テナント vault に KEK が作成されるAES-256 キーに KMIP の Unique Identifier が割り当てられる
オペレーターがホスト / ポート / キー ID / 証明書エイリアスをコピー
3. Couchbase で登録Security > Encryption at Rest > Add Encryption Key(Key Type: KMIP)
バケット単位、またはクラスター全体に適用
4. Couchbase が DEK をラップKMIP 接続を通じて、データ暗号化キーが KEK の下でラップされる
5. Encryption at Rest が有効にDEK が暗号化済みを報告し、Cockpit のクラスターステータスが KEK のバインドと到達性を確認

ステップ 1〜2 は DuoKey Cockpit で行われ、ステップ 3〜5 はオペレーターが Couchbase 内でバンドルを適用する作業です。

キーローテーション​

クラスターの KEK をローテーションすると、同じ vault 内に新しい AES-256 キーと新しい KMIP 識別子が、同じクライアント証明書の識別情報の下で作成されます — オペレーターは同じ登録手順に従って、Couchbase 側で新しい kmip_key_id を再適用します。

ローテーションは Couchbase 自身の再ラップと調整してください

KMIP のキー ID を切り替えたら、Couchbase は新しい KEK の下で自身の DEK を再ラップする必要があります。Couchbase 側の手順については、Couchbase 自身の encryption-at-rest のキーローテーションのガイダンスに従ってください。