Configurer les autorisations Google Cloud et Cloud Storage étape par étape

Cet article décrit la configuration détaillée des autorisations Google Cloud et de Cloud Storage, y compris:

  • Préparation du bucket Cloud Storage de destination.
  • Préparer une clé Cloud Key Management Service pour sécuriser vos données
  • Fournir à l'équipe Transfer Appliance les données de configuration de votre bucket Cloud Storage.

Avant de commencer

Assurez-vous de disposer des éléments suivants:

  • L'e-mail de l'équipe Transfer Appliance intitulé Google Transfer Appliance Préparer le bucket de destination. Cet e-mail répertorie les comptes de service requis pour votre transfert.

  • L'e-mail de l'équipe Transfer Appliance intitulé Google Transfer Appliance Access Credentials Vous devez remplir le formulaire figurant dans cet e-mail que l'équipe Transfer Appliance utilisera pour configurer le transfert.

Préparer le bucket Cloud Storage de destination

Pour stocker vos données dans Cloud Storage, vous devez préparer un bucket. Les buckets sont les conteneurs de base contenant vos données dans Cloud Storage.

Nous utilisons deux comptes de service pour déplacer vos données depuis Transfer Appliance vers le bucket Cloud Storage de destination que vous préparez. Les comptes de service sont des comptes particuliers qui sont utilisés par une application, et non par une personne, pour effectuer des tâches. Dans le cas présent, les comptes de service autorisent Transfer Appliance à utiliser des ressources Cloud Storage en votre nom pour copier des données depuis le serveur vers votre bucket Cloud Storage. Vous accordez à ces comptes les rôles nécessaires pour copier les données du système dans votre bucket Cloud Storage.

Pour préparer le bucket Cloud Storage de destination, procédez comme suit :

  1. Dans un e-mail intitulé Google Transfer Appliance Préparer le bucket de destination, l'équipe Transfer Appliance vous fournit les comptes de service suivants:

    • Un compte de service de session lié à ce transfert. En voici un exemple :

      SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      Dans cet exemple, SESSION_ID correspond à l'ID de session de ce transfert particulier.

    • Un agent de service associé au service de transfert des données sur site que nous utilisons pour transférer des données du système vers Cloud Storage bucket. Voici un exemple:

      project-IDENTIFIER@storage-transfer-service.gserviceaccount.com

      Dans cet exemple, IDENTIFIER correspond à un nombre généré spécifique à ce projet particulier.

    Notez les comptes de service pour les étapes suivantes.

    Les comptes de service permettent à Transfer Appliance de manipuler les ressources Google Cloud en votre nom, à savoir copier des données du serveur vers Cloud Storage. Vous accordez à ces comptes les rôles nécessaires pour copier les données du système dans votre bucket Cloud Storage.

  2. Les buckets Cloud Storage sont associés à des projets Google Cloud. Pour créer un bucket Cloud Storage, vous devez choisir un projet dans lequel placer le bucket. Exécutez la commande suivante pour répertorier les ID de projet disponibles :

    gcloud projects list
    
  3. Si vous n'avez pas de bucket Cloud Storage, procédez comme suit pour en créer un :

    Google Cloud Console

    1. Ouvrez le navigateur Cloud Storage dans Google Cloud Console.

      Ouvrir le navigateur Cloud Storage

    2. Cliquez sur Créer un bucket pour ouvrir le formulaire de création de bucket.

      Nouvel compartiment

    3. Saisissez les informations de votre bucket et cliquez sur Continuer à chaque étape :

    4. Cliquez sur OK.

    Command line

    Exécutez la commande gsutil mb :

    gsutil mb -b on -l LOCATION -p PROJECT_ID gs://BUCKET_NAME
    

    Dans cet exemple :

  4. Pour autoriser les comptes de service Transfer Appliance à utiliser votre bucket Cloud Storage, procédez comme suit:

    Google Cloud Console

    1. Dans Google Cloud Console, accédez à la page du Navigateur Cloud Storage.

      Accéder à la page du navigateur

    2. Cliquez sur le menu déroulant () associé au bucket pour lequel vous attribuez un compte principal.

    3. Choisissez Modifier les autorisations relatives au bucket.

    4. Cliquez sur le bouton + Ajouter des comptes principaux.

    5. Dans le champ Nouveaux comptes principaux, saisissez les identités suivantes:

      • Le compte de service de session. En voici un exemple :

        SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        Dans cet exemple, SESSION_ID correspond à l'ID de session de ce transfert particulier.

      • Agent du service de transfert des données sur site. Voici un exemple:

        project-IDENTIFIER@storage-transfer-service.gserviceaccount.com

        Dans cet exemple, IDENTIFIER est un numéro généré spécifique à ce projet.

    6. Dans le menu déroulant Sélectionner un rôle, sélectionnez le rôle Administrateur de l'espace de stockage.

      Les rôles sélectionnés apparaissent dans le volet et sont accompagnés d'une brève description des autorisations auxquelles ils correspondent.

    7. Cliquez sur Enregistrer.

    Ligne de commande

    Exécutez la commande gsutil iam ch :

    gsutil iam ch \
    serviceAccount:SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com:roles/storage.admin \
    serviceAccount:project-IDENTIFIER@storage-transfer-service.gserviceaccount.com \
    gs://BUCKET_NAME
    

    Dans cet exemple :

    • SESSION_ID : ID de session pour ce transfert particulier.
    • IDENTIFIER: nombre généré spécifique à ce projet.
    • BUCKET_NAME : nom du bucket que vous créez.

Préparer la clé Cloud KMS

Transfer Appliance sécurise vos données sur le serveur en les chiffrant avant que vous nous renvoyiez le serveur. Une clé publique Cloud KMS (Key Management Service) permet de chiffrer les données sur Transfer Appliance, tandis qu'une clé privée est utilisée pour les déchiffrer.

Nous utilisons le compte de service de session de Préparer le bucket Cloud Storage de destination pour importer les données du système dans votre bucket Cloud Storage.

Vous disposez des options suivantes pour gérer les clés de chiffrement:

  • Les clés de chiffrement gérées par Google. Vous pouvez nous demander de créer et de gérer les clés Cloud KMS pour vous. Si vous souhaitez utiliser cette méthode, passez directement à la section Fournir les données de configuration du bucket à l'équipe Transfer Appliance.

  • Créez et gérez vous-même des clés de chiffrement. Créez et gérez les clés de chiffrement utilisées pour votre transfert en suivant les instructions ci-dessous. Vous préparez une clé de déchiffrement asymétrique Cloud KMS et ajoutez le compte de service de session à la clé. Le compte de service de session utilise la clé de déchiffrement asymétrique pour déchiffrer et copier vos données dans Cloud Storage.

Pour préparer des clés Cloud KMS, procédez comme suit :

  1. Si vous n'avez pas de trousseau de clés Cloud Key Management Service, procédez comme suit pour en créer un :

    Google Cloud Console

    1. Accédez à la page Clés de chiffrement dans Cloud Console.

      Accéder à la page Clés de chiffrement

    2. Cliquez sur Créer un trousseau.

    3. Dans le champ Key ring name (Nom du trousseau), saisissez le nom du trousseau de clés.

    4. Dans la liste déroulante Key ring location (Emplacement du trousseau), sélectionnez un emplacement tel que "us-east1".

    5. Cliquez sur Create (Créer).

    Ligne de commande

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    Dans cet exemple :

    • LOCATION : emplacement Cloud Key Management Service du trousseau de clés Exemple :global
    • KEY_RING : nom du trousseau de clés
    • PROJECT_ID : ID du projet Google Cloud dans lequel se trouve votre bucket de stockage
  2. Créez une clé de déchiffrement asymétrique en procédant comme suit :

    Google Cloud Console

    1. Accédez à la page Clés de chiffrement dans Cloud Console.

      Accéder à la page Clés de chiffrement

    2. Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.

    3. Cliquez sur Créer une clé.

    4. Dans la section Quel type de clé souhaitez-vous créer ?, sélectionnez Clé générée.

    5. Dans le champ Key name (Nom de la clé), saisissez le nom de votre clé.

    6. Cliquez sur le menu déroulant Niveau de protection, puis sélectionnez Logiciel.

    7. Cliquez sur le menu déroulant Objectif et sélectionnez Déchiffrement asymétrique.

    8. Cliquez sur la liste déroulante Algorithme et sélectionnez 4 096 bits RSA - Marge intérieure OAEP - Récapitulatif SHA256.

    9. Cliquez sur Create (Créer).

    Ligne de commande

    Exécutez la commande suivante pour créer une clé de déchiffrement asymétrique :

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    Dans cet exemple :

    • KEY : nom de la clé Cloud Key Management Service Exemple :ta-key
    • KEY_RING : nom du trousseau de clés
    • LOCATION : emplacement Cloud Key Management Service du trousseau de clés Exemple :global
    • PROJECT_ID : ID du projet Google Cloud dans lequel se trouve votre bucket de stockage
  3. Ajoutez le compte de service de session en tant que compte principal à la clé asymétrique en procédant comme suit:

    Google Cloud Console

    1. Accédez à la page Clés de chiffrement dans Cloud Console.

      Accéder à la page Clés de chiffrement

    2. Cliquez sur le trousseau de clés contenant votre clé asymétrique.

    3. Cochez la case correspondant à la clé souhaitée.

    4. Dans le panneau d'informations, cliquez sur Ajouter un compte principal.

      L'option Ajouter des comptes principaux s'affiche.

    5. Dans le champ Nouveaux comptes principaux, saisissez le compte de service de session fourni par l'équipe Transfer Appliance. En voici un exemple :

      SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      Dans cet exemple, SESSION_ID correspond à l'ID de session de ce transfert particulier.

    6. Dans le champ Sélectionner un rôle, ajoutez le rôle Lecteur de clé de chiffrement publique Cloud KMS.

    7. Cliquez sur Ajouter un autre rôle.

    8. Dans le champ Sélectionner un rôle, ajoutez le rôle Déchiffreur de clé de chiffrement Cloud KMS.

    9. Cliquez sur Enregistrer.

    Command line

    1. Exécutez la commande suivante pour accorder le rôle roles/cloudkms.cryptoKeyDecrypter au compte de service de session:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.cryptoKeyDecrypter
      

      Dans cet exemple :

      • KEY : nom de la clé Cloud Key Management Service Exemple :ta-key
      • KEY_RING : nom du trousseau de clés
      • LOCATION : emplacement Cloud Key Management Service du trousseau de clés Exemple :global
      • SESSION_ID : ID de session pour ce transfert particulier.
    2. Exécutez la commande suivante pour accorder le rôle roles/cloudkms.publicKeyViewer au compte de service de session:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      Dans cet exemple :

      • KEY : nom de la clé Cloud Key Management Service Exemple :ta-key
      • KEY_RING : nom du trousseau de clés
      • LOCATION : emplacement Cloud Key Management Service du trousseau de clés Exemple :global
      • SESSION_ID : ID de session pour ce transfert particulier.
  4. Obtenez le chemin d'accès de votre clé asymétrique en procédant comme suit :

    Google Cloud Console

    1. Accédez à la page Clés de chiffrement dans Google Cloud Console.

      Accéder à la page Clés de chiffrement

    2. Cliquez sur le trousseau de clés contenant votre clé de déchiffrement asymétrique.

    3. Cliquez sur le nom de la clé de déchiffrement asymétrique.

    4. Sélectionnez la version de clé de votre choix, puis cliquez sur Plus .

    5. Cliquez sur Copier le nom de la ressource.

      Voici un exemple de format de clé :

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      Dans cet exemple :

      • PROJECT_ID : ID du projet Google Cloud dans lequel se trouve votre bucket de stockage
      • LOCATION : emplacement Cloud Key Management Service du trousseau de clés
      • KEY_RING : nom du trousseau de clés
      • KEY : nom de la clé Cloud Key Management Service
      • VERSION_NUMBER : numéro de version de la clé

      L'équipe Transfer Appliance a besoin du chemin d'accès complet de la clé, y compris du numéro de version, pour pouvoir appliquer la clé correcte à vos données.

    Ligne de commande

    Exécutez la commande suivante pour répertorier le chemin d'accès complet de votre clé asymétrique, y compris son numéro de version :

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    Dans cet exemple :

    • KEY_RING : nom de votre trousseau de clés.
    • KEY : nom de votre clé asymétrique.
    • LOCATION : emplacement Google Cloud du trousseau.
    • PROJECT_ID : ID du projet Google Cloud dans lequel se trouve votre bucket de stockage.

    L'exemple de réponse suivant ressemble au résultat renvoyé :

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    Dans cet exemple :

    • PROJECT_ID : ID du projet Google Cloud dans lequel se trouve votre bucket de stockage
    • LOCATION : emplacement Cloud Key Management Service du trousseau de clés
    • KEY_RING : nom du trousseau de clés
    • KEY : nom de la clé Cloud Key Management Service
    • VERSION_NUMBER : numéro de version de la clé

    L'équipe Transfer Appliance a besoin de la chaîne sous NAME, qui se termine par /cryptoKeyVersions/VERSION_NUMBER, où VERSION_NUMBER est le numéro de version de votre clé.

Fournir à l'équipe Transfer Appliance les données de configuration des buckets

Nous envoyons un e-mail intitulé Identifiants d'accès Google Transfer Appliance pour recueillir des informations sur votre bucket Cloud Storage. Nous utilisons les informations que vous fournissez pour configurer le transfert de Transfer Appliance vers Cloud Storage.

Dans l'e-mail envoyé par l'équipe Transfer Appliance intitulé Google Transfer Appliance Access Credentials (Identifiants d'accès aux transferts Google), saisissez les informations suivantes:

  • ID du projet Google Cloud Platform
  • Sélectionnez l'option de votre choixChiffrement :
    • Clé de chiffrement gérée par Google, si vous avez choisi de laisser Google gérer votre clé de chiffrement.
    • Clé de chiffrement gérée par le client, si vous avez choisi de gérer votre propre clé de chiffrement. Sélectionnez la clé de chiffrement souhaitée dans le menu déroulant Sélectionnez une clé de chiffrement gérée par le client.
  • Le nom du bucket de destination Google Cloud Storage utilisé pour ce transfert.
  • Facultatif: Préfixe d'objet. Sans préfixe d'objet, les objets sont transférés vers Cloud Storage avec le chemin de la source, à l'exclusion du chemin racine, avant le nom du fichier sur le système de fichiers. Par exemple, si vous disposez des fichiers suivants :
    • /source_root_path/file1.txt
    • /source_root_path/dirA/file2.txt
    • /source_root_path/dirA/dirB/file3.txt
    Les noms d'objet dans Cloud Storage sont les suivants :
    • file1.txt
    • dirA/file2.txt
    • dirA/dirB/file3.txt
    Le préfixe d'objet est ajouté au nom de destination de l'objet dans Cloud Storage, après le caractère / du nom du bucket de destination et avant tout nom de chemin d'accès à partir duquel l'objet a été transféré, à l'exclusion du chemin racine de la source. Cela peut vous aider à faire la distinction entre les objets transférés et d'autres tâches de transfert.

    Le tableau suivant présente plusieurs exemples de préfixes d'objet et de noms d'objet résultant dans Cloud Storage, si le chemin de l'objet source est /source_root_path/sub_folder_name/object_name :
    Préfixe Nom de l'objet de destination
    Aucun /destination_bucket/sub_folder_name/object_name
    prefix/ /destination_bucket/prefix/sub_folder_name/object_name

Étape suivante

Configurez les ports réseau IP pour que Transfer Appliance fonctionne sur votre réseau.