Google Cloud KMS für CMEK konfigurieren
Verwende Google Cloud KMS, um einen Verschlüsselungsschlüssel für deine Organisation bereitzustellen.
claude "/claude-api help me configure a customer-managed encryption key with Google Cloud KMS"Dieser Leitfaden führt durch die Konfiguration eines Google Cloud KMS-Schlüssels als customer-managed encryption key (CMEK) für deine Anthropic-Organisation.
Voraussetzungen
- Ein Google Cloud-Projekt mit aktivierter Abrechnung.
- Die aktivierte Cloud KMS API (
cloudkms.googleapis.com). - Berechtigungen zum Erstellen von KMS-Schlüsselbunden und -Schlüsseln sowie zum Festlegen der IAM-Richtlinie für diese (
roles/cloudkms.adminoder gleichwertig). - Ein Anthropic Admin-API-Key für deine Organisation.
- Die installierte und authentifizierte
gcloudCLI. - Aktivierte Cloud KMS Data Access-Audit-Logs für das Projekt (IAM & Admin > Audit Logs > Cloud Key Management Service, mit
DATA_READundDATA_WRITE). Diese sind standardmäßig deaktiviert; ohne sie erzeugen die Verschlüsselungs- und Entschlüsselungsvorgänge von Anthropic keine Einträge in Cloud Logging.
E-Mail-Adresse des Anthropic-Dienstkontos
Damit Anthropic deinen Verschlüsselungsschlüssel verwenden kann, musst du dem Dienstkonto von Anthropic einen Schlüssel geben, den es zum Verschlüsseln von Daten verwenden kann. Die E-Mail-Adresse des Dienstkontos für Anthropic CMEK lautet:
anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.comEinrichtung des Verschlüsselungsschlüssels
Einen Schlüsselbund erstellen oder auswählen
Überspringe diesen Schritt, wenn du bereits einen Schlüsselbund zur Wiederverwendung hast. Schlüsselbunde sind regional. Wähle einen Single-Region-US-Standort wie
us-east5, der zu der Anthropic-Geografie passt, die du konfigurierst. Multi-Region-Standorte wieusundglobalwerden nicht unterstützt.gcloud kms keyrings create <your-keyring-name> \ --project=<your-project-id> \ --location=<region>Den Krypto-Schlüssel erstellen
Erstelle einen symmetrischen Schlüssel mit dem Zweck
ENCRYPT_DECRYPT. Anthropic empfiehlt dringend HSM-Schutz: Cloud KMS HSM-Schlüssel sind FIPS 140-2 Level 3-validiert, und der Kostenunterschied gegenüber Software-Schlüsseln ist gering.gcloud kms keys create <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --purpose=encryption \ --protection-level=hsmFür Software-Schutz stattdessen lasse
--protection-level=hsmweg. Nichts anderes in diesem Leitfaden ändert sich.Du kannst den Schlüssel auch über die Google Cloud Console erstellen. Öffne den Schlüsselbund, klicke auf Create key, wähle Generated key, setze Zweck und Algorithmus auf symmetrisches Verschlüsseln und Entschlüsseln und wähle HSM unter der Schutzstufe.

Erstelle einen HSM-geschützten symmetrischen Verschlüsselungs-/Entschlüsselungsschlüssel. Dem Anthropic-Dienstkonto Zugriff auf den Schlüssel gewähren
Zwei IAM-Bindungen auf Schlüsselebene sind erforderlich. Beide sind auf den einzelnen Krypto-Schlüssel beschränkt, nicht projekt- oder schlüsselbundweit.
Verschlüsseln und Entschlüsseln, was Anthropic verwendet, um die Datenschlüssel zu verschlüsseln und zu entschlüsseln, die deine Workspace-Daten schützen (Envelope-Verschlüsselung):
gcloud kms keys add-iam-policy-binding <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypterViewer, für den Metadaten-Lesevorgang (
cryptoKeys.get), den Anthropic beim Start durchführt, um den Zweck und Algorithmus des Schlüssels zu validieren:gcloud kms keys add-iam-policy-binding <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \ --role=roles/cloudkms.viewerWähle in der Console den Schlüssel aus, öffne das Permissions-Panel, klicke auf Grant access und füge das Dienstkonto mit den Rollen Cloud KMS CryptoKey Encrypter/Decrypter und Cloud KMS Viewer hinzu. Stelle sicher, dass du dich auf der Berechtigungsseite des Schlüssels befindest, nicht auf der des Schlüsselbunds oder Projekts, damit die Gewährung nur auf diesen Schlüssel beschränkt ist.

Gewähre dem Anthropic-Dienstkonto beide Rollen, beschränkt auf den Schlüssel. Den vollständigen Schlüsselressourcennamen notieren
Diesen übergibst du an Anthropic, wenn du den Schlüssel registrierst. Das Format ist:
projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>Rufe ihn ab mit:
gcloud kms keys describe <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --format="value(name)"Öffne in der Console die Detailseite des Schlüssels und klicke auf Copy resource name.

Kopiere den vollständigen Ressourcennamen des Schlüssels aus dem Aktionsmenü.
Den Schlüssel bei Anthropic registrieren
Wie du den Schlüssel registrierst, hängt davon ab, welches Produkt du verwendest.
Den Schlüssel bei Anthropic registrieren
Erstelle eine externe Schlüsselkonfiguration über die Admin API, indem du den Ressourcennamen aus dem Schritt „Den vollständigen Schlüsselressourcennamen notieren“ unter „Einrichtung des Verschlüsselungsschlüssels“ verwendest.
client = anthropic.Anthropic() external_key = client.beta.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}")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.
client = anthropic.Anthropic() validation = client.beta.organization.external_keys.validate("ekey_<id>") print(f"status: {validation.status}") print(f"error: {validation.error}")Eine erfolgreiche Antwort sieht so aus:
{ "type": "external_key_validation", "status": "success", "error": null }Wenn die Validierung fehlschlägt, sind häufige Ursachen:
- VPC Service Controls: Wenn ein Service-Perimeter Cloud KMS in deinem Projekt schützt, füge Anthropic zu einer Zugriffsebene auf dem Perimeter hinzu (oder schließe das Projekt des Schlüssels aus), damit Anthropic den Schlüssel erreichen kann.
- Domänenbeschränkte Freigabe: Die Organisationsrichtlinie
constraints/iam.allowedPolicyMemberDomainskann die Bindung des Anthropic-Dienstkontos entfernen (siehe den vorherigen Hinweis). Bestätige, dass die Bindung vorhanden ist, mitgcloud kms keys get-iam-policy <your-key-name> --project=<your-project-id> --location=<region> --keyring=<your-keyring-name>. - Deaktivierte oder zerstörte Schlüsselversion: Bestätige, dass die primäre Version des Schlüssels aktiviert ist und nicht deaktiviert, zur Zerstörung vorgesehen oder zerstört ist.
Den Schlüssel an einen Workspace anhängen
Sobald der Schlüssel validiert ist, hänge ihn an einen neuen Workspace an, bevor du Anfragen an diesen Workspace sendest. Bei einem Workspace, der bereits Anfragen empfängt, kann es bis zu einem Tag dauern, bis der Schlüssel wirksam wird.
client = anthropic.Anthropic() workspace = client.beta.organization.workspaces.update( "<workspace-id>", external_key_id="ekey_<id>" ) print(f"id: {workspace.id}") print(f"external_key_id: {workspace.external_key_id}")
Terraform
Für Infrastructure-as-Code-Bereitstellungen werden dieselben Schritte auf den google-Provider mit den Ressourcen google_kms_key_ring, google_kms_crypto_key und google_kms_crypto_key_iam_member abgebildet.
Was this page helpful?