Vom Kunden verwaltete Verschlüsselungsschlüssel aktivieren

Auf dieser Seite wird gezeigt, wie Sie in Repositories gespeicherte Inhalte mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) verschlüsseln.

Übersicht

In Artifact Registry werden inaktive Kundeninhalte standardmäßig verschlüsselt. Die Verschlüsselung wird von Artifact Registry durchgeführt. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option wird Google-Standardverschlüsselung genannt.

Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Artifact Registry verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu steuern und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.

Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Artifact Registry-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).

CMEK mit Cloud KMS Autokey

Sie können CMEKs manuell erstellen, um Ihre Artifact Registry-Ressourcen zu schützen, oder dazu Cloud KMS Autokey verwenden. Mit Autokey werden Schlüsselringe und Schlüssel bei der Ressourcenerstellung in der Artifact Registry auf Anfrage generiert. Dienst-Agenten, die die Schlüssel für Verschlüsselungs- und Entschlüsselungsvorgänge verwenden, werden erstellt, falls sie noch nicht vorhanden sind, und erhalten dann die erforderlichen IAM-Rollen (Identity and Access Management). Weitere Informationen finden Sie unter Übersicht: Autokey.

Informationen zum manuellen Einrichten von CMEK finden Sie unter Schlüssel erstellen und Berechtigungen gewähren.

Informationen zum Einrichten von CMEK mit Autokey finden Sie auf dieser Seite unter Schlüssel mit Autokey erstellen.

Sie weisen einen CMEK-Schlüssel beim Erstellen eines Repositorys zu. Der Verschlüsselungsmechanismus eines vorhandenen Repositories kann nicht mehr geändert werden. Für ein mit CMEK verschlüsseltes Repository lässt sich also der Verschlüsselungsmechanismus nicht in die Verwendung eines Verschlüsselungsschlüssels (GMEK), der auf Google Cloud basiert, ändern und es kann auch kein anderer Cloud KMS-Schlüssel für die Verschlüsselung zugewiesen werden.

Weitere allgemeine Informationen zu CMEK einschließlich ihrer Aktivierung finden Sie in der CMEK-Übersicht.

Schlüssel erstellen und Berechtigungen gewähren

In der folgenden Anleitung wird erläutert, wie Sie einen Schlüssel für ein Repository erstellen und Berechtigungen zum Ver- und Entschlüsseln von Repository-Daten mit dem Schlüssel gewähren. Sie können einen Schlüssel verwenden, der direkt in Cloud KMS erstellt wurde, oder einen extern verwalteten Schlüssel, den Sie mit Cloud External Key Manager zur Verfügung stellen.

  1. Im Projekt Google Cloud , in dem Sie Ihre Schlüssel verwalten möchten:

    1. Aktivieren Sie die Cloud KMS API.

    2. Erstellen Sie einen Schlüsselbund und einen Schlüssel mit einer der folgenden Optionen:

      Der Speicherort des Cloud KMS-Schlüssels muss mit dem Speicherort des Repositorys übereinstimmen, das Sie verschlüsseln möchten.

  2. Wenn Sie im Artifact Registry-Projekt noch kein Repository erstellt haben, ist das Artifact Registry-Dienstkonto noch nicht vorhanden. Um das Dienstkonto zu erstellen, führen Sie den folgenden Befehl aus:

    gcloud beta services identity create --service=artifactregistry.googleapis.com --project=PROJECT
    

    Ersetzen Sie dabei PROJECT durch die ID des Projekts, in dem Artifact Registry ausgeführt wird.

  3. Weisen Sie dem Artifact Registry-Dienstkonto die IAM-Rolle „CryptoKey-Verschlüsseler/Entschlüsseler“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) zu. Erteilen Sie diese Berechtigung für den von Ihnen erstellten Schlüssel.

    Console

    1. Rufen Sie die Seite "Kryptografische Schlüssel" auf.

      Zur Cloud KMS-Seite

    2. Wählen Sie den erstellten Schlüssel aus.

    3. Gewähren Sie Zugriff auf das Artifact Registry-Dienstkonto:

      1. Wählen Sie INFOFELD ZEIGEN aus.
      2. Klicken Sie auf MITGLIED HINZUFÜGEN.
      3. Fügen Sie das Artifact Registry-Dienstkonto hinzu. Das Dienstkonto lautet service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com, wobei PROJECT-NUMBER die Projektnummer des Google Cloud Projekts ist, in dem Artifact Registry ausgeführt wird.
      4. Wählen Sie unter Rolle auswählen Cloud KMS > Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.
      5. Klicken Sie auf SPEICHERN.
    4. Wiederholen Sie den vorherigen Schritt, um dem Konto, in dem Repositories erstellt werden sollen, Zugriff zu gewähren.

    5. Kehren Sie zur Seite Schlüsselverwaltung zurück und wählen Sie den Schlüssel noch einmal aus.

    6. Wählen Sie das Optionsfeld Infofeld ansehen aus. In der Spalte Rolle/Mitglied sollten die Rollen angezeigt werden.

    gcloud

    1. Führen Sie den folgenden Befehl aus, um dem Artifact Registry-Dienstkonto Zugriff zu gewähren:

      gcloud kms keys add-iam-policy-binding [--project=PROJECT] \
             KEY --location LOCATION --keyring=KEYRING \
             --member serviceAccount:service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com \
             --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Wo

      • PROJECT ist die ID des Projekts, das den Schlüssel enthält.
      • KEY ist der Schlüsselname.
      • LOCATION ist der Speicherort des Schlüssels. Der Schlüsselspeicherort muss mit dem Speicherort des Repositorys übereinstimmen, das Sie verschlüsseln möchten.
      • KEYRING ist der Schlüsselbundname.
      • PROJECT-NUMBER ist die Projektnummer des Google Cloud Projekts, in dem Artifact Registry ausgeführt wird.
    2. Wiederholen Sie den vorherigen Schritt, um dem Konto Zugriff zu gewähren, in dem Repositories erstellt werden sollen.

    Weitere Informationen zu diesem Befehl finden Sie in der Dokumentation zu gcloud kms keys add-iam-policy-binding.

Erstellen Sie als Nächstes ein Repository und geben Sie den Schlüssel für die Verschlüsselung an.

Autokey zum Erstellen von Schlüsseln verwenden

Autokey erstellt einen neuen Schlüssel am selben Speicherort wie das Repository.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für den Ordner oder das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen geschützter Repositories mit Autokey benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Schlüssel erstellen

Bevor Sie Schlüssel mit Autokey erstellen können, müssen Sie Cloud KMS Autokey aktivieren.

  1. Öffnen Sie in der Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf Repository erstellen.

  3. Füllen Sie die Pflichtfelder und optionalen Felder für Ihr Standard-, Remote- oder virtuelles Repository aus.

  4. Wählen Sie im Abschnitt Verschlüsselung die Option Automatische Verwaltung mit Cloud KMS und Autokey aus.

  5. Klicken Sie auf Erstellen.

Zugriff entfernen

Es gibt verschiedene Möglichkeiten, um den Zugriff auf ein mit CMEK verschlüsseltes Repository wieder aufzuheben:

Wir empfehlen, die Berechtigungen des Artifact Registry-Dienstkontos zu widerrufen, bevor Sie einen Schlüssel deaktivieren oder löschen. Die Änderung von Berechtigungen wird innerhalb von Sekunden wirksam, sodass Sie sofort nachvollziehen können, wie sich das Deaktivieren oder Löschen eines Schlüssels auswirkt.

Wenn Sie den Verschlüsselungsschlüssel für ein Repository deaktivieren oder löschen, können Sie die Artefaktdaten nicht mehr aufrufen oder abrufen. Auf alle im Repository gespeicherten Artefaktdaten kann dann nicht mehr zugegriffen werden. Dies gilt auch für erstellte Artefakte, beliebige Binärdaten (Blobs) und Manifeste wie Docker-Manifest- oder npm-Paketdateien. Nutzer mit der Rolle „Artifact Registry-Leser“ (roles/artifactregistry.reader) oder „Betrachter“ (roles/artifactregistry.viewer) können weiterhin Artefaktmetadaten wie den Artefaktnamen, die Version oder das Tag aufrufen.

Nutzer mit der Rolle „Artifact Registry-Administrator“ (roles/artifactregistry.admin) oder „Inhaber“ (roles/owner) können das Repository löschen.

CMEK-Organisationsrichtlinien

Artifact Registry unterstützt Einschränkungen für Organisationsrichtlinien, die einen CMEK-Schutz erfordern können.

Mit Richtlinien kann eingeschränkt werden, welche Cloud KMS-CryptoKeys für den CMEK-Schutz verwendet werden können.

  • Wenn sich die Artifact Registry API in der Richtlinienliste Deny der Dienste für die Einschränkung constraints/gcp.restrictNonCmekServices befindet, lehnt Artifact Registry das Erstellen neuer Repositories ab, die nicht CMEK-geschützt sind.

  • Wenn constraints/gcp.restrictCmekCryptoKeyProjects konfiguriert ist, erstellt Artifact Registry CMEK-geschützte Repositories, die durch einen CryptoKey aus einem zulässigen Projekt, Ordner oder einer Organisation geschützt sind.

Pub/Sub unterstützt dieselben Einschränkungen. Wenn Sie die Artifact Registry API in einem Google Cloud Projekt aktivieren, versucht die Artifact Registry, automatisch ein Pub/Sub-Thema mit der Themen-IDgcr mithilfe von Verschlüsselungsschlüsseln zu erstellen, die von Google verwaltet werden und auf Google Cloud basieren. Wenn sich die Pub/Sub API jedoch in der Deny-Richtlinienliste für die Einschränkung constraints/gcp.restrictNonCmekServices befindet, wird das Thema von Pub/Sub nicht erstellt. In diesem Szenario müssen Sie das gcr-Thema mit CMEK-Verschlüsselung erstellen. Weitere Informationen finden Sie in der Anleitung zum Verschlüsseln von Pub/Sub-Themen.

Weitere Informationen zum Konfigurieren von Organisationsrichtlinien finden Sie unter CMEK-Organisationsrichtlinien.

Nächste Schritte