Chiffrer des données avec des clés de chiffrement gérées par le client

Par défaut, Secure Source Manager chiffre le contenu client au repos. Secure Source Manager 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 Secure Source Manager. 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 de suivre l'utilisation des clés, 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 Secure Source Manager 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).

Cloud KMS peut s'exécuter dans un projet distinct dans lequel vous gérez de manière centralisée les clés de plusieurs projets, ou dans le même projetGoogle Cloud que Secure Source Manager. Pour permettre la séparation des tâches et un meilleur contrôle de l'accès aux clés, nous vous recommandons de créer et de gérer les clés dans un projet distinct qui n'inclut pas d'autres ressources Google Cloud.

Vous attribuez une clé Cloud KMS lorsque vous créez une instance. Vous ne pouvez pas modifier le mécanisme de chiffrement d'une instance existante. Si vous disposez d'une instance chiffrée 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 Key Management Service pour le chiffrement.

L'instance doit être créée au même emplacement que la clé Cloud KMS.

Lorsque vous utilisez des clés CMEK dans Secure Source Manager, vos projets peuvent consommer des quotas de requêtes de chiffrement Cloud KMS. Les instances chiffrées par CMEK consomment ces quotas au moment de leur création. Les opérations de chiffrement et de déchiffrement à l'aide de clés CMEK n'affectent les quotas Cloud KMS que si vous utilisez des clés matérielles (Cloud HSM) ou externes (Cloud EKM). Pour en savoir plus, consultez la page Quotas Cloud KMS.

Créer une clé CMEK et accorder des autorisations

Les instructions suivantes expliquent comment créer une clé et accorder des autorisations au compte de service Secure Source Manager sur cette clé.

  1. Dans le projet Google Cloud où vous souhaitez gérer vos clés :

    1. Activez l'API Cloud KMS.

    2. Créez un trousseau de clés et une clé à l'aide de l'une des options suivantes :

      L'emplacement de la clé Cloud KMS doit correspondre à l'emplacement du projet dans lequel vous souhaitez créer l'instance Secure Source Manager.

  2. Si vous créez votre première instance Secure Source Manager dans votre projet, vous devrez créer manuellement l'agent de service Secure Source Manager en exécutant la commande suivante :

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

    PROJECT est l'ID du projet dans lequel vous allez créer votre instance Secure Source Manager.

    Une fois que vous avez créé le compte de service par produit et par projet (P4SA), vous devez attribuer le rôle Agent de service Secure Source Manager (roles/securesourcemanager.serviceAgent) au principal service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, sinon la création de l'instance échouera.

  3. Accordez le rôle IAM de chiffreur/déchiffreur de clés cryptographiques (roles/cloudkms.cryptoKeyEncrypterDecrypter) au compte de service Secure Source Manager. Accordez cette autorisation sur la clé que vous avez créée.

    Console

    1. Accédez à la page Gestion des clés.

      Accéder à Key Management

    2. Sélectionnez le trousseau de clés que vous souhaitez utiliser, ouvrez la page Détails du trousseau, puis sélectionnez la clé que vous avez créée.

    3. Accordez l'accès au compte de service Secure Source Manager :

      1. Cliquez sur AJOUTER UN PRINCIPE.
      2. Ajoutez le compte de service Secure Source Manager. Le compte de service est service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, où PROJECT-NUMBER correspond au numéro du projet Google Cloud dans lequel Secure Source Manager est activé.
      3. Dans Sélectionner un rôle, sélectionnez Cloud KMS > Chiffreur/Déchiffreur de CryptoKeys Cloud KMS.
      4. Cliquez sur ENREGISTRER.
    4. Répétez l'étape précédente pour accorder l'accès au compte chargé de créer l'instance Secure Source Manager.

    5. Revenez à la page Gestion des clés, sélectionnez votre trousseau de clés, puis ouvrez la page Détails du trousseau de clés. Sélectionnez ensuite à nouveau la clé.

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

    gcloud

    1. Exécutez la commande suivante pour accorder l'accès au compte de service Secure Source Manager :

      gcloud kms keys add-iam-policy-binding [--project=PROJECT] \
             KEY_NAME --location LOCATION --keyring=KEY_RING \
             --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \
             --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Remplacez les éléments suivants :

      • PROJECT : ID du projet contenant la clé
      • KEY_NAME : nom de la clé
      • LOCATION : emplacement de la clé. L'emplacement de la clé doit correspondre à l'emplacement du projet dans lequel vous souhaitez déployer une instance Secure Source Manager.
      • KEY_RING : nom du trousseau de clés
      • PROJECT_NUMBER : numéro de projet du projetGoogle Cloud où Secure Source Manager est activé
    2. Répétez l'étape précédente pour accorder l'accès au compte chargé de créer l'instance Secure Source Manager.

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

Supprimer l'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 Secure Source Manager avant de désactiver ou de détruire une clé. Les modifications apportées aux autorisations étant cohérentes en quelques secondes, vous pouvez observer tout de suite 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'une instance, vous ne pouvez plus afficher ni récupérer les données de l'instance. Toutes les données stockées dans l'instance deviennent inaccessibles, y compris l'historique du code, les demandes d'extraction et les problèmes.

Les utilisateurs disposant du rôle "Gestionnaire d'instances Secure Source Manager" ou "Propriétaire de l'instance" peuvent supprimer l'instance.

Règles d'administration CMEK

Secure Source Manager est compatible avec les contraintes de 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 Secure Source Manager figure dans la liste des services de la règle Deny de la contrainte constraints/gcp.restrictNonCmekServices, Secure Source Manager refuse de créer des instances qui ne sont pas protégées par CMEK.

  • Lorsque constraints/gcp.restrictCmekCryptoKeyProjects est configuré, Secure Source Manager crée des instances protégées par CMEK qui sont protégées par une CryptoKey provenant d'un projet, d'un dossier ou d'une organisation autorisés.

Pour en savoir plus sur la configuration des règles d'administration, consultez Règles d'administration CMEK.

Étape suivante