Добавление и привязка ключа шифрования с помощью Admin API
Создайте, проверьте и привяжите управляемый клиентом ключ шифрования с помощью трёх вызовов Admin API.
Эти вызовы работают на Claude Platform. На Claude Enterprise или Claude Platform on AWS следуйте инструкциям на странице настройки для вашей платформы.
Создание внешнего ключа выполняет то же, что и Add key в Claude Console, а его проверка — то же, что и Verify.
Перед началом работы
- «Customer-managed encryption keys» (ключи шифрования, управляемые клиентом), или CMEK, включены для вашей организации.
- У вас есть ключ Admin API. Примеры считывают его из
ANTHROPIC_API_KEY. - Вы создали свой ключ в AWS KMS, Google Cloud KMS или Azure Key Vault и сохранили значения, которые шаги настройки предлагают скопировать.
- У вас есть рабочее пространство, в котором хранятся данные, в идеале новое, поскольку существующие данные остаются зашифрованными ключом Anthropic.
Создание, проверка и привязка ключа
Создайте внешний ключ
Замените
<friendly-name>отображаемым именем, а<key-arn-from-create-key-step>— ARN ключа.Pythonclient = anthropic.Anthropic() external_key = client.organization.external_keys.create( display_name="<friendly-name>", geo="us", provider_config={"type": "aws", "kms_arn": "<key-arn-from-create-key-step>"}, ) print(f"id: {external_key.id}") print(f"display_name: {external_key.display_name}")Замените
<friendly-name>отображаемым именем. Замените значение, начинающееся сprojects/, полным именем ресурса ключа.Pythonclient = anthropic.Anthropic() external_key = client.organization.external_keys.create( display_name="<friendly-name>", geo="us", provider_config={ "type": "gcp", "key_name": "projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>", }, ) print(f"id: {external_key.id}") print(f"display_name: {external_key.display_name}")Замените заполнители:
<friendly-name>: отображаемое имяhttps://<your-vault-name>.vault.azure.net/: URI хранилища<your-key-name>: имя ключа<your-tenant-id>: идентификатор клиента (tenant ID) хранилища
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}")Значение
idв ответе — это идентификатор внешнего ключа. Скопируйте его для следующих двух шагов.{ "type": "external_key", "id": "ekey_<id>", "display_name": "<friendly-name>" }Проверьте ключ
Замените
ekey_<id>на идентификатор внешнего ключа.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 }Если
statusимеет значениеfailure, полеerrorуказывает причину. См. Устранение неполадок CMEK.Привяжите ключ к рабочему пространству
Замените
<workspace-id>на идентификатор рабочего пространства, который начинается сwrkspc_, аekey_<id>— на идентификатор внешнего ключа.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}")В ответе идентификатор привязанного ключа указан в поле
external_key_id. Если запрос отклонён, найдите описание ошибки.
Was this page helpful?