Claude Platform Docs
АдминистрированиеКлючи шифрования (CMEK)

Настройка Azure Key Vault для CMEK

Используйте Azure Key Vault для предоставления ключа шифрования для вашей организации.

Claude Code

Позвольте Claude Code настроить эту функцию за вас

/claude-api помоги мне настроить ключ шифрования, управляемый клиентом, с помощью Azure Key Vault

Это руководство описывает настройку ключа Azure Key Vault в качестве ключа шифрования, управляемого клиентом (customer-managed encryption key, CMEK) для вашей организации Anthropic.

Предварительные требования

  • Azure Key Vault с включённой авторизацией RBAC (enableRbacAuthorization: true) и разрешённым публичным сетевым доступом. Anthropic обращается к вашему хранилищу через публичную конечную точку плоскости данных; частные конечные точки не поддерживаются.
  • Включённая защита от очистки (enablePurgeProtection: true) в хранилище. Без неё удалённый ключ может быть безвозвратно очищен в течение периода хранения при мягком удалении, что приведёт к необратимой потере ваших данных, защищённых CMEK. Защиту от очистки нельзя отключить после включения.
  • Разрешения на создание ключей в хранилище и на назначение ролей RBAC для него.
  • Разрешения на создание субъектов-служб в вашем тенанте Entra (Application Administrator, Cloud Application Administrator или эквивалентная пользовательская роль).
  • Ключ Admin API Anthropic для вашей организации.
  • Установленный и аутентифицированный az CLI.
  • Диагностические настройки (Diagnostic Settings), настроенные в хранилище для маршрутизации категории журналов AuditEvent в Log Analytics, учётную запись хранилища или концентратор событий. Azure Key Vault по умолчанию не выдаёт журналы аудита плоскости данных (такие как KeyWrap, KeyUnwrap и KeyGet), поэтому без этого у вас не будет журнала аудита для операций Anthropic с ключами.

Информация о приложении Anthropic

Чтобы Anthropic использовал ваш ключ шифрования, вы должны настроить идентификатор мультитенантного приложения Anthropic и отображаемое имя. Эти значения:

ПолеЗначение
Идентификатор клиента мультитенантного приложения (US)8635ae1a-3e5d-44e8-a4ed-e0f614466f87
Отображаемое имя приложенияanthropic-cmek-client-us

Настройка ключа шифрования

  1. Согласие на мультитенантное приложение Anthropic

    Это создаёт субъект-службу в вашем тенанте Entra для клиентского приложения CMEK Anthropic. Приложение не запрашивает разрешений Microsoft Graph; оно существует исключительно как цель федерации для доступа к плоскости данных Key Vault.

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

    Из вывода захватите поле id. Это идентификатор объекта субъекта-службы в вашем тенанте, который вы используете при назначении роли RBAC.

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

    Если субъект-служба уже существует в вашем тенанте (из предыдущей попытки или другой интеграции), az ad sp create завершается с ошибкой «already exists». Вместо этого получите его идентификатор объекта:

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

    У этого шага нет эквивалента в Portal. Если у вас не установлен Azure CLI локально, откройте Cloud Shell из верхней панели навигации Portal. После успешного выполнения команды вы можете найти идентификатор объекта субъекта-службы в Microsoft Entra ID > Enterprise applications, очистив фильтр типа приложения по умолчанию и выполнив поиск anthropic-cmek-client-us.

    Обзор корпоративного приложения Microsoft Entra для anthropic-cmek-client-us, где показаны его Application ID и Object ID.

    Найдите Object ID субъекта-службы на обзоре его корпоративного приложения Entra.
  2. Создайте ключ RSA в вашем хранилище

    Azure Key Vault не поддерживает симметричное обёртывание ключей, поэтому ключ должен быть RSA (3072-бит или больше) с wrapKey и unwrapKey в разрешённых операциях.

    Опция --tags добавляет тег организации anthropic-org-<ORGANIZATION_UUID> со значением true, где <ORGANIZATION_UUID> — это идентификатор вашей организации Anthropic в нижнем регистре. Тег необходим для того, чтобы 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 (требуется хранилище с SKU Premium). Программно защищённые ключи RSA приемлемы для этой интеграции.

    Из Portal откройте ваш Key Vault, выберите Keys, затем Generate/Import. Установите тип ключа RSA и размер 3072 или больше. Чтобы ограничить ключ только обёртыванием и разворачиванием, откройте версию ключа, прокрутите до Permitted operations и снимите все флажки, кроме Wrap Key и Unwrap Key.

    На странице Create a key также добавьте тег организации в разделе Tags.

    Страница Create a key в Azure Key Vault с типом ключа RSA, размером ключа 3072 и тегом anthropic-org со значением true.

    Создайте ключ RSA размером 3072 или больше, с тегом anthropic-org-<ORGANIZATION_UUID>, установленным в true.

    Версия ключа Azure Key Vault с одним тегом и разделом Permitted operations, где оставлены только Wrap Key и Unwrap Key.

    Ограничьте разрешённые операции до Wrap Key и Unwrap Key. Версия ключа показывает тег организации.

    Чтобы использовать один ключ для нескольких организаций Anthropic, добавьте по одному такому тегу для каждой организации. Версия ключа может содержать не более 15 тегов, включая ваши собственные.

  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 откройте ключ (не хранилище), выберите его вкладку Access control (IAM), нажмите Add > Add role assignment, выберите Key Vault Crypto User и назначьте его субъекту-службе anthropic-cmek-client-us.

    Назначения ролей IAM в Key Vault: субъекту-службе anthropic-cmek-client-us назначена роль Key Vault Crypto User.

    Назначьте Key Vault Crypto User субъекту-службе Anthropic, ограниченному ключом.
  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 при регистрации ключа, а не тенант вашей текущей активной подписки (эти два могут различаться в межтенантных конфигурациях).

Зарегистрируйте ключ в 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 и подтвердите. Прикрепление ключа нельзя отменить. Для рабочего пространства, которое уже получает запросы, ключ может вступить в силу в течение суток.

Terraform

Для развёртываний инфраструктуры как кода те же шаги сопоставляются с провайдерами azurerm и azuread.

Was this page helpful?