claude "/claude-api help me configure a customer-managed encryption key with Azure Key Vault"Esta guía te explica cómo configurar una clave de Azure Key Vault como una "customer-managed encryption key" (clave de cifrado gestionada por el cliente), o CMEK, para tu organización de Anthropic.
Habilitar CMEK es permanente. Si tu clave de Key Vault se elimina o 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 almacén a través del punto de conexión público del plano de datos; los puntos de conexión privados no son compatibles.enablePurgeProtection: true) en el almacén. Sin ella, una clave eliminada puede purgarse permanentemente durante el período de retención de eliminación temporal, lo que causa la 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 centro de eventos. 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 ningún 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 multiinquilino de Anthropic y un nombre para mostrar. Esos valores son:
| Campo | Valor |
|---|---|
| ID de cliente de la aplicación multiinquilino (EE. UU.) | 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 |
| Nombre para mostrar de la aplicación | 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.
Dar consentimiento a la aplicación multiinquilino de Anthropic
Esto crea una entidad de servicio en tu inquilino de Entra para la aplicación cliente de CMEK de Anthropic. La aplicación no solicita permisos de Microsoft Graph; existe únicamente como destino 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 inquilino, que usarás cuando asignes 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 inquilino (de un intento anterior u otra integración), az ad sp create finaliza 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. Una vez que el comando se ejecute correctamente, puedes encontrar el ID de objeto de la entidad de servicio en Microsoft Entra ID > Enterprise applications quitando el filtro predeterminado de tipo de aplicación y buscando anthropic-cmek-client-us.

Crear una clave RSA en tu almacén
Azure Key Vault no admite el encapsulado 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 almacén con SKU Premium). Las claves RSA protegidas por software son aceptables para esta integración.
Conceder 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 ámbito en la clave individual en lugar de todo el almacén.
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>"Verificar la configuración de tu almacén
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 almacén antes de continuar. Sin ella, una clave eliminada temporalmente puede purgarse permanentemente durante el período de retención, lo que hace que tus datos protegidos por CMEK sean irrecuperables.Registrar 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>"
}
}'Validar la clave
Activa un ciclo completo de cifrado y descifrado contra tu clave. Esto confirma que Anthropic puede autenticarse en tu inquilino y realizar operaciones de encapsulado y desencapsulado.
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 correcta tiene este aspecto:
{ "type": "external_key_validation", "status": "success", "error": null }Adjuntar la clave a un espacio de trabajo
Una vez validada la clave, adjúntala a un espacio de trabajo para habilitar CMEK para los datos de ese espacio de trabajo.
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?
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 encapsular y desencapsular, abre la versión de la clave, desplázate hasta Permitted operations y desmarca todo excepto Wrap Key y Unwrap Key.


El rol integrado Key Vault Crypto User concede operaciones criptográficas de clave (cifrar, descifrar, encapsular, desencapsular, firmar, verificar) además de lectura de clave en su ámbito 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 ejecutarse correctamente contra esta clave, por lo que en la práctica Anthropic solo puede encapsular y desencapsular.
Desde el Portal, abre la clave (no el almacén), 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 almacén dedicado: Microsoft recomienda un almacén dedicado por aplicación con roles asignados en el ámbito del almacén. Si aprovisionas un almacén que contiene únicamente esta clave CMEK de Anthropic, puedes asignar el rol en el ámbito del almacén y el efecto es idéntico. Usa el ámbito de la clave individual cuando la clave resida en un almacén compartido.

pub es "Enabled". Si es "Disabled", Anthropic no puede acceder al almacén a través de su punto de conexión 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 almacén que usas cuando registras la clave.tenantId es el inquilino que gobierna el almacén. Usa este valor como tenant_id cuando registres la clave, no el inquilino de tu suscripción actualmente activa (los dos pueden diferir en configuraciones entre inquilinos).La respuesta contiene el ID de la clave externa:
{
"type": "external_key",
"id": "ekey_<id>",
"display_name": "<friendly-name>"
}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.