Configurer des clés de chiffrement pour un serveur

Vous pouvez configurer des clés de chiffrement pour chiffrer les mots de passe de votre serveur. Ces clés sont des clés de chiffrement gérées par le client (CMEK) que vous pouvez gérer à l'aide de Cloud Key Management Service (Cloud KMS). Vous pouvez les définir lors du provisionnement d'un nouveau serveur ou de la réimagerie d'un serveur existant. Vous pouvez utiliser une clé de chiffrement avec plusieurs serveurs.

L'utilisation d'une clé de chiffrement est facultative. Cependant, une fois que vous avez configuré une clé de chiffrement, vous devez l'utiliser. Vous ne pouvez pas modifier ce paramètre. Toutefois, vous pouvez modifier la clé ou sa version.

Cette fonctionnalité n'est disponible que pour les systèmes d'exploitation Linux compatibles avec la solution Bare Metal.

Avant de commencer

  1. À l'aide de Cloud KMS, créez une clé de chiffrement.

    Pour créer une clé de chiffrement, procédez comme suit:

    1. Dans le projet dans lequel vous souhaitez créer la clé, activez l'API Cloud KMS.

      Faites-le une seule fois par projet.

    2. Attribuez les rôles suivants à votre compte de service de solution Bare Metal. Faites-le une seule fois par projet.

      • roles/cloudkms.viewer: vérifiez que CryptoKeyVersion peut être utilisé.
      • roles/cloudkms.publicKeyViewer: récupérer une clé publique.

      Pour savoir comment attribuer un rôle, consultez la section Attribuer des rôles sur une ressource.

      Pour attribuer ces rôles, utilisez la commande gcloud projects add-iam-policy-binding.

      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.publicKeyViewer
      
      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.viewer
      

      Remplacez les éléments suivants :

      • KMS_PROJECT_ID: projet contenant votre clé Cloud KMS
      • PROJECT_NUMBER: projet contenant votre serveur de solution Bare Metal
    3. Créez une clé de déchiffrement asymétrique.

      Vous pouvez créer autant de clés et de versions que nécessaire.

Configurer des clés de chiffrement lors du provisionnement d'un serveur

Vous pouvez configurer une clé de chiffrement pour un nouveau serveur de solution Bare Metal tout en le provisionnant via le formulaire d'enregistrement de la console Google Cloud.

Pour configurer une clé de chiffrement lors du provisionnement d'un serveur, consultez la section Saisir vos sélections à l'aide du formulaire d'enregistrement de la console Google Cloud.

Configurer des clés de chiffrement pour la reimagerie d'un serveur

Pour configurer des clés de chiffrement lors de la réimagerie d'un serveur, consultez la page Modifier l'OS d'un serveur.

Afficher les clés de chiffrement et les mots de passe d'un serveur

Pour afficher les clés de chiffrement et les mots de passe d'un serveur, procédez comme suit:

Console

  1. Accédez à la page Serveurs.

    Accéder à la page "Serveurs"

  2. Cliquez sur le nom du serveur.

    Sur la page Informations sur le serveur, affichez la clé de chiffrement dans le champ Clé de chiffrement du mot de passe.

  3. Pour afficher les comptes utilisateur et les mots de passe chiffrés correspondants, accédez à la section Comptes utilisateur.

gcloud

Exécutez la commande gcloud alpha bms instances auth-info :

gcloud alpha bms instances auth-info SERVER_NAME --project=PROJECT_ID --region=REGION

Remplacez les éléments suivants :

  • SERVER_NAME: nom du serveur de la solution Bare Metal
  • PROJECT_ID : ID du projet
  • REGION: région du serveur de la solution Bare Metal

Déchiffrer un mot de passe

Pour obtenir le mot de passe brut, procédez comme suit:

  1. Obtenez le texte chiffré. Exécutez la commande gcloud alpha bms instances auth-info.

    gcloud alpha bms instances auth-info SERVER_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --format='value(userAccounts.USERNAME.ENCRYPTED_PASSWORD_FILE)' | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    Remplacez les éléments suivants :

    • SERVER_NAME: nom de votre serveur de solution Bare Metal
    • PROJECT_ID: ID de votre projet de solution Bare Metal
    • REGION: emplacement de votre serveur de solution Bare Metal
    • USERNAME: nom d'utilisateur du compte associé au mot de passe que vous souhaitez déchiffrer. La valeur est root ou customeradmin.
    • ENCRYPTED_PASSWORD_FILE: fichier dans lequel vous avez enregistré le mot de passe chiffré. Pour éviter tout problème de mise en forme du mot de passe après sa copie, supprimez les espaces et les caractères de retour à la ligne ('\n').
    • CIPHERTEXT_FILE: nom du fichier en texte chiffré

    Exemple :

    gcloud alpha bms instances auth-info my-instance \
    --region=europe-west3 \
    --project=project-testing \
    --format='value(userAccounts.customeradmin.encryptedPassword)' | tr -d ' \n' | base64 -d > ciphertext
    

    Pour obtenir le texte chiffré à partir du mot de passe copié à partir de la console Google Cloud, utilisez la commande suivante:

    cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    Remplacez les éléments suivants :

    • ENCRYPTED_PASSWORD_FILE: fichier dans lequel vous avez enregistré le mot de passe chiffré. Pour éviter tout problème de format du mot de passe après sa copie, supprimez les espaces et les caractères de retour à la ligne ('\n').
    • CIPHERTEXT_FILE: nom du fichier en texte chiffré

    Exemple :

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. Déchiffrez le mot de passe. Suivez la procédure Déchiffrer des données.

Étapes suivantes