claude "/claude-api help me configure a customer-managed encryption key with Azure Key Vault"Diese Anleitung führt dich durch die Konfiguration eines Azure Key Vault-Schlüssels als „customer-managed encryption key" (kundenverwalteter Verschlüsselungsschlüssel), oder CMEK, für deine Anthropic-Organisation.
Das Aktivieren von CMEK ist dauerhaft. Wenn dein Key Vault-Schlüssel gelöscht oder deaktiviert wird, kann Anthropic die damit verschlüsselten Daten nicht wiederherstellen. Lies die Warnungen und Einschränkungen, bevor du beginnst.
enableRbacAuthorization: true) und zugelassenem öffentlichem Netzwerkzugriff. Anthropic ruft deinen Vault über den öffentlichen Data-Plane-Endpunkt auf; private Endpunkte werden nicht unterstützt.enablePurgeProtection: true) auf dem Vault. Ohne diesen kann ein gelöschter Schlüssel während des Soft-Delete-Aufbewahrungszeitraums dauerhaft bereinigt werden, was zu einem unwiderruflichen Verlust deiner CMEK-geschützten Daten führt. Der Löschschutz kann nach der Aktivierung nicht mehr deaktiviert werden.Application Administrator, Cloud Application Administrator oder eine gleichwertige benutzerdefinierte Rolle).az-CLI installiert und authentifiziert.AuditEvent an Log Analytics, ein Speicherkonto oder einen Event Hub weiterzuleiten. Azure Key Vault gibt standardmäßig keine Data-Plane-Überwachungsprotokolle aus (wie KeyWrap, KeyUnwrap und KeyGet), sodass du ohne diese Einstellung keinen Audit-Trail für die Schlüsseloperationen von Anthropic erhältst.Damit Anthropic deinen Verschlüsselungsschlüssel verwenden kann, musst du eine mandantenfähige Anwendungs-ID und einen Anzeigenamen von Anthropic konfigurieren. Diese Werte sind:
| Feld | Wert |
|---|---|
| Mandantenfähige App-Client-ID (US) | 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 |
| App-Anzeigename | anthropic-cmek-client-us |
Verwende ausschließlich diese veröffentlichte Client-ID und diesen Anzeigenamen. Vertraue niemals einem Bezeichner, der per E-Mail, Chat oder über einen Onboarding-Kanal bereitgestellt wird.
Der mandantenfähigen Anthropic-Anwendung zustimmen
Dies erstellt einen Dienstprinzipal in deinem Entra-Mandanten für die CMEK-Client-Anwendung von Anthropic. Die Anwendung fordert keine Microsoft Graph-Berechtigungen an; sie existiert ausschließlich als Föderationsziel für den Key Vault-Data-Plane-Zugriff.
az ad sp create --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87Erfasse aus der Ausgabe das Feld id. Dies ist die Objekt-ID des Dienstprinzipals in deinem Mandanten, die du beim Zuweisen der RBAC-Rolle verwendest.
{
"appId": "8635ae1a-3e5d-44e8-a4ed-e0f614466f87",
"displayName": "anthropic-cmek-client-us",
"id": "<sp-object-id>"
}Wenn der Dienstprinzipal bereits in deinem Mandanten existiert (von einem früheren Versuch oder einer anderen Integration), beendet sich az ad sp create mit einem „already exists"-Fehler. Rufe stattdessen seine Objekt-ID ab:
az ad sp show --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 --query id -o tsvFür diesen Schritt gibt es keine Entsprechung im Portal. Wenn du die Azure CLI nicht lokal installiert hast, öffne Cloud Shell über die obere Navigationsleiste des Portals. Nachdem der Befehl erfolgreich ausgeführt wurde, findest du die Objekt-ID des Dienstprinzipals unter Microsoft Entra ID > Unternehmensanwendungen, indem du den Standardfilter für den Anwendungstyp entfernst und nach anthropic-cmek-client-us suchst.

Einen RSA-Schlüssel in deinem Vault erstellen
Azure Key Vault unterstützt kein symmetrisches Key Wrapping, daher muss der Schlüssel RSA (3072 Bit oder größer) sein und wrapKey sowie unwrapKey in seinen zulässigen Operationen enthalten.
az keyvault key create \
--vault-name <your-vault-name> \
--name <your-key-name> \
--kty RSA --size 3072 \
--ops wrapKey unwrapKeyFür HSM-gestützte Schlüssel verwende --kty RSA-HSM (erfordert einen Vault mit Premium-SKU). Softwaregeschützte RSA-Schlüssel sind für diese Integration akzeptabel.
Öffne im Portal deinen Key Vault, wähle Schlüssel und dann Generieren/Importieren. Setze den Schlüsseltyp auf RSA und die Größe auf 3072 oder größer. Um den Schlüssel auf Wrap und Unwrap zu beschränken, öffne die Schlüsselversion, scrolle zu Zulässige Vorgänge und deaktiviere alles außer Schlüssel packen und Schlüssel entpacken.


Dem Anthropic-Dienstprinzipal Zugriff auf deinen Schlüssel gewähren
Weise dem Dienstprinzipal aus dem ersten Schritt die Rolle Key Vault Crypto User zu, beschränkt auf den einzelnen Schlüssel statt auf den gesamten 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>"Die integrierte Rolle Key Vault Crypto User gewährt kryptografische Schlüsseloperationen (Verschlüsseln, Entschlüsseln, Wrap, Unwrap, Signieren, Verifizieren) sowie Lesezugriff auf Schlüssel im zugewiesenen Bereich. Die Einschränkung --ops wrapKey unwrapKey, die du im vorherigen Schritt auf dem Schlüssel gesetzt hast, schränkt weiter ein, welche dieser Operationen für diesen Schlüssel erfolgreich sein können, sodass Anthropic in der Praxis nur Wrap und Unwrap ausführen kann.
Öffne im Portal den Schlüssel (nicht den Vault), wähle die Registerkarte Zugriffssteuerung (IAM), klicke auf Hinzufügen > Rollenzuweisung hinzufügen, wähle Key Vault Crypto User und weise sie dem Dienstprinzipal anthropic-cmek-client-us zu.
Alternative mit dediziertem Vault: Microsoft empfiehlt einen dedizierten Vault pro Anwendung mit Rollenzuweisungen auf Vault-Ebene. Wenn du einen Vault bereitstellst, der nur diesen Anthropic-CMEK-Schlüssel enthält, kannst du die Rolle stattdessen auf Vault-Ebene zuweisen, und die Wirkung ist identisch. Beschränke den Bereich auf den einzelnen Schlüssel, wenn sich der Schlüssel in einem gemeinsam genutzten Vault befindet.

Deine Vault-Konfiguration überprüfen
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}"Bestätige, dass:
rbac den Wert true hat.purge den Wert true hat. Wenn der Wert false oder null ist, aktiviere den Löschschutz auf dem Vault, bevor du fortfährst. Ohne diesen kann ein vorläufig gelöschter Schlüssel während des Aufbewahrungszeitraums dauerhaft bereinigt werden, wodurch deine CMEK-geschützten Daten nicht wiederherstellbar werden.pub den Wert "Enabled" hat. Wenn der Wert "Disabled" ist, kann Anthropic den Vault nicht über seinen öffentlichen Data-Plane-Endpunkt erreichen, und die Validierung schlägt fehl.net den Wert "Allow" hat, oder, falls der Wert "Deny" ist, dass ipRules die Egress-Bereiche von Anthropic enthalten (kontaktiere Anthropic für die aktuelle Liste).uri die Vault-URI ist, die du beim Registrieren des Schlüssels verwendest.tenantId der Mandant ist, der den Vault verwaltet. Verwende diesen Wert als tenant_id beim Registrieren des Schlüssels, nicht den Mandanten deines aktuell aktiven Abonnements (die beiden können sich in mandantenübergreifenden Setups unterscheiden).Den Schlüssel bei Anthropic registrieren
Erstelle eine externe Schlüsselkonfiguration über die 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>"
}
}'Die Antwort enthält die externe Schlüssel-ID:
{
"type": "external_key",
"id": "ekey_<id>",
"display_name": "<friendly-name>"
}Den Schlüssel validieren
Löse einen Verschlüsselungs- und Entschlüsselungs-Roundtrip gegen deinen Schlüssel aus. Dies bestätigt, dass Anthropic sich bei deinem Mandanten authentifizieren und Wrap- und Unwrap-Operationen durchführen kann.
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 '{}'Eine erfolgreiche Antwort sieht so aus:
{ "type": "external_key_validation", "status": "success", "error": null }Wenn die Validierung fehlschlägt, beschreibt das Feld error das Problem. Häufige Ursachen sind:
ipRules wie im Überprüfungsschritt beschrieben.Den Schlüssel an einen Workspace anhängen
Sobald der Schlüssel validiert ist, hänge ihn an einen Workspace an, um CMEK für die Daten dieses Workspaces zu aktivieren.
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>"
}'Für Infrastructure-as-Code-Bereitstellungen lassen sich dieselben Schritte auf die Provider azurerm und azuread abbilden.
Was this page helpful?