Cette page explique comment utiliser Cloud Key Management Service (Cloud KMS) pour créer une clé encapsulée que vous pouvez ensuite utiliser pour envoyer des requêtes
deidentify et
reidentify
à l'API Cloud Data Loss Prevention de Sensitive Data Protection.
Le processus d'utilisation d'une clé cryptographique pour anonymiser et restaurer l'identification du contenu est appelé pseudonymisation (ou tokenisation). Pour obtenir des informations conceptuelles sur ce processus, consultez la page Pseudonymisation.
Pour obtenir un exemple illustrant la création d'une clé encapsulée, la tokenisation du contenu et la restauration de l'identification du contenu tokenisé, consultez la page Anonymiser du contenu sensible et en restaurer l'identification à la place.
Vous pouvez suivre les étapes de ce document en 5 à 10 minutes, à l'exception des étapes de la section Avant de commencer.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Sensitive Data Protection et Cloud KMS :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Sensitive Data Protection et Cloud KMS :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com
Rôles requis
Pour obtenir les autorisations nécessaires pour créer une clé AES encapsulée, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Administrateur Cloud KMS (
roles/cloudkms.admin) - Chiffreur de CryptoKeys Cloud KMS (
roles/cloudkms.cryptoKeyEncrypter)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un trousseau de clés et une clé
Avant de commencer cette procédure, décidez où vous souhaitez que Sensitive Data Protection traite vos requêtes d'anonymisation et de restauration de l'identification. Lorsque vous créez une clé Cloud KMS, vous devez la stocker dans global ou dans la même région que celle que vous utiliserez pour vos requêtes Sensitive Data Protection.
Sinon, les requêtes de protection des données sensibles échoueront.
Vous trouverez la liste des emplacements compatibles dans la section Emplacements de la protection des données sensibles. Notez le nom de la région choisie (par exemple, us-west1).
Cette procédure utilise global comme emplacement pour toutes les requêtes API. Si vous souhaitez utiliser une autre région, remplacez global par le nom de la région.
Créez un trousseau de clés comme suit :
gcloud kms keyrings create "dlp-keyring" \ --location "global"Créez une clé :
gcloud kms keys create "dlp-key" \ --location "global" \ --keyring "dlp-keyring" \ --purpose "encryption"Répertoriez votre trousseau de clés et votre clé :
gcloud kms keys list \ --location "global" \ --keyring "dlp-keyring"Vous obtenez le résultat suivant :
NAME: projects/<var>PROJECT_ID</var>/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key PURPOSE: ENCRYPT_DECRYPT ALGORITHM: GOOGLE_SYMMETRIC_ENCRYPTION PROTECTION_LEVEL: SOFTWARE LABELS: PRIMARY_ID: 1 PRIMARY_STATE: ENABLEDDans ce résultat,
PROJECT_IDcorrespond à l'ID de votre projet.La valeur de
NAMEcorrespond au nom complet de la ressource de votre clé Cloud KMS. Notez cette valeur, car elle est requise pour les requêtes d'anonymisation et de restauration de l'identification.
Créer une clé AES encodée en base64
Cette section explique comment créer une clé AES (Advanced Encryption Standard) et l'encoder en base64.
Créez une clé AES 128, 192 ou 256 bits. La commande suivante utilise
opensslpour créer une clé 256 bits dans le répertoire actuel :openssl rand -out "./aes_key.bin" 32Le fichier
aes_key.binest ajouté à votre répertoire actuel.Encodez la clé AES en tant que chaîne base64 :
base64 -i ./aes_key.binUn résultat semblable aux lignes suivantes doit s'afficher :
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
Encapsuler la clé AES avec la clé Cloud KMS
Cette section explique comment utiliser la clé Cloud KMS que vous avez créée dans Créer un trousseau de clés et une clé pour encapsuler la clé AES encodée en base64 que vous avez créée dans Créer une clé AES encodée en base64.
Pour encapsuler la clé AES, utilisez curl pour envoyer la requête suivante à la
méthode
projects.locations.keyRings.cryptoKeys.encrypt
de l'API Cloud KMS :
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key:encrypt" \
--request "POST" \
--header "Authorization:Bearer $(gcloud auth application-default print-access-token)" \
--header "content-type: application/json" \
--data "{\"plaintext\": \"BASE64_ENCODED_AES_KEY\"}"
Remplacez les éléments suivants :
PROJECT_ID: l'ID de votre projet.BASE64_ENCODED_AES_KEY: chaîne encodée en base64 renvoyée dans Créer une clé AES encodée en base64.
La réponse que vous obtenez de Cloud KMS est semblable à la réponse JSON suivante :
{
"name": "projects/<var>PROJECT_ID</var>/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key/cryptoKeyVersions/1",
"ciphertext": "CiQAYuuIGo5DVaqdE0YLioWxEhC8LbTmq7Uy2G3qOJlZB7WXBw0SSQAjdwP8ZusZJ3Kr8GD9W0vaFPMDksmHEo6nTDaW/j5sSYpHa1ym2JHk+lUgkC3Zw5bXhfCNOkpXUdHGZKou1893O8BDby/82HY=",
"ciphertextCrc32c": "901327763",
"protectionLevel": "SOFTWARE"
}
Dans ce résultat, PROJECT_ID correspond à l'ID de votre projet.
Notez la valeur de ciphertext dans la réponse.
Il s'agit de votre clé encapsulée.
Étape suivante
Apprenez-en plus sur la tokenisation des données via une clé cryptographique key.
Suivez un exemple qui montre comment créer une clé encapsulée , tokeniser du contenu et désanonymiser le contenu tokenisé.
Apprenez-en plus sur les méthodes d'anonymisation qui utilisent cette clé encapsulée, et consultez des exemples de code samples.