Claude Platform Docs
管理暗号化キー(CMEK)

CMEK用のAzure Key Vaultの設定

Azure Key Vaultを使用して、組織の暗号化キーを提供します。

Claude Code

Claude Codeにこの機能を設定させる

/claude-api Azure Key Vaultで顧客管理暗号化キーを設定するのを手伝ってください

このガイドでは、Anthropic組織の顧客管理暗号化キー(CMEK)としてAzure Key Vaultキーを設定する手順を説明します。

前提条件

  • RBAC認可が有効(enableRbacAuthorization: true)で、パブリックネットワークアクセスが許可されているAzure Key Vault。Anthropicはパブリックデータプレーンエンドポイント経由でvaultを呼び出します。プライベートエンドポイントはサポートされていません。
  • vaultでパージ保護が有効(enablePurgeProtection: true)であること。これがないと、削除されたキーがソフト削除の保持期間中に完全にパージされ、CMEK保護されたデータが回復不能な損失を被る可能性があります。パージ保護は一度有効にすると無効化できません。
  • vaultでキーを作成し、RBACロールを割り当てる権限。
  • Entraテナントでサービスプリンシパルを作成する権限(Application Administrator、Cloud Application Administrator、または同等のカスタムロール)。
  • 組織のAnthropic Admin APIキー。
  • az CLIがインストールされ、認証されていること。
  • AuditEventログカテゴリをLog Analytics、ストレージアカウント、またはイベントハブにルーティングするようにvaultで診断設定が構成されていること。Azure Key Vaultはデフォルトではデータプレーン監査ログ(KeyWrap、KeyUnwrap、KeyGetなど)を出力しないため、これがないとAnthropicのキー操作の監査証跡が得られません。

Anthropicアプリ情報

Anthropicに暗号化キーを使用させるには、AnthropicのマルチテナントアプリケーションIDと表示名を設定する必要があります。それらの値は次のとおりです。

フィールド値
マルチテナントアプリクライアントID(US)8635ae1a-3e5d-44e8-a4ed-e0f614466f87
アプリ表示名anthropic-cmek-client-us

暗号化キーのセットアップ

  1. Anthropicマルチテナントアプリケーションへの同意

    これにより、AnthropicのCMEKクライアントアプリケーション用のサービスプリンシパルがEntraテナントに作成されます。このアプリケーションはMicrosoft Graphの権限を要求しません。Key Vaultデータプレーンアクセスのフェデレーションターゲットとしてのみ存在します。

    az ad sp create --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87

    出力からidフィールドを取得します。これはテナント内のサービスプリンシパルのオブジェクトIDで、RBACロールを割り当てる際に使用します。

    {
      "appId": "8635ae1a-3e5d-44e8-a4ed-e0f614466f87",
      "displayName": "anthropic-cmek-client-us",
      "id": "<sp-object-id>"
    }

    サービスプリンシパルがすでにテナントに存在する場合(以前の試行や別の統合から)、az ad sp createは「already exists」エラーで終了します。代わりにそのオブジェクトIDを取得してください。

    az ad sp show --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 --query id -o tsv

    このステップにはPortalの同等の操作はありません。Azure CLIがローカルにインストールされていない場合は、Portalの上部ナビゲーションバーからCloud Shellを開いてください。コマンドが成功した後、Microsoft Entra ID > エンタープライズアプリケーションでデフォルトのアプリケーションタイプフィルターをクリアし、anthropic-cmek-client-usを検索することで、サービスプリンシパルのオブジェクトIDを見つけることができます。

    anthropic-cmek-client-usのMicrosoft Entraエンタープライズアプリケーションの概要。Application IDとObject IDが表示されています。

    Entraエンタープライズアプリケーションの概要でサービスプリンシパルのObject IDを見つけます。
  2. vaultでRSAキーを作成する

    Azure Key Vaultは対称キーラッピングをサポートしていないため、キーは許可された操作にwrapKeyとunwrapKeyを含むRSA(3072ビット以上)である必要があります。

    --tagsオプションは、組織タグanthropic-org-<ORGANIZATION_UUID>を値trueで追加します。ここで<ORGANIZATION_UUID>は小文字のAnthropic組織IDです。このタグはAnthropicがキーを検証するために必要です。

    az keyvault key create \
      --vault-name <VAULT_NAME> \
      --name <KEY_NAME> \
      --kty RSA --size 3072 \
      --ops wrapKey unwrapKey \
      --tags anthropic-org-<ORGANIZATION_UUID>=true

    HSMバックアップキーの場合は、--kty RSA-HSMを使用します(Premium-SKU vaultが必要)。この統合にはソフトウェア保護されたRSAキーで問題ありません。

    Portalから、Key Vaultを開き、Keysを選択してからGenerate/Importを選択します。キータイプをRSAに、サイズを3072以上に設定します。キーをラップとアンラップのみに制限するには、キーバージョンを開き、Permitted operationsまでスクロールし、Wrap KeyとUnwrap Key以外のすべてのチェックを外します。

    Create a keyページで、Tagsの下に組織タグも追加します。

    Azure Key VaultのCreate a keyページ。RSAとキーサイズ3072が選択され、anthropic-orgタグがtrueに設定されています。

    3072以上のサイズのRSAキーを作成し、タグanthropic-org-<ORGANIZATION_UUID>をtrueに設定します。

    Azure Key Vaultのキーバージョン。タグが1つ設定され、Permitted operationsがWrap KeyとUnwrap Keyに制限されています。

    許可された操作をWrap KeyとUnwrap Keyに制限します。キーバージョンには組織タグが表示されます。

    1つのキーを複数のAnthropic組織で共有するには、組織ごとにそのようなタグを1つ追加します。キーバージョンは、独自のものを含めて最大15個のタグを持つことができます。

  3. Anthropicサービスプリンシパルにキーへのアクセスを付与する

    最初のステップのサービスプリンシパルにKey Vault Crypto Userロールを割り当てます。vault全体ではなく個別のキーにスコープを設定します。

    VAULT_ID=$(az keyvault show --name <your-vault-name> --query id -o tsv)
    
    az role assignment create \
      --role "Key Vault Crypto User" \
      --assignee-object-id <sp-object-id> \
      --assignee-principal-type ServicePrincipal \
      --scope "${VAULT_ID}/keys/<your-key-name>"

    組み込みのKey Vault Crypto Userロールは、割り当てられたスコープでキーの暗号化操作(暗号化、復号化、ラップ、アンラップ、署名、検証)とキーの読み取りを付与します。前のステップでキーに設定した--ops wrapKey unwrapKeyの制限により、このキーに対して成功できる操作がさらに絞り込まれるため、実際にはAnthropicはラップとアンラップのみを実行できます。

    Portalから、キー(vaultではなく)を開き、そのAccess control (IAM)タブを選択し、Add > Add role assignmentをクリックし、Key Vault Crypto Userを選択して、anthropic-cmek-client-usサービスプリンシパルに割り当てます。

    Key VaultのIAMにおけるロールの割り当て。anthropic-cmek-client-usにKey Vault Crypto Userロールが割り当てられています。

    AnthropicサービスプリンシパルにKey Vault Crypto Userを割り当て、キーにスコープを設定します。
  4. vault構成を検証する

    az keyvault show --name <your-vault-name> \
      --query "{rbac:properties.enableRbacAuthorization, purge:properties.enablePurgeProtection, pub:properties.publicNetworkAccess, net:properties.networkAcls.defaultAction, ipRules:properties.networkAcls.ipRules, uri:properties.vaultUri, tenantId:properties.tenantId}"

    次のことを確認します。

    • rbacがtrueであること。
    • purgeがtrueであること。falseまたはnullの場合は、続行する前にvaultでパージ保護を有効にしてください。これがないと、ソフト削除されたキーが保持期間中に完全にパージされ、CMEK保護されたデータが回復不能になります。
    • pubが"Enabled"であること。"Disabled"の場合、Anthropicはパブリックデータプレーンエンドポイント経由でvaultに到達できず、検証が失敗します。
    • netが"Allow"であること、または"Deny"の場合は、ipRulesにAnthropicのエグレス範囲が含まれていること(現在のリストについてはAnthropicにお問い合わせください)。
    • uriがキーを登録する際に使用するvault URIであること。
    • tenantIdがvaultを管理するテナントであること。キーを登録する際は、現在アクティブなサブスクリプションのテナントではなく、この値をtenant_idとして使用してください(クロステナント設定では両者が異なる場合があります)。

Anthropicにキーを登録する

キーの登録方法は、使用する製品によって異なります。

Claude ConsoleまたはAdmin API経由でキーを設定でき、結果は同じです。

  1. Anthropicにキーを登録する

    Claude Consoleで、Data retentionページ(platform.claude.com/settings/privacy)に移動します。Encryption keysが表示されない場合は、ページ上部のドロップダウンメニューからOrganizationを選択してください。Encryption keysの下でAdd keyをクリックします。表示名を入力し、Azure Key Vaultを選択してContinueをクリックします。Vault URI、Key name、Tenant IDを入力し、Addをクリックします。

    キー詳細ステップには組織タグが表示されます。Addをクリックする前に、作成ステップで説明されているようにキーに追加してください。

  2. キーを検証する

    Encryption keysリストで、キーの横にあるVerifyをクリックします。チェックに合格するとConnectedと表示されます。失敗した場合は、メッセージに理由が表示されます。

  3. キーをワークスペースにアタッチする

    Claude Consoleで、Data retentionページ(platform.claude.com/settings/privacy)に移動し、ページ上部のドロップダウンメニューからワークスペースを選択します。Encryption keyの下でキーを選択し、Saveをクリックして確認します。キーのアタッチは元に戻せません。すでにリクエストを受信しているワークスペースの場合、キーが有効になるまで最大1日かかることがあります。

Terraform

Infrastructure-as-codeデプロイメントの場合、同じステップがazurermおよびazureadプロバイダーにマッピングされます。

Was this page helpful?