Kundenverwaltete Verschlüsselungsschlüssel (CMEK) für Sandboxes konfigurieren

Daten einer Sandbox im inaktiven Zustand mit einem Cloud Key Management Service-Schlüssel verschlüsseln, der Ihnen gehört und von Ihnen verwaltet wird.

Übersicht

Standardmäßig werden Ihre Daten im Ruhezustand mit Cloud de Confiance by S3NS verschlüsselt Google Cloud-powered encryption keys. Mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) können Sie einen Cloud Key Management Service-Verschlüsselungsschlüssel erstellen und verwalten, um seine Verwendung zu prüfen, ihn zu rotieren und ihn zu deaktivieren oder zu löschen, damit die geschützten Daten unlesbar werden.

In der Sandbox der Gemini Enterprise Agent Platform wird der Code, Browser oder benutzerdefinierte Container Ihres Agenten in einer isolierten Umgebung ausgeführt. In dieser Umgebung werden Kundendaten auf das Laufwerk geschrieben und können in Snapshots gespeichert werden. Diese werden durch CMEK geschützt, wenn Sie CMEK in der übergeordneten Gemini Enterprise Agent Platform-Instanz der Sandbox aktivieren.

Sie können CMEK für Gemini Enterprise Agent Platform-Sandboxes nur konfigurieren, wenn Sie die Gemini Enterprise Agent Platform-Instanz erstellen. Der CMEK-Schlüssel schützt die Gemini Enterprise Agent Platform-Instanz und ihre untergeordneten Ressourcen, einschließlich der Sandbox-Umgebungen, Vorlagen und Snapshots.

Was CMEK für die Sandbox verschlüsselt

Wenn Sie CMEK in der übergeordneten Gemini Enterprise Agent Platform-Instanz aktivieren, werden die Oberflächen der Sandbox im inaktiven Zustand mit Ihrem Schlüssel verschlüsselt:

  • GKE-Knoten-Bootlaufwerk / Root-Dateisystem:Dateien, die von der Sitzung zur Laufzeit geschrieben werden, und der im Arbeitsspeicher gespeicherte Zustand, der auf das Laufwerk ausgelagert wird (CMEK für das Knoten-Bootlaufwerk).
  • Cloud Storage-Bucket für Snapshots:Laufwerk- und Arbeitsspeicher-Checkpoints einer Sandbox (Snapshots) (Standardverschlüsselung für Buckets).

Ressourcenmetadaten (Namen, Labels, Status, Verbindungsinformationen) sowie Umgebungsvariablen und E-Mail-Adressen von Dienstkonten werden nicht mit dem CMEK-Schlüssel verschlüsselt.

Wenn Sie benutzerdefinierte Container-Images verschlüsseln möchten, legen Sie CMEK für Ihr eigenes Artifact Registry-Repository fest.

Einschränkungen und Überlegungen

  • Für CMEK in der Gemini Enterprise Agent Platform werden nur Schlüssel mit einer einzelnen Region unterstützt. Schlüssel mit mehreren Regionen, zwei Regionen und globale Schlüssel werden nicht unterstützt.
  • Der Schlüssel ist unveränderlich, wenn Sie die Gemini Enterprise Agent Platform-Instanz erstellen. Wenn Sie einen anderen Schlüssel verwenden möchten, müssen Sie eine neue Gemini Enterprise Agent Platform-Instanz erstellen. Die Rotation zu neuen Versionen desselben Schlüssels wird unterstützt und automatisch angewendet.
  • Wenn Sie die Schlüsselversion deaktivieren oder löschen oder die Rolle „Verschlüsseler/Entschlüsseler“ widerrufen, können keine Sandboxes bereitgestellt oder fortgesetzt werden und Snapshot-Schreibvorgänge schlagen fehl. Stellen Sie den Schlüsselzugriff wieder her, um die Sandbox-Ressourcen wiederherzustellen.

Hinweis

  • Sie benötigen einen Cloud Key Management Service-Schlüsselbund und einen Schlüssel. Bewahren Sie Schlüssel am besten in einem separaten Projekt von Ihren Gemini Enterprise Agent Platform-Arbeitslasten auf, das von einem anderen Administrator verwaltet wird.
  • Prüfen Sie, ob Sie die Rollen zum Erstellen und Verwalten von Schlüsseln (roles/cloudkms.admin) und zum Erstellen der Gemini Enterprise Agent Platform-Instanz haben.
  • Erstellen Sie einen Dienst-Agent für die Agent Runtime, falls noch nicht geschehen:

    # Create the service agent if needed
    gcloud beta services identity create \
        --service=aiplatform.googleapis.com \
        --project=PROJECT_ID
    

Cloud Key Management Service-Schlüssel erstellen

Erstellen Sie einen Schlüssel mit einer einzelnen Region in derselben Region wie Ihre Gemini Enterprise Agent Platform-Instanz:

# Key ring (once per region)
gcloud kms keyrings create sandbox-keyring \
    --location=REGION

# Key
gcloud kms keys create sandbox-key \
    --location=REGION \
    --keyring=sandbox-keyring \
    --purpose=encryption

Ersetzen Sie Folgendes:

  • REGION: Die Cloud de Confiance Region Ihrer Gemini Enterprise Agent Platform-Instanz (z. B. us-central1).

Dienst-Agent der Agent Platform Zugriff auf Ihren Schlüssel gewähren

Weisen Sie dem Dienst-Agent der Agent Runtime die Cloud Key Management Service-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel zu:

# Grant Encrypter/Decrypter on the key
gcloud kms keys add-iam-policy-binding sandbox-key \
    --location=REGION \
    --keyring=sandbox-keyring \
    --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform-re.s3ns-system.iam.gserviceaccount.com" \
    --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"

Ersetzen Sie Folgendes:

  • PROJECT_NUMBER: Ihre Cloud de Confiance by S3NS Projektnummer.

CMEK in der Agent Platform-Instanz aktivieren

Legen Sie encryption_spec.kms_key_name fest, wenn Sie die Gemini Enterprise Agent Platform-Instanz erstellen. Jede Sandbox-Vorlage und jede Sandbox, die Sie darunter erstellen, erbt diesen Schlüssel.

Python SDK

import vertexai

client = vertexai.Client(project="PROJECT_ID", location="REGION",
                        http_options={"api_version": "v1beta1"})
agent_instance = client.agent_engines.create(
    config={
        "encryption_spec": {
            "kms_key_name":
                "projects/PROJECT_ID/locations/REGION/keyRings/sandbox-keyring/cryptoKeys/sandbox-key"
        }
    },
)

REST

Legen Sie mit der REST API beim Erstellen denselben Wert für reasoningEngines.encryptionSpec.kmsKeyName fest:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines \
  -d '{
    "display_name": "cmek-protected-engine",
    "encryption_spec": {
      "kms_key_name": "projects/PROJECT_ID/locations/REGION/keyRings/sandbox-keyring/cryptoKeys/sandbox-key"
    }
  }'

Sandbox erstellen und CMEK-Konfiguration prüfen

  1. Erstellen Sie Ihre Sandbox-Vorlage und Sandbox in der CMEK-geschützten Gemini Enterprise Agent Platform-Instanz.
  2. Prüfen Sie, ob die Gemini Enterprise Agent Platform-Instanz Ihren Schlüssel in encryption_spec.kms_key_name meldet, indem Sie die Instanzdetails abrufen.
  3. Optional können Sie in den Cloud Key Management Service-Audit-Logs prüfen, ob Verschlüsselungs- und Entschlüsselungsvorgänge stattfinden, wenn Sandboxes gestartet und Snapshots geschrieben werden.

Nächste Schritte