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.
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 de bout en bout 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 Démarrage rapide : anonymiser du contenu sensible et en restaurer l'identification à la place.
Vous pouvez suivre la procédure décrite dans cette rubrique en 5 à 10 minutes, sans compter les étapes Avant de commencer.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. 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 gratuits pour exécuter, tester et déployer des charges de travail.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créer ou sélectionner un projet Google Cloud
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
-
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
-
Activer les API Cloud DLP and Cloud KMS :
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créer ou sélectionner un projet Google Cloud
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
-
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
-
Activer les API Cloud DLP and Cloud KMS :
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
Étape 1 : Créer un trousseau et une clé
Avant de commencer cette procédure, décidez où vous souhaitez que Cloud DLP 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 Cloud DLP.
Sinon, les requêtes Cloud DLP échoueront.
Vous trouverez la liste des emplacements compatibles dans la section Emplacements Cloud DLP. 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 PURPOSE ALGORITHM PROTECTION_LEVEL LABELS PRIMARY_ID PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key ENCRYPT_DECRYPT GOOGLE_SYMMETRIC_ENCRYPTION SOFTWARE 1 ENABLED
Dans ce résultat,
PROJECT_ID
correspond à l'ID de votre projet.Le chemin d'accès sous
NAME
correspond au nom complet de la ressource de votre clé Cloud KMS. Prenez-en note, car les requêtes de suppression de l'identification et de restauration de l'identification l'exigent.
Étape 2 : 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
openssl
pour créer une clé 256 bits dans le répertoire actuel :openssl rand -out "./aes_key.bin" 32
Le fichier
aes_key.bin
est ajouté à votre répertoire actuel.Encodez la clé AES en tant que chaîne base64 :
base64 -i ./aes_key.bin
Un résultat semblable aux lignes suivantes doit s'afficher :
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
Étape 3 : Encapsuler la clé AES avec la clé Cloud KMS
Cette section explique comment utiliser la clé Cloud KMS que vous avez créée à l'étape 1 pour encapsuler la clé AES encodée en base64 que vous avez créée à l'étape 2.
Pour encapsuler la clé AES, utilisez curl
pour envoyer la requête suivante à l'API Cloud KMS projects.locations.keyRings.cryptoKeys.encrypt
:
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
: par l'ID de votre projet.BASE64_ENCODED_AES_KEY
: chaîne encodée en base64 renvoyée à l'étape 2.
La réponse que vous obtenez de Cloud KMS est semblable à la réponse JSON suivante :
{ "name": "projects/PROJECT_ID/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 que vous obtenez.
Il s'agit de votre clé encapsulée.
Étapes suivantes
Apprenez-en plus sur la tokenisation des données via une clé cryptographique.
Suivez un exemple de bout en bout qui montre comment créer une clé encapsulée, tokeniser du contenu et restaurer l'identification du contenu tokenisé.
Apprenez-en plus sur les méthodes d'anonymisation acceptant cette clé encapsulée et consultez des exemples de code.