Configurer des justifications d'accès aux clés avec Cloud HSM

Cette page explique comment configurer les justifications d'accès aux clés avec Cloud HSM pour le package de contrôle des régions du Japon des charges de travail assurées.

Lors de la procédure de création d'un dossier Assured Workloads pour les régions du Japon, vous pouvez créer un projet et un trousseau de clés pour vos clés cryptographiques. Les clés de clés Cloud HSM peuvent être à ce trousseau, et vous pouvez également configurer une stratégie Key Access Justifications pour qui contrôlent l'accès à chaque clé.

Avant de commencer

  • La possibilité d'utiliser des justifications d'accès aux clés avec des clés Cloud HSM n'est disponible que pour le package de contrôle des régions du Japon dans Assured Workloads.
  • Assurez-vous que votre administrateur vous a accordé l'un des rôles IAM (Identity and Access Management) requis pour créer et gérer à la fois vos règles de justification d'accès aux clés et les clés Cloud HSM elles-mêmes.

Autorisations IAM requises

Pour obtenir les autorisations nécessaires pour créer et gérer des clés Cloud HSM et leurs règles de justification de l'accès aux clés, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Cloud KMS (roles/cloudkms.admin) sur le projet contenant le trousseau de clés. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer et gérer des clés Cloud HSM et leurs règles de justification de l'accès aux clés. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour créer et gérer des clés Cloud HSM et leurs stratégies de justification de l'accès aux clés :

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

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer une clé Cloud HSM avec des justifications d'accès aux clés

Pour configurer Key Access Justifications avec une clé Cloud HSM, vous pouvez inclure le paramètre stratégie d'accès à la clé en tant que paramètre lorsque vous créez la clé, ou vous pouvez mettre à jour avec la stratégie après la création de la clé.

Créer une clé et une stratégie

REST

Créez une clé et une règle à l'aide de la méthode cryptoKeys.create méthode:

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

Dans la requête, remplacez les valeurs d'espace réservé suivantes :

  • PROJECT_ID : ID du projet contenant le trousseau de clés auquel vous souhaitez ajouter une clé (par exemple, 919698201234).
  • LOCATION : emplacement du trousseau de clés (par exemple, us-west1).
  • KEY_RING: nom du trousseau de clés que vous avez spécifié lors de la vous avez créé le projet de gestion des clés de votre dossier Assured Workloads et du trousseau de clés, par exemple my-key-ring.
  • KEY_NAME : nom de la clé HSM que vous souhaitez créer (par exemple, my-hsm-key).

Corps de la requête :

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

Dans le corps de la requête, remplacez les valeurs d'espace réservé suivantes :

  • PURPOSE : objectif de la clé. Pour obtenir la liste des différents objectifs de clé, consultez la section Objectifs des clés (par exemple, ENCRYPT_DECRYPT).
  • ALGORITHM : algorithme cryptographique à utiliser. Pour obtenir la liste des algorithmes disponibles, consultez la page Algorithmes Cloud KMS (par exemple, GOOGLE_SYMMETRIC_ENCRYPTION).
  • ALLOWED_ACCESS_REASONS : stratégie Key Access Justifications qui définit zéro ou plusieurs codes de justification autorisés pour accéder à la clé de chiffrement (par exemple, CUSTOMER_INITIATED_ACCESS).

L'exemple de requête et le corps de requête suivants n'autorisent que l'accès pour plusieurs raisons:

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

Modifier la stratégie d'une clé existante

REST

Mettez à jour une clé existante dans Cloud KMS à l'aide de la méthode cryptoKeys.patch :

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

Dans la requête, remplacez les valeurs d'espace réservé suivantes:

  • PROJECT_ID : ID du projet contenant la clé pour la clé (par exemple, 919698201234).
  • LOCATION: emplacement du trousseau de clés (par exemple, us-west1
  • KEY_RING: nom du trousseau de clés que vous avez spécifié lors de la vous avez créé le projet de gestion des clés de votre dossier Assured Workloads et le trousseau de clés, par exemple my-key-ring.
  • KEY_NAME: nom de la clé HSM que vous souhaitez mettre à jour (par Exemple : my-hsm-key.

Corps de la requête :

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

Dans le corps de la requête, remplacez les valeurs d'espace réservé suivantes :

  • PURPOSE : objectif de la clé. Pour obtenir la liste des différentes clés finalités, consultez Les objectifs des clés (par exemple, ENCRYPT_DECRYPT
  • ALGORITHM: algorithme cryptographique à utiliser. Pour obtenir une liste algorithmes disponibles, consultez Algorithmes Cloud KMS (par exemple, GOOGLE_SYMMETRIC_ENCRYPTION
  • ALLOWED_ACCESS_REASONS: règle Key Access Justifications qui définit zéro autorisés ou plus codes de justification pour accéder à la clé de chiffrement, par exemple CUSTOMER_INITIATED_ACCESS

L'exemple de requête et de corps de requête suivants n'autorisent les justifications d'accès que pour quelques raisons :

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

Obtenir la règle Key Access Justifications pour une clé

REST

Obtenez les métadonnées d'une clé existante dans Cloud KMS à l'aide de la méthode cryptoKeys.get méthode:

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

Dans les paramètres de requête, remplacez les valeurs d'espace réservé suivantes par les vôtres :

  • PROJECT_ID : ID du projet contenant le trousseau de clés de la clé (par exemple, 919698201234).
  • LOCATION : emplacement du trousseau de clés (par exemple, us-west1).
  • KEY_RING: nom du trousseau de clés que vous avez spécifié lors de la vous avez créé le projet de gestion des clés de votre dossier Assured Workloads et le trousseau de clés, par exemple my-key-ring.
  • KEY_NAME : nom de la clé HSM que vous souhaitez obtenir (par exemple, my-hsm-key).

L'exemple de requête suivant récupère les métadonnées d'une clé dans Cloud KMS :

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

Le corps de la réponse contient des métadonnées sur votre clé, y compris les keyAccessJustificationsPolicy Exemple :

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