Configurer des clés de chiffrement pour un serveur

Vous pouvez configurer des clés de chiffrement pour chiffrer vos mots de passe de serveur. Il s'agit de 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 lors 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. Toutefois, 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. Créez une clé de chiffrement à l'aide de Cloud KMS.

    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.

      N'effectuez cette opération qu'une seule fois par projet.

    2. Attribuez les rôles suivants à votre compte de service solution Bare Metal. N'effectuez cette opération qu'une seule fois par projet.

      • roles/cloudkms.viewer: vérifiez que CryptoKeyVersion est disponible.
      • roles/cloudkms.publicKeyViewer: récupère une clé publique.

      Pour savoir comment attribuer un rôle, consultez la section Attribuer des rôles à 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 solution Bare Metal lors de son provisionnement via le formulaire d'accueil 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'entrée Google Cloud Console.

Configurer des clés de chiffrement lors de la réimagerie d'un serveur

Pour configurer des clés de chiffrement lors de la réimagerie d'un serveur, consultez la section Modifier le système d'exploitation 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 à "Serveurs"

  2. Cliquez sur le nom du serveur.

    Sur la page Détails du 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 solution Bare Metal
  • PROJECT_ID : ID du projet
  • REGION: région du serveur de 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 format du mot de passe après l'avoir copié, supprimez les espaces et les caractères de retour à la ligne ('\n').
    • CIPHERTEXT_FILE: nom du fichier 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é depuis la console Google Cloud, exécutez 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 l'avoir copié, supprimez les espaces et les caractères de retour à la ligne ('\n').
    • CIPHERTEXT_FILE: nom du fichier chiffré

    Exemple :

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

Étape suivante