Cette page a été traduite par l'API Cloud Translation.
Switch to English

Activer les clés de chiffrement gérées par le client

Cette page explique comment chiffrer le contenu stocké dans des dépôts à l'aide de clés de chiffrement gérées par le client (CMEK).

Présentation

Par défaut, Google Cloud chiffre automatiquement les données au repos à l'aide de clés de chiffrement gérées par Google. Si vous avez des exigences réglementaires ou de conformité spécifiques concernant les clés qui protègent vos données, vous pouvez créer des dépôts chiffrés avec des clés CMEK. Les métadonnées sur un dépôt, telles que son nom, sont chiffrées à l'aide du chiffrement par défaut de Google.

Lorsque vous activez le chiffrement CMEK, les données au repos dans les dépôts sont chiffrées à l'aide d'une clé que vous gérez via le service Cloud Key Management Service. Vous pouvez contrôler l'accès à la clé CMEK à l'aide de la gestion de l'authentification et des accès. Si vous désactivez ou détruisez temporairement la clé CMEK, les données chiffrées à l'aide de cette clé ne sont plus accessibles.

Le chiffrement CMEK vous permet de contrôler davantage de cycle de vie et de gestion de vos clés, mais entraîne des coûts supplémentaires pour le service Cloud KMS. Les dépôts chiffrés par CMEK consomment également le quota de requêtes de chiffrement de Cloud Key Management Service pour chaque importation ou téléchargement.

Cloud KMS peut s'exécuter dans le même projet Google Cloud que Artifact Registry ou dans un projet distinct dans lequel vous gérez de manière centralisée les clés de plusieurs projets.

Vous attribuez une clé Cloud KMS lorsque vous créez un dépôt.

Vous ne pouvez pas modifier le mécanisme de chiffrement d'un dépôt existant. Si vous disposez d'un dépôt chiffré par CMEK, vous ne pouvez pas remplacer le mécanisme de chiffrement par le chiffrement par défaut de Google, ni attribuer une autre clé Cloud KMS pour le chiffrement.

Pour plus d'informations sur CMEK en général, y compris quand et pourquoi l'activer, consultez la documentation Cloud KMS.

Créer une clé et accorder des autorisations

Pour créer une clé pour le dépôt et accorder des autorisations de chiffrement et de déchiffrement des données de dépôt avec la clé, procédez comme suit :

  1. Dans le projet Google Cloud dans lequel vous souhaitez gérer vos clés, procédez comme suit :

    1. Activez l'API Cloud KMS.
    2. Créez un trousseau et une clé. L'emplacement de la clé doit correspondre à l'emplacement du dépôt du dépôt que vous allez chiffrer.
  2. Si vous n'avez pas créé de dépôt dans le projet Artifact Registry, le compte de service Artifact Registry n'existe pas encore. Pour créer le compte de service, exécutez la commande suivante:

    gcloud beta services identity create --service=artifactregistry.googleapis.com --project=PROJECT
    

    Remplacez PROJECT par l'ID du projet dans lequel Artifact Registry est en cours d'exécution.

  3. Attribuez le rôle IAM Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) au compte de service Artifact Registry. Accordez cette autorisation sur la clé que vous avez créée.

    Console

    1. Accédez à la page Clés de chiffrement.

      Ouvrez la page Cloud KMS.

    2. Sélectionnez la clé que vous avez créée.

    3. Sélectionnez AFFICHER LE PANNEAU D'INFORMATIONS.

    4. Cliquez sur AJOUTER UN MEMBRE.

    5. Ajoutez le compte de service Artifact Registry. Le compte de service est service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com, oùPROJECT-NUMBER estnuméro du projet du projet Google Cloud dans lequel Artifact Registry est exécuté.

    6. Dans Rôle, sélectionnez Cloud KMS > Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS.

    7. Cliquez sur ENREGISTRER.

    8. Revenez à la page Clés de chiffrement, puis sélectionnez à nouveau la clé.

    9. Sélectionnez AFFICHER LE PANNEAU D'INFORMATIONS. Des rôles doivent s'afficher dans la colonne Rôle/Membre.

    gcloud

    Exécutez la commande suivante :

    gcloud kms keys add-iam-policy-binding [--project=PROJECT] \
           KEY --location LOCATION --keyring=KEYRING \
           --member serviceAccount:service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com \
           --role roles/cloudkms.cryptoKeyEncrypterDecrypter
    
    • PROJECT est l'ID du projet contenant la clé.
    • KEY correspond au nom de la clé ;
    • LOCATION correspond à l'emplacement de la clé. L'emplacement de clé doit correspondre à l'emplacement de dépôt du dépôt que vous chiffrez.
    • KEYRING correspond au nom du trousseau de clés ;
    • PROJECT-NUMBER correspond au numéro de projet du projet Google Cloud exécutant Artifact Registry.

    Pour plus d'informations sur cette commande, consultez la documentation gcloud kms keys add-iam-policy-binding.

Vous pouvez maintenant créer un dépôt et spécifier la clé à utiliser pour le chiffrement.

Supprimer un accès

Il existe plusieurs façons de supprimer l'accès à un dépôt chiffré par CMEK :

Nous vous recommandons de révoquer les autorisations du compte de service Artifact Registry avant de désactiver ou de détruire une clé. Les modifications apportées aux autorisations sont cohérentes en quelques secondes. Vous pouvez donc observer les conséquences de la désactivation ou de la destruction d'une clé.

Lorsque vous désactivez ou détruisez la clé de chiffrement d'un dépôt, vous ne pouvez plus consulter ni récupérer les données de l'artefact. Toutes les données d'artefact stockées dans le dépôt deviennent inaccessibles, y compris les artefacts créés, les données binaires arbitraires (blobs) et les fichiers manifestes, tels qu'un fichier manifeste Docker ou un fichier de packaging npm. Les utilisateurs disposant du rôle Lecteur de lecteur d'artefacts ou du lecteur peuvent consulter les métadonnées des artefacts, telles que le nom, la version ou la balise.

Les utilisateurs dotés du rôle Administrateur Artifact Registry ou de Propriétaire peuvent supprimer le dépôt.

Étape suivante