Key Access Justifications mit Cloud HSM konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Begründungen für den Schlüsselzugriff mit Cloud HSM für das Kontrollpaket für Japan-Regionen von Assured Workloads konfigurieren.

Während der Schritte zur Neuen Assured Workloads-Ordner erstellen für Regionen in Japan haben Sie die Möglichkeit, ein neues Projekt für Ihre kryptografischen Schlüssel. Cloud HSM-Schlüssel können diesem Schlüsselbund hinzugefügt haben. Außerdem können Sie eine Key Access Justifications-Richtlinie konfigurieren, um den Zugriff auf jeden Schlüssel zu steuern.

Hinweis

  • Die Möglichkeit, Begründungen für den Schlüsselzugriff 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 Begründungen für den Schlüsselzugriff als auch die Cloud HSM-Schlüssel selbst erstellen und verwalten können.

Erforderliche IAM-Berechtigungen

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

Diese vordefinierte Rolle enthält Berechtigungen zum Erstellen und Verwalten von Cloud HSM-Schlüsseln und ihrer Key Access Justifications. 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

Zum Konfigurieren von Key Access Justifications mit einem Cloud HSM-Schlüssel können Sie entweder den Schlüsselzugriffsrichtlinie als Parameter verwenden, wenn Sie den Schlüssel erstellen. Alternativ können Sie die Schlüsselzugriffsrichtlinie aktualisieren: Schlüssel mit der Richtlinie, nachdem der Schlüssel erstellt wurde.

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 angegeben haben, wenn Sie haben das Schlüsselverwaltungsprojekt Ihres Assured Workloads-Ordners erstellt und Schlüsselbund, 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 mit 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 eines vorhandenen Schlüssels 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 „Assurance 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. Für eine Liste verschiedener Schlüssel 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 Key Access Justifications-Richtlinie, die Null definiert oder mehr zulässig Begründungscodes für den Zugriff auf den Verschlüsselungsschlüssel, z. B. CUSTOMER_INITIATED_ACCESS.

Die folgende Beispielanfrage und der folgende Anfragetext ermöglichen nur Zugriff aus verschiedenen Gründen rechtfertigt:

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 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 angegeben haben, wenn Sie haben das Schlüsselverwaltungsprojekt Ihres Assured Workloads-Ordners erstellt und Schlüsselbund, z. B. my-key-ring.
  • KEY_NAME: Der Name des HSM-Schlüssels, den Sie abrufen möchten, z. B. my-hsm-key.

Mit 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"
    ]
  }
}