Key Access Justifications mit Cloud KMS und Cloud HSM konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Key Access Justifications mit Cloud KMS oder Cloud HSM für die Assured Workloads Datengrenze für Japan konfigurieren.

Bei der Erstellung eines neuen Assured Workloads-Ordners für Regionen in Japan haben Sie die Möglichkeit, ein neues Projekt und einen Schlüsselbund für Ihre kryptografischen Schlüssel zu erstellen. Diesem Schlüsselbund können Cloud KMS- und Cloud HSM-Schlüssel hinzugefügt werden. Außerdem können Sie eine Key Access Justifications-Richtlinie konfigurieren, um den Zugriff auf jeden Schlüssel zu steuern.

Hinweis

  • Sie können Key Access Justifications nur mit Cloud KMS- und Cloud HSM-Schlüsseln in Ordnern verwenden, die in Assured Workloads im Kontrollpaket für Regionen in Japan registriert sind.
  • Achten Sie darauf, dass Ihr Administrator Ihnen eine der erforderlichen IAM-Rollen (Identity and Access Management) zugewiesen hat, damit Sie sowohl Ihre Key Access Justifications-Richtlinien als auch die Cloud KMS- und Cloud HSM-Schlüssel erstellen und verwalten können.

Erforderliche IAM-Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die Cloud KMS-Administrator (roles/cloudkms.admin) IAM-Rolle für das Projekt zuzuweisen, das den Schlüsselbund enthält, damit Sie die Berechtigungen zum Erstellen und Verwalten von Cloud KMS- und Cloud HSM-Schlüsseln und deren Key Access Justifications-Richtlinien erhalten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Verwalten von Cloud KMS- und Cloud HSM-Schlüsseln und deren Key Access Justifications-Richtlinien erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Cloud KMS- und Cloud HSM-Schlüssel und deren Key Access Justifications-Richtlinien zu erstellen und zu verwalten:

  • cloudkms.cryptoKeys.create
  • cloudkms.cryptoKeys.update
  • cloudkms.cryptoKeys.get

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Schlüssel mit Key Access Justifications konfigurieren

Wenn Sie Key Access Justifications mit einem Cloud KMS- oder Cloud HSM-Schlüssel konfigurieren möchten, können Sie die Schlüsselzugriffsrichtlinie entweder als Parameter beim Erstellen des Schlüssels angeben oder den Schlüssel nach dem Erstellen mit der Richtlinie aktualisieren.

Neuen Schlüssel und neue Richtlinie erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Schlüsselverwaltung Seite auf.

    Zu „Schlüsselverwaltung“

  2. Klicken Sie auf den Namen des Schlüsselbunds, in dem Sie den Schlüssel erstellen möchten.

  3. Klicken Sie auf Schlüssel erstellen.

  4. Geben Sie unter Schlüsselname einen Namen für den Schlüssel ein.

  5. Wählen Sie unter Schutzniveau die Option Software oder HSM aus.

  6. Wählen Sie nach Bedarf weitere Einstellungen aus.

  7. Wählen Sie unter Weitere Einstellungen > Key Access Justifications-Richtlinie, die Option Benutzerdefinierte Richtlinie festlegen und dann Bestimmte Ursachencodes zulassen aus.

  8. Wählen Sie unter Begründungen die Optionen Vom Kunden initiierter Zugriff, Von Google initiierter Systemvorgang und alle anderen Ursachencodes aus, die Sie zulassen möchten. Sowohl Vom Kunden initiierter Zugriff als auch Von Google initiierter Systemvorgang sind für die normale Funktion erforderlich.

  9. Klicken Sie auf Erstellen.

REST

Erstellen Sie einen neuen Schlüssel und eine neue Richtlinie mit der cryptoKeys.create Methode:

POST https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME

Ersetzen Sie in der Anfrage die folgenden Platzhalterwerte:

  • PROJECT_ID: Die Projekt-ID des Projekts, das den Schlüsselbund enthält, dem Sie einen Schlüssel hinzufügen möchten, z. B. 919698201234.
  • LOCATION: Der Speicherort des Schlüsselbunds, z. B. asia-northeast1.
  • KEY_RING: Der Name des Schlüsselbunds, den Sie beim Erstellen des Schlüsselverwaltungsprojekts und des Schlüsselbunds für Ihren Assured Workloads-Ordner angegeben haben.
  • KEY_NAME: Der Name des HSM-Schlüssels, den Sie erstellen möchten, z. B. my-hsm-key.

Anfragetext:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "PROTECTION_LEVEL",
    "algorithm": "ALGORITHM"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      ALLOWED_ACCESS_REASONS
    ]
  }
}

Ersetzen Sie im Anfragetext die folgenden Platzhalterwerte:

  • PURPOSE: Der Zweck des Schlüssels. Eine Liste der verschiedenen Schlüsselzwecke finden Sie unter Schlüsselzwecke, z. B. ENCRYPT_DECRYPT.
  • PROTECTION_LEVEL: Das Schutzniveau des Schlüssels, z. B. SOFTWARE oder HSM.
  • ALGORITHM: Der zu verwendende kryptografische Algorithmus. Eine Liste der verfügbaren Algorithmen finden Sie unter Cloud KMS-Algorithmen, z. B. GOOGLE_SYMMETRIC_ENCRYPTION.
  • ALLOWED_ACCESS_REASONS: Die Key Access Justifications-Richtlinie, die null oder mehr zulässige Begründungscodes für den Zugriff auf den Verschlüsselungsschlüssel definiert, z. B. ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

Mit der folgenden Beispielanfrage und dem folgenden Anfragetext wird ein Cloud HSM-Schlüssel erstellt, der nur Zugriffsbegründungen für einige wenige Gründe zulässt:

POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-hsm-key
{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Richtlinie eines vorhandenen Schlüssels aktualisieren

Console

  1. Rufen Sie in der Google Cloud Console die Schlüsselverwaltung Seite auf.

    Zu „Schlüsselverwaltung“

  2. Klicken Sie auf den Namen des Schlüsselbunds, in dem Sie den Schlüssel erstellt haben.

  3. Klicken Sie auf den Namen des Schlüssels, für den Sie die Key Access Justifications-Richtlinie aktualisieren möchten.

  4. Klicken Sie auf Key Access Justifications-Richtlinie bearbeiten.

  5. Führen Sie einen der folgenden Schritte aus:

    • Wenn Sie die Key Access Justifications-Richtlinie für den Schlüssel deaktivieren möchten, deaktivieren Sie das Kästchen Richtlinie für Key Access Justifications festlegen.

    • Wenn Sie die zulässigen Begründungen ändern möchten, klicken Sie auf das Feld Begründungen und wählen Sie nach Bedarf Ursachencodes aus oder heben Sie die Auswahl auf. Sowohl Vom Kunden initiierter Zugriff als auch Von Google initiierter Systemvorgang sind für die normale Funktion erforderlich.

    • Wenn Sie alle Ursachencodes ablehnen möchten, wählen Sie Alle Ursachencodes ablehnen (nicht empfohlen) aus. Dadurch wird verhindert, dass der Schlüssel verwendet wird, auch wenn er aktiviert ist und der Anfragende die erforderlichen Berechtigungen hat.

  6. Klicken Sie auf Speichern.

REST

Aktualisieren Sie einen vorhandenen Schlüssel in Cloud KMS mit der cryptoKeys.patch Methode:

PATCH https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?update_mask=keyAccessJustificationsPolicy

Ersetzen Sie in der Anfrage die folgenden Platzhalterwerte:

  • PROJECT_ID: Die Projekt-ID des Projekts, das den Schlüssel bund für den Schlüssel enthält, z. B. 919698201234.
  • LOCATION: Der Speicherort des Schlüsselbunds, z. B. asia-northeast1.
  • KEY_RING: Der Name des Schlüsselbunds, den Sie beim Erstellen des Schlüsselverwaltungsprojekts und des Schlüsselbunds für Ihren Assured Workloads-Ordner angegeben haben.
  • KEY_NAME: Der Name des Schlüssels, den Sie aktualisieren möchten.

Anfragetext:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "PROTECTION_LEVEL",
    "algorithm": "ALGORITHM"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      ALLOWED_ACCESS_REASONS
    ]
  }
}

Ersetzen Sie im Anfragetext die folgenden Platzhalterwerte:

  • PURPOSE: Der Zweck des Schlüssels. Eine Liste der verschiedenen Schlüsselzwecke finden Sie unter Schlüsselzwecke, z. B. ENCRYPT_DECRYPT.
  • PROTECTION_LEVEL: Das Schutzniveau des Schlüssels, z. B. SOFTWARE oder HSM.
  • ALGORITHM: Der zu verwendende kryptografische Algorithmus. Eine Liste der verfügbaren Algorithmen finden Sie unter Cloud KMS-Algorithmen, z. B. GOOGLE_SYMMETRIC_ENCRYPTION.
  • ALLOWED_ACCESS_REASONS: Die Key Access Justifications-Richtlinie, die null oder mehr zulässige Begründungscodes für den Zugriff auf den Verschlüsselungsschlüssel definiert, z. B. ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

Die folgende Beispielanfrage und der folgende Anfragetext lassen nur Zugriffsbegründungen für einige wenige Gründe zu:

PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/keyRings/my-key-ring/cryptoKeys/my-hsm-key?keyAccessJustificationsPolicy
{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Key Access Justifications-Richtlinie für einen Schlüssel abrufen

REST

Rufen Sie Metadaten zu einem vorhandenen Schlüssel in Cloud KMS mit der cryptoKeys.get Methode ab:

GET https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

Ersetzen Sie in den Anfrageparametern die folgenden Platzhalterwerte durch Ihre eigenen Werte:

  • PROJECT_ID: Die Projekt-ID des Projekts, das den Schlüsselbund für den Schlüssel enthält, z. B. 919698201234.
  • LOCATION: Der Speicherort des Schlüsselbunds, z. B. asia-northeast1.
  • KEY_RING: Der Name des Schlüsselbunds, den Sie beim Erstellen des Schlüsselverwaltungsprojekts und des Schlüsselbunds für Ihren Assured Workloads-Ordner angegeben haben, z. B. my-key-ring.
  • KEY_NAME: Der Name des Schlüssels, den Sie abrufen möchten.

Die folgende Beispielanfrage ruft Metadaten zu einem Schlüssel in Cloud KMS ab:

GET https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/keyRings/my-key-ring/cryptoKeys/my-hsm-key

Der Antworttext enthält Metadaten zu Ihrem Schlüssel, einschließlich der keyAccessJustificationsPolicy. Beispiel:

{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Nächste Schritte