Настройка 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 для вашей организации.
- Установленный и аутентифицированный
azCLI. - Диагностические настройки (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 |
Настройка ключа шифрования
Согласие на мультитенантное приложение 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.
Найдите Object ID субъекта-службы на обзоре его корпоративного приложения Entra. Создайте ключ 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.

Создайте ключ RSA размером 3072 или больше, с тегом anthropic-org-<ORGANIZATION_UUID>, установленным в true. 
Ограничьте разрешённые операции до Wrap Key и Unwrap Key. Версия ключа показывает тег организации. Чтобы использовать один ключ для нескольких организаций Anthropic, добавьте по одному такому тегу для каждой организации. Версия ключа может содержать не более 15 тегов, включая ваши собственные.
Предоставьте субъекту-службе 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.
Назначьте Key Vault Crypto User субъекту-службе Anthropic, ограниченному ключом. Проверьте конфигурацию вашего хранилища
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 с одинаковым результатом.
Зарегистрируйте ключ в 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.
Проверьте ключ
В списке Encryption keys нажмите Verify рядом с ключом. При успешной проверке появляется Connected. Если проверка не пройдена, сообщение укажет причину.
Прикрепите ключ к рабочему пространству
В Claude Console перейдите на страницу Data retention (
platform.claude.com/settings/privacy) и выберите рабочее пространство в раскрывающемся меню в верхней части страницы. В разделе Encryption key выберите ключ, нажмите Save и подтвердите. Прикрепление ключа нельзя отменить. Для рабочего пространства, которое уже получает запросы, ключ может вступить в силу в течение суток.
Зарегистрируйте ключ в Anthropic
Создайте конфигурацию внешнего ключа через Admin API.
Pythonclient = anthropic.Anthropic() external_key = client.organization.external_keys.create( 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>", }, ) print(f"id: {external_key.id}") print(f"display_name: {external_key.display_name}")Ответ содержит идентификатор внешнего ключа:
{ "type": "external_key", "id": "ekey_<id>", "display_name": "<friendly-name>" }Проверьте ключ
Запустите цикл шифрования и дешифрования с вашим ключом. Это подтверждает, что Anthropic может аутентифицироваться в вашем тенанте и выполнять операции обёртывания и разворачивания.
Pythonclient = anthropic.Anthropic() validation = client.organization.external_keys.validate("ekey_<id>") print(f"status: {validation.status}") print(f"error: {validation.error}")Успешный ответ выглядит так:
{ "type": "external_key_validation", "status": "success", "error": null }Если проверка не удаётся, поле
errorописывает проблему. Распространённые причины:- Задержка распространения RBAC: назначения ролей могут вступать в силу через несколько минут. Подождите и повторите попытку.
- Сетевые ACL, блокирующие Anthropic: подтвердите публичный сетевой доступ и
ipRules, как описано в шаге проверки. - Политики условного доступа для рабочих идентификаторов: если в вашем тенанте есть политики условного доступа, нацеленные на субъекты-службы, исключите субъект-службу Anthropic или добавьте диапазоны исходящего трафика Anthropic в именованные местоположения политики.
Прикрепите ключ к рабочему пространству
После проверки ключа прикрепите его к новому рабочему пространству, прежде чем отправлять какие-либо запросы в это рабочее пространство. Для рабочего пространства, которое уже получает запросы, ключ может вступить в силу в течение дня.
Pythonclient = anthropic.Anthropic() workspace = client.organization.workspaces.update( "<workspace-id>", external_key_id="ekey_<id>" ) print(f"id: {workspace.id}") print(f"external_key_id: {workspace.external_key_id}")
В claude.ai > Organization settings > Data and privacy откройте Encryption keys, затем нажмите Add key. Выберите Azure, введите URI хранилища, имя ключа и идентификатор тенанта из шага проверки и нажмите Continue. Anthropic проверяет ключ с помощью цикла шифрования и дешифрования. Как только он отображается как проверенный, ваша организация защищена CMEK с этого момента.
В Claude Enterprise CMEK применяется ко всей организации, поэтому нет отдельного шага прикрепления к рабочему пространству, и организация может иметь только один ключ.
Terraform
Для развёртываний инфраструктуры как кода те же шаги сопоставляются с провайдерами azurerm и azuread.
Was this page helpful?