Cette page explique comment chiffrer le contenu stocké dans des dépôts avec les clés de chiffrement gérées par le client (CMEK).
Présentation
Par défaut, Google Cloud chiffre automatiquement les données lorsqu'elles REST à l'aide de clés appartenant à Google et 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 d'un dépôt, telles que son nom, sont chiffrées à l'aide du chiffrement par défaut de Google.
Lorsque vous activez les CMEK, les données au repos dans les dépôts sont chiffrées à l'aide d'une clé que vous gérez dans Cloud Key Management Service. Vous pouvez contrôler l'accès à la clé CMEK à l'aide d'Identity and Access Management. Si vous désactivez ou détruisez temporairement la clé CMEK, les données chiffrées avec cette clé ne sont plus accessibles.
CMEK vous permet de contrôler davantage les aspects du cycle de vie et de la gestion de vos clés, mais entraîne également des coûts supplémentaires pour le service Cloud KMS. Les dépôts Artifact Registry et d'autres ressources Google Cloud chiffrées avec CMEK peuvent également consommer un quota Cloud KMS, en fonction du type de clé que vous utilisez. Confirmer que vous disposez d'un quota suffisant pour activer les secrets au niveau de la couche d'application le chiffrement pour vos applications et workflows.
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. Pour permettre la séparation des tâches et un meilleur contrôle l'accès aux clés, nous vous recommandons de créer et de gérer celles-ci dans un qui inclut d'autres ressources Google Cloud.
Vous attribuez une clé CMEK 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'une clé CMEK vous ne pouvez pas utiliser le mécanisme de chiffrement par défaut de Google ou 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
Les instructions suivantes expliquent comment créer une clé pour un dépôt et accorder des autorisations de chiffrement et de déchiffrement des données de dépôt avec la clé. Toi peut utiliser une clé créée directement dans Cloud KMS ou une clé mise à disposition avec Cloud External Key Manager.
Dans le projet Google Cloud dans lequel vous souhaitez gérer vos clés, procédez comme suit :
Créez un trousseau de clés et une clé à l'aide de l'une des options suivantes :
- Créez le trousseau de clés et la clé directement dans Cloud KMS.
- Utilisez une clé gérée en externe. Créez la clé externe, puis créez une clé Cloud EKM permettant de la rendre disponible via Cloud KMS.
L'emplacement de la clé Cloud KMS doit correspondre au Emplacement du dépôt du dépôt que vous allez chiffrer.
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.
Accordez le rôle IAM Chiffreur/Déchiffreur de CryptoKeys. (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) vers Artifact Registry de service géré. Accordez cette autorisation à la clé que vous avez créée.Console
Accédez à la page Clés de chiffrement.
Sélectionnez la clé que vous avez créée.
Accordez l'accès au compte de service Artifact Registry:
- Sélectionnez AFFICHER LE PANNEAU D'INFORMATIONS.
- Cliquez sur ADD MEMBER (AJOUTER UN MEMBRE).
- Ajoutez le compte de service Artifact Registry. Le compte de service service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com, où PROJECT-NUMBER est le numéro du projet Google Cloud dans lequel Artifact Registry est en cours d'exécution.
- Dans Rôle, sélectionnez Cloud KMS > Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS.
- Cliquez sur ENREGISTRER.
Répétez l'étape précédente pour accorder l'accès au compte qui créera les dépôts.
Revenez à la page Clés de chiffrement, puis sélectionnez à nouveau la clé.
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 pour accorder l'accès au compte de service Artifact Registry :
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
Où
- PROJECT correspond à l'ID du projet contenant la clé.
- KEY est le 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 est le nom du trousseau de clés ;
- PROJECT-NUMBER est le numéro de projet du Projet Google Cloud qui exécute Artifact Registry.
Répétez l'étape précédente pour accorder l'accès au compte qui créera les dépôts.
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 :
- Révoquez le rôle de chiffreur/déchiffreur de clés cryptographiques Cloud KMS du compte de service Artifact Registry à l'aide de la console Google Cloud ou de la CLI gcloud.
- Désactiver temporairement la clé CMEK
- Détruire définitivement la clé 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 l'impact de la désactivation ou la destruction d'une clé.
Lorsque vous désactivez ou détruisez la clé de chiffrement d'un dépôt, vous perdez d'afficher ou de récupérer des données d'artefact. Toutes les données d'artefact stockées le dépôt devient inaccessible, y compris les artefacts de compilation, les fichiers binaires arbitraires des données (blobs) et des fichiers manifestes tels qu'un manifeste Docker ou un fichier de package npm. Les utilisateurs disposant du rôle Lecteur Artifact Registry ou du rôle Lecteur peuvent toujours consulter les métadonnées des artefacts, telles que leur nom, leur version ou leur balise.
Les utilisateurs dotés du rôle Administrateur Artifact Registry ou de Propriétaire peuvent supprimer le dépôt.
Règles d'administration CMEK
Artifact Registry est compatible avec les contraintes liées aux règles d'administration qui peut nécessiter une protection CMEK.
Les règles peuvent limiter les CryptoKeys Cloud KMS pouvant être utilisées Protection CMEK
Lorsque l'API Artifact Registry figure dans la liste des services de la règle
Deny
contrainteconstraints/gcp.restrictNonCmekServices
, Artifact Registry refuse de créer des dépôts non protégés par des clés CMEK.Lorsque
constraints/gcp.restrictCmekCryptoKeyProjects
est configuré, Artifact Registry crée des dépôts protégés par CMEK protégées par une CryptoKey d'un projet, d'un dossier ou d'une organisation autorisés.
Pub/Sub gère les mêmes contraintes. Lorsque vous activez le
API Artifact Registry dans un projet Google Cloud, Artifact Registry
tente de créer automatiquement un sujet Pub/Sub avec l'ID de sujet
gcr
à l'aide de clés appartenant à Google et gérées par Google. Lorsque l'API Pub/Sub figure dans la liste des règles Deny
pour la contrainte
constraints/gcp.restrictNonCmekServices
, Pub/Sub refuse
créer le sujet. Pour créer le sujet gcr
avec chiffrement CMEK, consultez la
Instructions pour chiffrer les sujets Pub/Sub.
Pour en savoir plus sur la configuration des règles d'administration, consultez la section Règles d'administration CMEK.
Étape suivante
- Créer un dépôt chiffré avec CMEK
- Apprenez-en davantage sur CMEK
- En savoir plus sur le chiffrement par défaut de Google