Configurer les justifications d'accès aux clés avec Cloud KMS et Cloud HSM
Cette page explique comment configurer Key Access Justifications avec Cloud KMS ou Cloud HSM pour le périmètre de données du Japon d'Assured Workloads.
Lorsque vous créez un dossier Assured Workloads pour les régions du Japon, vous avez la possibilité de créer un projet et un trousseau de clés pour vos clés cryptographiques. Vous pouvez ajouter des clés Cloud KMS et Cloud HSM à ce trousseau de clés. Vous pouvez également configurer une stratégie de Key Access Justifications pour contrôler l'accès à chaque clé.
Avant de commencer
- La possibilité d'utiliser Key Access Justifications aux clés avec les clés Cloud KMS et Cloud HSM n'est disponible que pour le périmètre de données du Japon dans Assured Workloads.
- Assurez-vous que votre administrateur vous a attribué l'un des rôles Identity and Access Management (IAM) requis pour créer et gérer vos règles de Key Access Justifications, ainsi que les clés Cloud KMS et Cloud HSM elles-mêmes.
Autorisations IAM requises
Pour obtenir les autorisations nécessaires pour créer et gérer les clés Cloud KMS et Cloud HSM, ainsi que leurs règles de Key Access Justifications, 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 les clés Cloud KMS et Cloud HSM, ainsi que leurs règles de Key Access Justifications. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer et gérer des clés Cloud KMS et Cloud HSM, ainsi que leurs règles de Key Access Justifications :
-
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é avec Key Access Justifications
Pour configurer Key Access Justifications avec une clé Cloud KMS ou Cloud HSM, vous pouvez inclure la stratégie d'accès aux clés en tant que paramètre lorsque vous créez la clé, ou vous pouvez mettre à jour la clé avec la stratégie après sa création.
Créer une clé et une règle
Console
Dans la console Google Cloud , accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés dans lequel vous souhaitez créer la clé.
Cliquez sur Créer une clé.
Dans le champ Nom de la clé, saisissez un nom pour votre clé.
Pour le champ Niveau de protection, sélectionnez Logiciel ou HSM.
Continuez à sélectionner les paramètres selon vos besoins.
Sous Paramètres supplémentaires, sélectionnez Définir la règle de justification de l'accès aux clés, puis Motifs de justification autorisés.
Dans Motifs de justification, sélectionnez Accès initié par le client, Opération du système initiée par Google et tous les autres codes de motif que vous souhaitez autoriser. L'accès initié par le client et l'opération du système initiée par Google sont essentiels au bon fonctionnement.
Cliquez sur Créer.
REST
Créez une clé et une règle à l'aide de la méthode cryptoKeys.create
:
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,
asia-northeast1
). - KEY_RING : nom du trousseau de clés que vous avez spécifié lorsque vous avez créé le projet de gestion des clés et le trousseau de clés de votre dossier Assured Workloads.
- 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": "PROTECTION_LEVEL", "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és, consultez Objectifs des clés, par exemple
ENCRYPT_DECRYPT
. - PROTECTION_LEVEL : niveau de protection de la clé (par exemple,
SOFTWARE
ouHSM
). - ALGORITHM : algorithme cryptographique à utiliser. Pour obtenir la liste des algorithmes disponibles, consultez Algorithmes Cloud KMS (par exemple,
GOOGLE_SYMMETRIC_ENCRYPTION
). - ALLOWED_ACCESS_REASONS : stratégie de justification de l'accès aux clés qui définit zéro ou plusieurs codes de justification autorisés pour accéder à la clé de chiffrement (par exemple,
["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]
).
L'exemple de requête et de corps de requête suivant crée une clé Cloud HSM qui n'autorise les justifications d'accès que pour quelques raisons :
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" ] } }
Mettre à jour les règles d'une clé existante
Console
Dans la console Google Cloud , accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés dans lequel vous avez créé la clé.
Cliquez sur le nom de la clé pour laquelle vous souhaitez mettre à jour la stratégie Key Access Justifications.
Cliquez sur Modifier la stratégie Key Access Justifications.
Effectuez l'une des opérations suivantes :
Pour désactiver la stratégie Key Access Justifications sur la clé, décochez la case Définir la stratégie Key Access Justifications.
Pour modifier les motifs de justification autorisés, cliquez sur la case Motifs de justification, puis cochez ou décochez les codes de motifs selon vos besoins. L'Accès initié par le client et l'Opération du système initiée par Google sont essentiels au bon fonctionnement.
Pour refuser tous les codes de motif, sélectionnez Refuser tous les codes de motif (non recommandé). Cela empêche l'utilisation de la clé, même si elle est activée et que le demandeur dispose des autorisations requises.
Cliquez sur Enregistrer.
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 le trousseau de clés pour la clé (par exemple,
919698201234
). - LOCATION : emplacement du trousseau de clés (par exemple,
asia-northeast1
). - KEY_RING : nom du trousseau de clés que vous avez spécifié lorsque vous avez créé le projet de gestion des clés et le trousseau de clés de votre dossier Assured Workloads.
- KEY_NAME : nom de la clé que vous souhaitez mettre à jour.
Corps de la requête :
{ "purpose": "PURPOSE", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "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és, consultez Objectifs des clés, par exemple
ENCRYPT_DECRYPT
. - PROTECTION_LEVEL : niveau de protection de la clé (par exemple,
SOFTWARE
ouHSM
). - ALGORITHM : algorithme cryptographique à utiliser. Pour obtenir la liste des algorithmes disponibles, consultez Algorithmes Cloud KMS (par exemple,
GOOGLE_SYMMETRIC_ENCRYPTION
). - ALLOWED_ACCESS_REASONS : stratégie de justification de l'accès aux clés qui définit zéro ou plusieurs codes de justification autorisés pour accéder à la clé de chiffrement (par exemple,
["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]
).
L'exemple de requête et de corps de requête suivant n'autorise les justifications d'accès que pour quelques raisons :
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" ] } }
Obtenir la stratégie Key Access Justifications pour une clé
REST
Obtenez des métadonnées sur une clé existante dans Cloud KMS à l'aide de la méthode cryptoKeys.get
:
GET https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Dans les paramètres de la 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 pour la clé, par exemple
919698201234
. - LOCATION : emplacement du trousseau de clés (par exemple,
asia-northeast1
). - KEY_RING : nom du trousseau de clés que vous avez spécifié lorsque vous avez créé le projet et le trousseau de clés de gestion des clés de votre dossier Assured Workloads (par exemple,
my-key-ring
). - KEY_NAME : nom de la clé que vous souhaitez obtenir.
L'exemple de requête suivant permet d'obtenir des métadonnées sur une clé dans Cloud KMS :
GET https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/keyRings/my-key-ring/cryptoKeys/my-hsm-key
Le corps de la réponse contient des métadonnées sur votre clé, y compris le keyAccessJustificationsPolicy
.
Exemple :
{ "purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "HSM", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION" }, "keyAccessJustificationsPolicy": { "allowedAccessReasons": [ "CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION" ] } }
Étapes suivantes
- Vous pouvez également définir une règle de Key Access Justifications par défaut (aperçu).