Claude Platform Docs
AdminVerschlüsselungsschlüssel

Google Cloud KMS für CMEK konfigurieren

Verwende Google Cloud KMS, um einen Verschlüsselungsschlüssel für deine Organisation bereitzustellen.

Configure with the /claude-api skill in Claude Code
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.admin oder gleichwertig).
  • Ein Anthropic Admin-API-Key für deine Organisation.
  • Die installierte und authentifizierte gcloud CLI.
  • Aktivierte Cloud KMS Data Access-Audit-Logs für das Projekt (IAM & Admin > Audit Logs > Cloud Key Management Service, mit DATA_READ und DATA_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.com

Einrichtung des Verschlüsselungsschlüssels

  1. 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 wie us und global werden nicht unterstützt.

    gcloud kms keyrings create <your-keyring-name> \
      --project=<your-project-id> \
      --location=<region>
  2. 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=hsm

    Für Software-Schutz stattdessen lasse --protection-level=hsm weg. 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.

    Google Cloud KMS Create key-Seite mit HSM-Schutzstufe und einem Symmetric encrypt/decrypt-Zweck.
    Erstelle einen HSM-geschützten symmetrischen Verschlüsselungs-/Entschlüsselungsschlüssel.
  3. 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.cryptoKeyEncrypterDecrypter

    Viewer, 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.viewer

    Wä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.

    Grant access-Dialog mit dem Anthropic-Dienstkonto, dem die Rollen Cloud KMS CryptoKey Encrypter/Decrypter und Viewer zugewiesen sind.
    Gewähre dem Anthropic-Dienstkonto beide Rollen, beschränkt auf den Schlüssel.
  4. 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.

    Google Cloud-Schlüsselbunddetails mit der hervorgehobenen Copy resource name-Aktion im Aktionsmenü des Schlüssels.
    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.

  1. 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>"
    }
  2. 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.allowedPolicyMemberDomains kann die Bindung des Anthropic-Dienstkontos entfernen (siehe den vorherigen Hinweis). Bestätige, dass die Bindung vorhanden ist, mit gcloud 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.
  3. 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?