• メッセージ
  • マネージドエージェント
  • 管理
Search...
⌘K
組織
Admin APIワークスペース
認証
概要Workload Identity FederationWIFリファレンス
モニタリング
Usage and Cost APIRate Limits APIClaude Code Analytics API
データとコンプライアンス
データレジデンシーAPIとデータ保持
概要AWS KMSGoogle Cloud KMSAzure Key Vault
Compliance API
概要アクセスの取得アクティビティフィードチャット、ファイル、プロジェクト組織、ユーザー、ロール、グループ統合の設計エラーFAQ
Log in
Azure Key Vault
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
管理/暗号化キー

CMEK用のAzure Key Vaultの設定

Azure Key Vaultを使用して、組織の暗号化キーを提供します。
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with Azure Key Vault"

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

CMEKの有効化は永続的です。Key Vaultのキーが削除または無効化された場合、Anthropicはそのキーで暗号化されたデータを復元できません。開始する前に、警告と制限事項を確認してください。

前提条件

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

Anthropicアプリ情報

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

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

この公開されたクライアントIDと表示名のみを使用してください。メール、チャット、またはその他のオンボーディングチャネルで提供された識別子は決して信頼しないでください。

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

  1. 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. 2

    ボールトにRSAキーを作成する

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

    az keyvault key create \
      --vault-name <your-vault-name> \
      --name <your-key-name> \
      --kty RSA --size 3072 \
      --ops wrapKey unwrapKey

    HSMバックアップキーの場合は、--kty RSA-HSMを使用します(Premium SKUのボールトが必要です)。ソフトウェア保護されたRSAキーもこの統合では使用可能です。

    Portalから、Key Vaultを開き、キーを選択してから生成/インポートを選択します。キーの種類をRSAに、サイズを3072以上に設定します。キーをラップとアンラップのみに制限するには、キーバージョンを開き、許可された操作までスクロールして、Wrap KeyとUnwrap Key以外のすべてのチェックを外します。

    Azure Key Vaultのキー作成ページ。Generateオプション、RSAキータイプ、3072 RSAキーサイズが選択されています。
    サイズ3072以上のRSAキーを作成します。
    Azure Key Vaultのキーバージョン。許可された操作がWrap KeyとUnwrap Keyに制限されています。
    許可された操作をWrap KeyとUnwrap Keyに制限します。
  3. 3

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

    最初の手順で作成したサービスプリンシパルに、ボールト全体ではなく個別のキーをスコープとしてKey Vault Crypto Userロールを割り当てます。

    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から、(ボールトではなく)キーを開き、その**アクセス制御(IAM)**タブを選択し、追加 > ロールの割り当ての追加をクリックして、Key Vault Crypto Userを選択し、anthropic-cmek-client-usサービスプリンシパルに割り当てます。

    専用ボールトの代替案: Microsoftは、アプリケーションごとに専用のボールトを用意し、ボールトスコープでロールを割り当てることを推奨しています。このAnthropic CMEKキーのみを保持するボールトをプロビジョニングする場合は、代わりにボールトスコープでロールを割り当てることができ、効果は同じです。キーが共有ボールトに存在する場合は、個別のキーをスコープとしてください。

    Azure Key Vaultのアクセス制御(IAM)ロール割り当て。anthropic-cmek-client-usサービスプリンシパルにKey Vault Crypto Userロールが割り当てられています。
    キーをスコープとして、AnthropicサービスプリンシパルにKey Vault Crypto Userを割り当てます。
  4. 4

    ボールト設定を確認する

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

    Anthropicにキーを登録する

    Admin APIを通じて外部キー設定を作成します。

    curl -sS https://api.anthropic.com/v1/organizations/external_keys \
      -H "x-api-key: <anthropic-admin-api-key>" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" \
      -d '{
        "display_name": "<friendly-name>",
        "geo": "us",
        "provider_config": {
          "type": "azure",
          "vault_uri": "https://<your-vault-name>.vault.azure.net/",
          "key_name": "<your-key-name>",
          "tenant_id": "<your-tenant-id>"
        }
      }'

    レスポンスには外部キーIDが含まれます。

    {
      "type": "external_key",
      "id": "ekey_<id>",
      "display_name": "<friendly-name>"
    }
  6. 6

    キーを検証する

    キーに対して暗号化と復号化のラウンドトリップをトリガーします。これにより、Anthropicがテナントに対して認証し、ラップおよびアンラップ操作を実行できることが確認されます。

    curl -sS -X POST https://api.anthropic.com/v1/organizations/external_keys/ekey_<id>/validate \
      -H "x-api-key: <anthropic-admin-api-key>" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" -d '{}'

    成功したレスポンスは次のようになります。

    { "type": "external_key_validation", "status": "success", "error": null }

    検証が失敗した場合、errorフィールドに問題の説明が表示されます。一般的な原因は次のとおりです。

    • RBAC伝播の遅延: ロールの割り当てが有効になるまで数分かかる場合があります。待ってから再試行してください。
    • ネットワークACLがAnthropicをブロックしている: 検証手順で説明したように、パブリックネットワークアクセスとipRulesを確認してください。
    • ワークロードIDに対する条件付きアクセスポリシー: テナントにサービスプリンシパルを対象とする条件付きアクセスポリシーがある場合は、Anthropicサービスプリンシパルを除外するか、Anthropicのエグレス範囲をポリシーのネームドロケーションに追加してください。
  7. 7

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

    キーが検証されたら、ワークスペースにアタッチして、そのワークスペースのデータに対してCMEKを有効にします。

    curl -sS -X POST https://api.anthropic.com/v1/organizations/workspaces/<workspace-id> \
      -H "x-api-key: <anthropic-admin-api-key>" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" \
      -d '{
        "external_key_id": "ekey_<id>"
      }'

Terraform

Infrastructure-as-Codeによるデプロイの場合、同じ手順がazurermおよびazureadプロバイダーにマッピングされます。

Was this page helpful?

  • 前提条件
  • Anthropicアプリ情報
  • 暗号化キーのセットアップ
  • Terraform