Key Access Justifications mit Cloud HSM konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Key Access Justifications mit Cloud HSM für Assured Workloads Steuerpaket für Regionen in Japan

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.

Hinweise

  • Die Möglichkeit, Key Access Justifications mit Cloud HSM-Schlüsseln zu verwenden, ist nur für das Steuerpaket für Japan-Regionen in Assured Workloads.
  • Vergewissern Sie sich, dass Ihr Administrator Ihnen eine der erforderlichen IAM-Rollen (Identity and Access Management) zum Erstellen und Verwalten Ihrer Key Access Justifications und die Cloud HSM-Schlüssel selbst.

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 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 einen neuen Schlüssel und eine Richtlinie mithilfe des cryptoKeys.create :

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, die den Schlüsselbund enthält, für den 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. Beispiel: 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 mit 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:

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

Aktualisieren Sie einen vorhandenen Schlüssel in Cloud KMS mithilfe der 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üssel enthält Ring für den Schlüssel, 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: Name des HSM-Schlüssels, den Sie aktualisieren möchten – für Beispiel: 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 mit 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

Rufen Sie Metadaten über einen vorhandenen Schlüssel in Cloud KMS mithilfe der cryptoKeys.get :

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 Eigentümer:

  • PROJECT_ID: Die Projekt-ID, die den Schlüsselbund für die Schlüssel, 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 – für Beispiel: 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"
    ]
  }
}