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, Artifact Registry chiffre le contenu client au repos. Artifact Registry gère le chiffrement sans intervention de votre part. Cette option est appelée chiffrement par défaut de Google.
Si vous souhaitez contrôler vos clés de chiffrement, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS avec des services bénéficiant d'une intégration des CMEK, y compris Artifact Registry. L'utilisation de clés Cloud KMS vous permet de contrôler leur niveau de protection, leur emplacement, leur calendrier de rotation, leurs autorisations d'utilisation et d'accès, ainsi que leurs limites cryptographiques. Cloud KMS vous permet également d'afficher les journaux d'audit et de contrôler les cycles de vie des clés. Au lieu de laisser Google posséder et gérer les clés de chiffrement de clés (KEK) symétriques qui protègent vos données, c'est vous qui vous chargez de cette tâche dans Cloud KMS.
Une fois que vous avez configuré vos ressources avec des CMEK, l'accès à vos ressources Artifact Registry est semblable à celui du chiffrement par défaut de Google. Pour en savoir plus sur les options de chiffrement, consultez Clés de chiffrement gérées par le client (CMEK).
CMEK avec Cloud KMS Autokey
Pour protéger vos ressources Artifact Registry, vous pouvez créer des clés CMEK manuellement ou utiliser Cloud KMS Autokey. Avec Autokey, les trousseaux de clés et les clés sont générés à la demande lors de la création de ressources dans Artifact Registry. Les agents de service qui utilisent les clés pour les opérations de chiffrement et de déchiffrement sont créés s'ils n'existent pas déjà et s'ils disposent des rôles IAM (Identity and Access Management) requis. Pour en savoir plus, consultez la section Présentation de la clé automatique.
Pour configurer manuellement des CMEK, consultez la section Créer une clé et accorder des autorisations.
Pour configurer le chiffrement CMEK à l'aide d'Autokey, consultez la section Utiliser Autokey pour créer des clés sur cette page.
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'un dépôt chiffré par CMEK, vous ne pouvez pas remplacer le mécanisme de chiffrement par une clé de chiffrementgérée et détenue par Google, ni attribuer une autre clé Cloud KMS pour le chiffrement.
Pour en savoir plus sur le chiffrement CMEK en général, y compris quand et pourquoi l'activer, consultez la présentation du chiffrement CMEK.
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é. Vous pouvez utiliser une clé créée directement dans Cloud KMS ou une clé gérée en externe que vous rendez disponible avec Cloud External Key Manager.
Dans le projet Google Cloud dans lequel vous souhaitez gérer vos clés:
Créez un trousseau de clés et une clé à l'aide de l'une des options suivantes :
L'emplacement de clé Cloud KMS doit correspondre à l'emplacement du dépôt du dépôt que vous chiffrez.
Si vous n'avez pas créé de dépôt dans le projet Artifact Registry, le compte de service Artifact Registry n'existe pas. 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 de chiffreur/déchiffreur de clés cryptographiques (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) au compte de service Artifact Registry. 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 est service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com, où PROJECT-NUMBER est le numéro de projet du projet Google Cloud sur lequel Artifact Registry s'exécute.
- 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 Gestion des clés, 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 correspond au nom de la clé.
- LOCATION correspond à l'emplacement de la clé. L'emplacement de clé doit correspondre à l'emplacement du 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 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.
Ensuite, créez un dépôt et spécifiez la clé à utiliser pour le chiffrement.
Utiliser Autokey pour créer des clés
Autokey crée une clé au même emplacement que le dépôt.
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser Autokey afin de créer des dépôts protégés, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le dossier ou le projet:
-
Utilisateur Cloud KMS Autokey (
roles/cloudkms.autokeyUser
) -
Administrateur Artifact Registry (
roles/artifactregistry.admin
)
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.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer des clés
Avant de créer des clés avec Autokey, vous devez activer la clé automatique Cloud KMS.
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur Créer un dépôt.
Renseignez les champs obligatoires et facultatifs pour votre dépôt standard, distant ou virtuel.
Dans la section Encryption (Chiffrement), choisissez Cloud KMS avec gestion automatisée Autokey.
Cliquez sur Créer.
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 l'une des méthodes suivantes :
- Désactiver temporairement la clé de chiffrement gérée par le client
- 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 ainsi 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 afficher ni récupérer les données des artefacts. Toutes les données d'artefact stockées dans le dépôt deviennent inaccessibles, y compris les artefacts compilés, les données binaires arbitraires (blobs) et les fichiers manifestes tels qu'un fichier manifeste Docker ou un fichier de package npm.
Les utilisateurs disposant du rôle Lecteur Artifact Registry (roles/artifactregistry.reader
) ou du rôle Lecteur (roles/artifactregistry.viewer
) peuvent toujours afficher les métadonnées des artefacts, telles que leur nom, leur version ou leur balise.
Les utilisateurs disposant du rôle Administrateur Artifact Registry (roles/artifactregistry.admin
) ou de Propriétaire (roles/owner
) 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 peuvent exiger une protection CMEK.
Les règles peuvent limiter les CryptoKeys Cloud KMS pouvant être utilisées pour la protection CMEK.
Lorsque l'API Artifact Registry figure dans la liste des services de la règle
Deny
de la contrainteconstraints/gcp.restrictNonCmekServices
, Artifact Registry refuse de créer des dépôts qui ne sont pas protégés par CMEK.Lorsque
constraints/gcp.restrictCmekCryptoKeyProjects
est configuré, Artifact Registry crée des dépôts protégés par CMEK qui sont protégés par une CryptoKey provenant d'un projet, d'un dossier ou d'une organisation autorisés.
Pub/Sub accepte les mêmes contraintes. Lorsque vous activez l'API Artifact Registry dans un Google Cloud projet, Artifact Registry tente de créer automatiquement un sujet Pub/Sub avec l'ID de sujet gcr
à l'aide de clés de chiffrement appartenant à Google et gérées par Google . Toutefois, si l'API Pub/Sub figure dans la liste des règles Deny
pour la contrainte constraints/gcp.restrictNonCmekServices
, Pub/Sub ne crée pas le sujet. Dans ce scénario, vous devez créer le sujet gcr
avec le chiffrement CMEK. Pour en savoir plus, consultez les instructions de chiffrement des 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 les appartenant à Google et gérées par Google basées sur Google Cloud