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

Ce document décrit la configuration étape par étape des autorisations Google Cloud et Cloud Storage, y compris:

  • Préparer le 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 du bucket Cloud Storage

Avant de commencer

Assurez-vous de disposer d'un e-mail de la part de l'équipe Transfer Appliance intitulé Google Transfer Appliance Prepare Permissions and Storage (Préparer les autorisations et le stockage de Google Transfer Appliance). Cet e-mail contient:

  • Noms des comptes de service requis pour le transfert.

  • Un ID de session dont vous aurez besoin pour configurer votre appareil.

  • Un formulaire que vous devrez remplir une fois que vous aurez configuré votre compte.

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 dans lesquels sont stockées vos données dans Cloud Storage.

Nous utilisons deux comptes de service pour déplacer vos données depuis un serveur 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. Ensuite, vous accordez à ces comptes les rôles nécessaires pour copier les données depuis le serveur vers votre bucket Cloud Storage.

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

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

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

      ta-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 lié au service de transfert des données sur site, que nous utilisons pour transférer des données du serveur vers votre bucket Cloud Storage : Voici un exemple :

      project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

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

    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 depuis le serveur vers votre bucket Cloud Storage.

  2. Les buckets Cloud Storage sont associés à des projets Google Cloud. Le bucket que vous sélectionnez doit se trouver dans le même projet que celui utilisé pour commander l'appareil.

    Si vous n'avez pas de bucket Cloud Storage, créez-en un:

    Console Google Cloud

    1. Ouvrez la page "Buckets Cloud Storage" dans la console Google Cloud.

      Ouvrir la page "Buckets Cloud Storage"

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

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

      • Remplissez le champ Name (Nom) conformément aux exigences concernant les noms de buckets.

      • Sélectionnez la Default storage class (classe de stockage par défaut) du bucket. La classe de stockage par défaut est attribuée par défaut à tous les objets importés dans le bucket. Sélectionnez ensuite une zone pour les données du bucket.

      • Sélectionnez un modèle de contrôle des accès pour déterminer comment contrôler l'accès aux objets du bucket.

      • Vous pouvez également ajouter des étiquettes de bucket et choisir une méthode de chiffrement.

      • Ne définissez pas de règle de conservation sur le bucket.

    4. Cliquez sur OK.

    Ligne de commande

    Exécutez la commande gsutil mb :

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

    Dans cet exemple :

    Ne définissez pas de règle de conservation sur le bucket.

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

    Console Google Cloud

    1. Dans la console Google Cloud, accédez à la page Buckets de Cloud Storage.

      Accéder à la page "Buckets"

    2. Cliquez sur le menu à développer du bucket () associé au bucket pour lequel vous attribuez un rôle au 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 :

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

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

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

        project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

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

    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:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com:roles/storage.admin \
    serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com:roles/storage.admin \
    gs://BUCKET_NAME
    

    Dans cet exemple :

    • SESSION_ID : ID de session pour ce transfert particulier.
    • TENANT_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 évoqué dans la section Préparer le bucket Cloud Storage de destination pour importer les données du serveur dans votre bucket Cloud Storage.

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

  • Clés de chiffrement gérées par Google Vous pouvez nous demander de créer et gérer les clés Cloud KMS pour vous. Si vous souhaitez utiliser cette méthode, vous avez terminé la configuration de votre projet Google Cloud. Vous pouvez donc passer aux étapes décrites dans la section Recevoir votre appareil.

  • Créer et gérer vous-même les clés de chiffrement Vous pouvez créer et gérer 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-y le compte de service de session. 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 :

    Console Google Cloud

    1. Accédez à la page Clés cryptographiques de la console Google Cloud.

      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 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 Par 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 :

    Console Google Cloud

    1. Accédez à la page Clés cryptographiques de la console Google Cloud.

      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 le menu déroulant Algorithme et sélectionnez RSA 4 096 bits - Remplissage OAEP - Condensé SHA256.

    9. Cliquez sur 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 Par exemple, global.
    • PROJECT_ID : ID du projet Google Cloud dans lequel se trouve votre bucket de stockage
  3. Pour ajouter le compte de service de session en tant que compte principal à la clé asymétrique, procédez comme suit :

    Console Google Cloud

    1. Accédez à la page Clés cryptographiques dans la console Google Cloud.

      Accéder à la page Clés de chiffrement

    2. Cliquez sur le trousseau 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.

      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 :

      ta-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é publique de CryptoKey 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.

    Ligne de commande

    1. Exécutez la commande suivante pour attribuer 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:ta-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 attribuer 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:ta-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 Par 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 :

    Console Google Cloud

    1. Accédez à la page des clés de chiffrement dans la console Google Cloud.

      Accéder à la page Clés de chiffrement

    2. Cliquez sur le trousseau 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 du bucket

Nous vous envoyons un e-mail intitulé Google Transfer Appliance Préparer les autorisations et le stockage pour collecter 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 le formulaire accessible via le lien, saisissez les informations suivantes:

  • ID du projet Google Cloud.
  • Sélectionnez une option de chiffrement :
    • 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électionner une clé de chiffrement gérée par le client.
  • Nom du bucket de destination Google Cloud Storage utilisé pour ce transfert.
  • Facultatif : Un 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 des objets 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.