Begründungen für den Schlüsselzugriff mit Cloud HSM konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Key Access Justifications mit Cloud HSM für das Kontrollpaket für Japan-Regionen von Assured Workloads konfigurieren.

Beim Erstellen eines neuen Assured Workloads-Ordners für Japan-Regionen 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 HSM-Schlüssel hinzugefügt werden. Außerdem können Sie eine Richtlinie für Key Access Justifications konfigurieren, um den Zugriff auf jeden Schlüssel zu steuern.

Hinweise

  • Die Möglichkeit, Key Access Justifications mit Cloud HSM-Schlüsseln zu verwenden, ist nur für das Kontrollpaket für Japan-Regionen in Assured Workloads verfügbar.
  • Ihr Administrator muss Ihnen eine der erforderlichen IAM-Rollen (Identity and Access Management) zuweisen, damit Sie sowohl Ihre Richtlinien für Key Access Justifications als auch die Cloud HSM-Schlüssel selbst erstellen und verwalten können.

Erforderliche IAM-Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud KMS Admin (roles/cloudkms.admin) für das Projekt mit dem Schlüsselring zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Cloud HSM-Schlüsseln und ihren Richtlinien für Key Access Justifications benötigen. 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 HSM-Schlüsseln und ihren Richtlinien für Key Access Justifications erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Cloud HSM-Schlüssel und die zugehörigen Richtlinien für Key Access Justifications 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.

Cloud HSM-Schlüssel mit Key Access Justifications konfigurieren

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

Neuen Schlüssel und neue Richtlinie erstellen

REST

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

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 Schlüsselbunds, dem Sie einen Schlüssel hinzufügen möchten, z. B. 919698201234.
  • LOCATION: Der Speicherort des Schlüsselbunds, z. B. us-west1.
  • KEY_RING: Der Name des Schlüsselbunds, den Sie beim Erstellen des Schlüsselverwaltungsprojekts und des Schlüsselbunds für den Ordner „Assured Workloads“ angegeben haben, z. B. my-key-ring.
  • KEY_NAME: Der Name des HSM-Schlüssels, den Sie erstellen möchten, z. B. my-hsm-key.

Anfragetext:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "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.
  • 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 Richtlinie „Key Access Justifications“, die null oder mehr zulässige Berechtigungscodes für den Zugriff auf den Verschlüsselungsschlüssel definiert, z. B. CUSTOMER_INITIATED_ACCESS.

In der folgenden Beispielanfrage und im Anfragetext sind nur wenige Gründe für den Zugriff zulässig:

POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/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 für einen vorhandenen Schlüssel aktualisieren

REST

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

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üsselring für den Schlüssel enthält, z. B. 919698201234.
  • LOCATION: Der Speicherort des Schlüsselbunds, z. B. us-west1.
  • KEY_RING: Der Name des Schlüsselbunds, den Sie beim Erstellen des Schlüsselverwaltungsprojekts und des Schlüsselbunds für den Ordner „Assured Workloads“ angegeben haben, z. B. my-key-ring.
  • KEY_NAME: Der Name des HSM-Schlüssels, den Sie aktualisieren möchten, z. B. my-hsm-key.

Anfragetext:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "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.
  • 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 Richtlinie „Key Access Justifications“, die null oder mehr zulässige Berechtigungscodes für den Zugriff auf den Verschlüsselungsschlüssel definiert, z. B. CUSTOMER_INITIATED_ACCESS.

In der folgenden Beispielanfrage und im Anfragetext sind nur wenige Gründe für den Zugriff zulässig:

PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/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

So rufen Sie mit der Methode cryptoKeys.get Metadaten zu einem vorhandenen Schlüssel in Cloud KMS 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:

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

In der folgenden Beispielanfrage werden Metadaten zu einem Schlüssel in Cloud KMS abgerufen:

GET https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/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"
    ]
  }
}