Configurer Azure Key Vault pour CMEK
Utilisez Azure Key Vault pour fournir une clé de chiffrement à votre organisation.
Claude Code
Laissez Claude Code configurer cette fonctionnalité pour vous
/claude-api aide-moi à configurer une clé de chiffrement gérée par le client avec Azure Key VaultCe guide explique comment configurer une clé Azure Key Vault en tant que clé de chiffrement gérée par le client (CMEK) pour votre organisation Anthropic.
Prérequis
- Un Azure Key Vault avec l'autorisation RBAC activée (
enableRbacAuthorization: true) et l'accès réseau public autorisé. Anthropic appelle votre coffre via le point de terminaison public du plan de données ; les points de terminaison privés ne sont pas pris en charge. - La protection contre la purge activée (
enablePurgeProtection: true) sur le coffre. Sans elle, une clé supprimée peut être purgée définitivement pendant la fenêtre de rétention de suppression réversible, entraînant une perte irréversible de vos données protégées par CMEK. La protection contre la purge ne peut pas être désactivée une fois activée. - Les autorisations pour créer des clés dans le coffre et pour y attribuer des rôles RBAC.
- Les autorisations pour créer des principaux de service dans votre locataire Entra (
Application Administrator,Cloud Application Administrator, ou un rôle personnalisé équivalent). - Une clé API Admin Anthropic pour votre organisation.
- La CLI
azinstallée et authentifiée. - Des paramètres de diagnostic configurés sur le coffre pour acheminer la catégorie de journaux
AuditEventvers Log Analytics, un compte de stockage ou un hub d'événements. Azure Key Vault n'émet pas de journaux d'audit du plan de données (tels queKeyWrap,KeyUnwrapetKeyGet) par défaut, donc sans cela, vous n'obtenez aucune piste d'audit pour les opérations de clé d'Anthropic.
Informations sur l'application Anthropic
Pour qu'Anthropic utilise votre clé de chiffrement, vous devez configurer un ID d'application multilocataire Anthropic et un nom d'affichage. Ces valeurs sont :
| Champ | Valeur |
|---|---|
| ID client de l'application multilocataire (US) | 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 |
| Nom d'affichage de l'application | anthropic-cmek-client-us |
Configuration de la clé de chiffrement
Consentir à l'application multilocataire Anthropic
Cela crée un principal de service dans votre locataire Entra pour l'application cliente CMEK d'Anthropic. L'application ne demande aucune autorisation Microsoft Graph ; elle existe uniquement comme cible de fédération pour l'accès au plan de données de Key Vault.
az ad sp create --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87À partir de la sortie, capturez le champ
id. Il s'agit de l'ID d'objet du principal de service dans votre locataire, que vous utilisez lorsque vous attribuez le rôle RBAC.{ "appId": "8635ae1a-3e5d-44e8-a4ed-e0f614466f87", "displayName": "anthropic-cmek-client-us", "id": "<sp-object-id>" }Si le principal de service existe déjà dans votre locataire (à la suite d'une tentative précédente ou d'une autre intégration),
az ad sp createse termine avec une erreur « already exists ». Récupérez plutôt son ID d'objet :az ad sp show --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 --query id -o tsvCette étape n'a pas d'équivalent dans le Portail. Si vous n'avez pas la CLI Azure installée localement, ouvrez Cloud Shell depuis la barre de navigation supérieure du Portail. Une fois la commande réussie, vous pouvez trouver l'ID d'objet du principal de service dans Microsoft Entra ID > Applications d'entreprise en effaçant le filtre de type d'application par défaut et en recherchant
anthropic-cmek-client-us.
Trouvez l'Object ID (ID d'objet) du principal de service sur la vue d'ensemble de son application d'entreprise Entra. Créer une clé RSA dans votre coffre
Azure Key Vault ne prend pas en charge l'encapsulation de clés symétriques, donc la clé doit être RSA (3072 bits ou plus) avec
wrapKeyetunwrapKeydans ses opérations autorisées.L'option
--tagsajoute la balise d'organisation,anthropic-org-<ORGANIZATION_UUID>avec la valeurtrue, où<ORGANIZATION_UUID>est l'ID de votre organisation Anthropic en minuscules. La balise est requise pour qu'Anthropic valide la clé.az keyvault key create \ --vault-name <VAULT_NAME> \ --name <KEY_NAME> \ --kty RSA --size 3072 \ --ops wrapKey unwrapKey \ --tags anthropic-org-<ORGANIZATION_UUID>=truePour les clés protégées par HSM, utilisez
--kty RSA-HSM(nécessite un coffre de SKU Premium). Les clés RSA protégées par logiciel sont acceptables pour cette intégration.Depuis le Portail, ouvrez votre Key Vault, sélectionnez Keys, puis Generate/Import. Définissez le type de clé sur RSA et la taille sur 3072 ou plus. Pour restreindre la clé à l'encapsulation et au désencapsulation uniquement, ouvrez la version de la clé, faites défiler jusqu'à Permitted operations, et décochez tout sauf Wrap Key et Unwrap Key.
Sur la page Create a key, ajoutez également la balise d'organisation sous Tags.

Créez une clé RSA de taille 3072 ou plus, avec la balise anthropic-org-<ORGANIZATION_UUID> définie sur true. 
Restreignez les opérations autorisées à Wrap Key et Unwrap Key. La version de la clé affiche la balise d'organisation. Pour partager une clé entre plusieurs organisations Anthropic, ajoutez une telle balise pour chaque organisation. Une version de clé peut porter au maximum 15 balises, y compris les vôtres.
Accorder au principal de service Anthropic l'accès à votre clé
Attribuez le rôle
Key Vault Crypto Userau principal de service de la première étape, limité à la clé individuelle plutôt qu'à l'ensemble du coffre.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>"Le rôle intégré
Key Vault Crypto Useraccorde les opérations cryptographiques de clé (chiffrer, déchiffrer, encapsuler, désencapsuler, signer, vérifier) ainsi que la lecture de clé sur sa portée attribuée. La restriction--ops wrapKey unwrapKeyque vous avez définie sur la clé à l'étape précédente réduit davantage lesquelles de ces opérations peuvent réussir sur cette clé, donc en pratique Anthropic ne peut qu'encapsuler et désencapsuler.Depuis le Portail, ouvrez la clé (pas le coffre), sélectionnez son onglet Access control (IAM), cliquez sur Add > Add role assignment, sélectionnez Key Vault Crypto User, et attribuez-le au principal de service
anthropic-cmek-client-us.
Attribuez Key Vault Crypto User au principal de service Anthropic, limité à la clé. Vérifier la configuration de votre coffre
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}"Confirmez que :
rbacesttrue.purgeesttrue. S'il estfalseounull, activez la protection contre la purge sur le coffre avant de continuer. Sans elle, une clé supprimée de manière réversible peut être purgée définitivement pendant la fenêtre de rétention, rendant vos données protégées par CMEK irrécupérables.pubest"Enabled". S'il est"Disabled", Anthropic ne peut pas atteindre le coffre via son point de terminaison public du plan de données et la validation échoue.netest"Allow", ou, s'il est"Deny", queipRulesinclut les plages de sortie d'Anthropic (contactez Anthropic pour la liste actuelle).uriest l'URI du coffre que vous utilisez lorsque vous enregistrez la clé.tenantIdest le locataire qui régit le coffre. Utilisez cette valeur commetenant_idlorsque vous enregistrez la clé, pas le locataire de votre abonnement actuellement actif (les deux peuvent différer dans les configurations inter-locataires).
Enregistrer la clé auprès d'Anthropic
La manière dont vous enregistrez la clé dépend du produit que vous utilisez.
Vous pouvez configurer la clé dans la Claude Console ou via l'Admin API, avec le même résultat.
Enregistrer la clé auprès d'Anthropic
Dans la Claude Console, accédez à la page Data retention (
platform.claude.com/settings/privacy). Si vous ne voyez pas Encryption keys, sélectionnez Organization dans le menu déroulant en haut de la page. Sous Encryption keys, cliquez sur Add key. Saisissez un nom d'affichage, choisissez Azure Key Vault et cliquez sur Continue. Renseignez Vault URI, Key name et Tenant ID, puis cliquez sur Add.L'étape des détails de la clé affiche la balise d'organisation. Ajoutez-la à la clé, comme le décrit l'étape de création, avant de cliquer sur Add.
Valider la clé
Dans la liste Encryption keys, cliquez sur Verify à côté de la clé. Connected s'affiche lorsque la vérification réussit. En cas d'échec, un message en indique la raison.
Attacher la clé à un espace de travail
Dans la Claude Console, accédez à la page Data retention (
platform.claude.com/settings/privacy) et sélectionnez l'espace de travail dans le menu déroulant en haut de la page. Sous Encryption key, sélectionnez la clé, cliquez sur Save et confirmez. L'attachement d'une clé est irréversible. Pour un espace de travail qui reçoit déjà des requêtes, la clé peut mettre jusqu'à un jour pour prendre effet.
Enregistrer la clé auprès d'Anthropic
Créez une configuration de clé externe via l'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}")La réponse contient l'ID de la clé externe :
{ "type": "external_key", "id": "ekey_<id>", "display_name": "<friendly-name>" }Valider la clé
Déclenchez un aller-retour de chiffrement et de déchiffrement sur votre clé. Cela confirme qu'Anthropic peut s'authentifier auprès de votre locataire et effectuer des opérations d'encapsulation et de désencapsulation.
Pythonclient = anthropic.Anthropic() validation = client.organization.external_keys.validate("ekey_<id>") print(f"status: {validation.status}") print(f"error: {validation.error}")Une réponse réussie ressemble à ceci :
{ "type": "external_key_validation", "status": "success", "error": null }Si la validation échoue, le champ
errordécrit le problème. Les causes courantes sont :- Délai de propagation RBAC : les attributions de rôles peuvent prendre quelques minutes pour prendre effet. Attendez et réessayez.
- ACL réseau bloquant Anthropic : confirmez l'accès réseau public et
ipRulescomme décrit dans l'étape de vérification. - Politiques d'accès conditionnel sur les identités de charge de travail : si votre locataire a des politiques d'accès conditionnel qui ciblent les principaux de service, excluez le principal de service Anthropic ou ajoutez les plages de sortie d'Anthropic aux emplacements nommés de la politique.
Attacher la clé à un espace de travail
Une fois la clé validée, attachez-la à un nouvel espace de travail avant d'envoyer des requêtes à cet espace de travail. Pour un espace de travail qui reçoit déjà des requêtes, la clé peut prendre jusqu'à une journée pour prendre effet.
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}")
Dans claude.ai > Organization settings > Data and privacy, ouvrez Encryption keys, puis cliquez sur Add key. Choisissez Azure, entrez l'URI du coffre, le nom de la clé et l'ID du locataire de l'étape de vérification, et cliquez sur Continue. Anthropic valide la clé avec un aller-retour de chiffrement et de déchiffrement. Une fois qu'elle s'affiche comme vérifiée, votre organisation est protégée par CMEK à partir de ce moment.
Sur Claude Enterprise, CMEK s'applique à l'ensemble de l'organisation, il n'y a donc pas d'étape d'attachement d'espace de travail distincte, et une organisation ne peut avoir qu'une seule clé.
Terraform
Pour les déploiements d'infrastructure-as-code, les mêmes étapes correspondent aux fournisseurs azurerm et azuread.
Was this page helpful?