メインコンテンツまでスキップ
適用対象:
DuoKey Cockpit v2Microsoft 365 / PurviewDouble Key Encryption

このページでは、DuoKey Cockpit v2 が提供するDKE 365 の構成機能について説明します。レガシーの Cockpit v1 のワークフローについては、本ガイドの Setup および Operations セクションを参照してください。

DKE サービスのレビューとデプロイ
DKE サービスのレビューとデプロイ

2種類のエンドポイントファミリー​

DKE 365 は2種類のエンドポイントを公開します。

  • Cockpit 管理者が DKE サービスをデプロイ、構成、管理するための管理サーフェス。Cockpit のユーザーセッションと、プラットフォームのロールベースアクセス制御によって保護されます。
  • Microsoft 365 / Office が直接呼び出す公開 DKE プロトコル: GetKey は公開されており、Decrypt は構成されている場合に Azure AD ベアラートークンを検証し、バインドされたアクセスポリシーを適用します。
API リファレンス
詳細な API エンドポイントは、Developer Docs → DKE API に別途記載されています。

サービスのライフサイクル​

Lifecycle statesTEXT

Provisioned → Running → Disabled → Stopped (+ Failed)

Running 状態のサービスのみが復号リクエストを処理します。

サービスの管理​

Cockpit からは、新しい DKE サービスをデプロイし、鍵が DKE 対応であることを検証し、有効化(Azure AD アプリを自動プロビジョニング)、無効化または停止を行い、オーバーラップウィンドウを伴う鍵ローテーションを実施し、稼働状況とオンボーディング(DNS / CNAME)のガイダンスを監視できます。その後、Microsoft 365 / Office はサービスの公開プロトコルエンドポイント(version、GetKey、Decrypt)を直接呼び出します。

API リファレンス
詳細な API エンドポイントは、Developer Docs → DKE API に別途記載されています。
DKE サービスの稼働状況 — ステータスとエンドポイントのチェック
DKE サービスの稼働状況 — ステータスとエンドポイントのチェック

サービス構成フィールド​

DKE サービスは、以下の項目で構成されます。

識別とルーティング

name、description、slug(サービス URL の構築に使われる GUID)、key_id(バインドされた RSA-2048/4096 鍵)、key_name(公開される kid URL に露出)、status。

アルゴリズム

algorithm: RSA-OAEP-256(既定)または RS256。

鍵ローテーションのオーバーラップ

cache_duration_hours(既定 24)。ローテーション中は、この期間にわたり以前の鍵が引き続き GetKey + Decrypt を処理します(previous_key_id / previous_key_retires_at)。

Azure AD / Entra

azure_tenant_id、azure_client_id、azure_audience、allowed_domains(B2B パートナードメイン。それぞれがそのテナント固有の有効な発行者にマッピングされます)、identity_provider_id(アプリの自動プロビジョニングに使われる Graph 認証情報)。

任意の mTLS

mtls_enabled、mtls_client_ca_pem、mtls_allowed_subjects、mtls_header_name(既定 X-ARR-ClientCert)。

許容的な復号(Permissive decrypt)

allow_anonymous(ホスト側でも許容モードが有効になっている非本番環境でのみ有効になります。本番環境では絶対に使用してはいけません)。

アクセス制御

access_policy_id は、復号のたびに評価されるアクセスポリシーをバインドします。

DKE サービスのデプロイ — ガイド付きウィザード
DKE サービスのデプロイ — ガイド付きウィザード

サービス構成の例​

DKE service configurationJSON

{
"name": "Contoso DKE",
"slug": "89c3b193-af16-4887-8031-43f88d475d9d",
"key_id": "<rsa-key-uuid>",
"key_name": "dke_key",
"azure_tenant_id": "<azure-tenant-guid>",
"azure_client_id": "<app-guid>",
"azure_audience": "https://89c3b193-af16-4887-8031-43f88d475d9d.duokey365.com",
"allowed_domains": ["partner.com"],
"algorithm": "RSA-OAEP-256",
"cache_duration_hours": 24,
"mtls_enabled": false,
"allow_anonymous": false,
"access_policy_id": "<policy-uuid>",
"identity_provider_id": "<idp-uuid>"
}

GetKey / Decrypt フロー​

1

GetKey

Office はサービスの公開 JWK を取得し、組織の公開鍵の下でコンテンツを暗号化します。公開される鍵は標準的な RSA JWK で、その kid はサービス URL(https://{slug}.{base-domain}/dke/{slug}/{key_name}/{key_id})です。

2

Decrypt

Office はラップされた鍵を送り返します。Cockpit v2 はサービスを解決し、ステータスが Running であることを要求し、有効な鍵(現行鍵、またはローテーション期間中は以前の鍵)を選択し、任意の mTLS 検証を実行し、Azure AD JWT を検証し、バインドされたアクセスポリシーを適用したうえで、ボールト内で RSA-OAEP による復号を行います。秘密鍵がボールトの外に出ることはありません。

すべての復号は、crypto ティアの下でクライアント IP ごとにレート制限されます(1000 リクエスト/分)。

DKE 暗号化鍵の選択
DKE 暗号化鍵の選択(RSA-2048)

公開される鍵、およびリクエスト/レスポンスのペイロードは Microsoft の DKE プロトコル形式に従うため、Office と Purview はカスタム構成なしでサービスと相互運用できます。

API リファレンス
正確なプロトコルペイロードは、Developer Docs → DKE API に別途記載されています。

Azure AD プロビジョニング(サービスの「登録」)​

独立した「登録」ステップはありません。登録 = デプロイ → 有効化です。enable 時に、サービスに identity_provider_id が設定されていて、まだ Azure アプリが存在しない場合、Cockpit v2 は Microsoft Graph を呼び出して Azure AD アプリ登録(識別子 URI / オーディエンス、リダイレクト URL)を作成・構成し、生成された azure_client_id、azure_audience、azure_app_object_id を保存します。Graph 認証情報は、サービスの ID プロバイダーから、またはホストの DKE_DEFAULT_GRAPH_* フォールバック(Application.ReadWrite.All が必要)から取得されます。

Azure AD ID プロバイダーの構成
Azure AD ID プロバイダーの構成

ホストレベルの DKE 設定(Cockpit v2 環境)​

以下の環境変数は Cockpit v2 のサーバー側で設定します。

変数用途
DKE_BASE_DOMAINサービス接続 URL の DNS ベース — 各サービスは https://{slug}.{DKE_BASE_DOMAIN}(ワイルドカード DNS + TLS が必要)
DKE_AUDIENCE_DOMAINJWT オーディエンス / Azure AD 識別子 URI のトップレベル(未設定時は DKE_BASE_DOMAIN にフォールバック)
DKE_DEFAULT_GRAPH_TENANT_ID / DKE_DEFAULT_GRAPH_CLIENT_ID / DKE_DEFAULT_GRAPH_CLIENT_SECRETAzure AD 登録の自動プロビジョニングに使われるフォールバック用の Microsoft Graph アプリ
DKE_ALLOW_PERMISSIVE_MODE開発/テスト専用のオプトイン許容的復号 — 本番環境では未設定にする必要があります
DKE_TENANT_DECRYPT_RPS_MAXテナントごとの復号レート上限(既定 100)
DKE_JWKS_CACHE_TTL_SECS復号トークン検証用の Azure AD JWKS キャッシュ TTL

Microsoft Purview​

DKE は Purview / MIP の DKE 鍵ストアであり、Double Key Encryption 型の秘密度ラベルは、これらの GetKey / Decrypt エンドポイントを指します(ラベルは Microsoft 側で構成されます — 秘密度ラベル と Microsoft Purview を参照してください)。Cockpit v2 は、データ損失防止連携のための独立したPurview DLP アプリタイプもさらに提供します。

DKE 鍵を誰が、どこから、いつ使用できるかを制御するには、続けて**アクセスポリシー** を参照してください。