claude "/claude-api help me configure a customer-managed encryption key with Azure Key Vault"Esta guía explica cómo configurar una clave de Azure Key Vault como una clave de cifrado administrada por el cliente (CMEK) para tu organización de Anthropic.
Habilitar CMEK es permanente. Si tu clave de Key Vault se elimina o se deshabilita, Anthropic no puede recuperar los datos cifrados con ella. Revisa las advertencias y limitaciones antes de comenzar.
enableRbacAuthorization: true) y acceso de red pública permitido. Anthropic llama a tu vault a través del endpoint público del plano de datos; los endpoints privados no son compatibles.enablePurgeProtection: true) en el vault. Sin ella, una clave eliminada puede purgarse permanentemente durante la ventana de retención de eliminación temporal (soft-delete), causando una pérdida irreversible de tus datos protegidos por CMEK. La protección contra purga no se puede deshabilitar una vez habilitada.Application Administrator, Cloud Application Administrator, o un rol personalizado equivalente).az instalada y autenticada.AuditEvent a Log Analytics, una cuenta de almacenamiento o un event hub. Azure Key Vault no emite registros de auditoría del plano de datos (como KeyWrap, KeyUnwrap y KeyGet) de forma predeterminada, por lo que sin esto no obtienes un registro de auditoría de las operaciones de clave de Anthropic.Para que Anthropic use tu clave de cifrado, debes configurar un ID de aplicación multitenant de Anthropic y un nombre para mostrar. Esos valores son:
| Campo | Valor |
|---|---|
| ID de cliente de la app multitenant (EE. UU.) | 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 |
| Nombre para mostrar de la app | anthropic-cmek-client-us |
Usa únicamente este ID de cliente y nombre para mostrar publicados. Nunca confíes en un identificador proporcionado por correo electrónico, chat o cualquier canal de incorporación.
Otorga consentimiento a la aplicación multitenant de Anthropic
Esto crea una entidad de servicio en tu tenant de Entra para la aplicación cliente de CMEK de Anthropic. La aplicación no solicita permisos de Microsoft Graph; existe únicamente como un objetivo de federación para el acceso al plano de datos de Key Vault.
az ad sp create --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87De la salida, captura el campo id. Este es el ID de objeto de la entidad de servicio en tu tenant, que usas cuando asignas el rol RBAC.
{
"appId": "8635ae1a-3e5d-44e8-a4ed-e0f614466f87",
"displayName": "anthropic-cmek-client-us",
"id": "<sp-object-id>"
}Si la entidad de servicio ya existe en tu tenant (de un intento anterior u otra integración), az ad sp create termina con un error de "already exists". En su lugar, obtén su ID de objeto:
az ad sp show --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 --query id -o tsvEste paso no tiene equivalente en el Portal. Si no tienes la CLI de Azure instalada localmente, abre Cloud Shell desde la barra de navegación superior del Portal. Después de que el comando tenga éxito, puedes encontrar el ID de objeto de la entidad de servicio en Microsoft Entra ID > Enterprise applications borrando el filtro predeterminado de tipo de aplicación y buscando anthropic-cmek-client-us.

Crea una clave RSA en tu vault
Azure Key Vault no admite el envoltorio de claves simétricas, por lo que la clave debe ser RSA (de 3072 bits o más) con wrapKey y unwrapKey en sus operaciones permitidas.
az keyvault key create \
--vault-name <your-vault-name> \
--name <your-key-name> \
--kty RSA --size 3072 \
--ops wrapKey unwrapKeyPara claves respaldadas por HSM, usa --kty RSA-HSM (requiere un vault con SKU Premium). Las claves RSA protegidas por software son aceptables para esta integración.
Desde el Portal, abre tu Key Vault, selecciona Keys y luego Generate/Import. Establece el tipo de clave en RSA y el tamaño en 3072 o más. Para restringir la clave solo a envolver y desenvolver, abre la versión de la clave, desplázate hasta Permitted operations y desmarca todo excepto Wrap Key y Unwrap Key.


Otorga a la entidad de servicio de Anthropic acceso a tu clave
Asigna el rol Key Vault Crypto User a la entidad de servicio del primer paso, con alcance a la clave individual en lugar de a todo el 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>"El rol integrado Key Vault Crypto User otorga operaciones criptográficas de clave (cifrar, descifrar, envolver, desenvolver, firmar, verificar) más lectura de clave en su alcance asignado. La restricción --ops wrapKey unwrapKey que estableciste en la clave en el paso anterior limita aún más cuáles de esas operaciones pueden tener éxito contra esta clave, por lo que en la práctica Anthropic solo puede envolver y desenvolver.
Desde el Portal, abre la clave (no el vault), selecciona su pestaña Access control (IAM), haz clic en Add > Add role assignment, selecciona Key Vault Crypto User y asígnalo a la entidad de servicio anthropic-cmek-client-us.
Alternativa de vault dedicado: Microsoft recomienda un vault dedicado por aplicación con roles asignados a nivel del vault. Si aprovisionas un vault que contiene solo esta clave CMEK de Anthropic, puedes asignar el rol a nivel del vault en su lugar y el efecto es idéntico. Limita el alcance a la clave individual cuando la clave reside en un vault compartido.

Verifica la configuración de tu 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}"Confirma que:
rbac es true.purge es true. Si es false o null, habilita la protección contra purga en el vault antes de continuar. Sin ella, una clave eliminada temporalmente puede purgarse permanentemente durante la ventana de retención, haciendo que tus datos protegidos por CMEK sean irrecuperables.pub es "Enabled". Si es "Disabled", Anthropic no puede alcanzar el vault a través de su endpoint público del plano de datos y la validación falla.net es "Allow", o, si es "Deny", que ipRules incluya los rangos de salida de Anthropic (contacta a Anthropic para obtener la lista actual).uri es el URI del vault que usas cuando registras la clave.tenantId es el tenant que gobierna el vault. Usa este valor como tenant_id cuando registres la clave, no el tenant de tu suscripción actualmente activa (los dos pueden diferir en configuraciones entre tenants).Cómo registras la clave depende del producto que uses.
Registra la clave con Anthropic
Crea una configuración de clave externa a través de la 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>"
}
}'La respuesta contiene el ID de la clave externa:
{
"type": "external_key",
"id": "ekey_<id>",
"display_name": "<friendly-name>"
}Valida la clave
Activa un ciclo de cifrado y descifrado contra tu clave. Esto confirma que Anthropic puede autenticarse en tu tenant y realizar operaciones de envoltura y desenvoltura.
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 '{}'Una respuesta exitosa se ve así:
{ "type": "external_key_validation", "status": "success", "error": null }Si la validación falla, el campo error describe el problema. Las causas comunes son:
ipRules como se describe en el paso de verificación.Adjunta la clave a un workspace
Una vez que la clave esté validada, adjúntala a un workspace para habilitar CMEK para los datos de ese workspace.
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>"
}'Para implementaciones de infraestructura como código, los mismos pasos se corresponden con los proveedores azurerm y azuread.
Was this page helpful?