Avant de commencer

La première fois que vous créez une tâche de service de transfert des données sur site, vous devez activer les API requises et vous assurer que les autorisations appropriées sont accordées.

Si vous recevez des messages d'erreur lors de la configuration initiale, vérifiez que l'utilisateur avec lequel vous vous êtes connecté dispose des autorisations nécessaires pour effectuer la configuration. Dans de nombreux cas, ces autorisations ne sont pas disponibles pour tous les utilisateurs et vous devrez peut-être contacter un administrateur de projet pour obtenir de l'aide.

Pour effectuer la configuration initiale, procédez comme suit :

  1. Activez Google Storage Transfer API.

    Activer l'API

    1. Confirmez le projet pour lequel vous activez l'API, puis cliquez sur Suivant.

    2. Cliquez sur Activer.

  2. Activez Pub/Sub API.

    Activer l'API

    1. Confirmez le projet pour lequel vous activez l'API, puis cliquez sur Suivant.

    2. Cliquez sur Activer.

  3. Utilisez l'administrateur de projet Google Cloud, qui est un utilisateur disposant des droits resourcemanager.projects.setIamPolicy, pour attribuer la gestion de l'authentification et des accès (autorisations ou rôles IAM) aux éléments suivants :
    • Comptes administrateur (admin) de transfert sur site : comptes super-utilisateur apportant une assistance aux collaborateurs qui effectuent les transferts. Les administrateurs gèrent les agents de transfert sur site et définissent les limites d'utilisation de la bande passante.
    • Comptes utilisateur de transfert sur site : comptes permettant de créer et d'effectuer des transferts. Ces comptes ne sont généralement pas autorisés à supprimer des tâches de transfert.
    • Compte de service de transfert sur site : compte de service géré par Google permettant d'effectuer des transferts sur site.
    • Identité d'agent de transfert sur site : identité permettant d'exécuter l'agent de transfert sur site. Il peut s'agir d'un compte de service ou d'un compte utilisateur qui configure les agents sur site.

    Le compte administrateur du projet Google Cloud n'est nécessaire que pour configurer les utilisateurs du transfert et accorder les autorisations requises au compte de service de transfert sur site. Il n'est pas nécessaire pour démarrer des tâches de transfert.

    Pour en savoir plus sur l'attribution de rôles IAM, consultez la section Accorder, modifier et révoquer les accès à des ressources.

    Si vous souhaitez créer des rôles personnalisés pour le transfert sur site, consultez les pages Autorisations IAM pour le transfert des données sur site et Comprendre les rôles personnalisés d'IAM.

    1. Pour configurer un compte administrateur de transfert sur site, attribuez à ce compte les autorisations et les rôles IAM suivants :
      Rôle/Autorisation Utilisation Notes
      resourcemanager.projects.getIamPolicy Cette autorisation permet de vérifier que le compte de service de transfert sur site dispose des autorisations requises pour effectuer un transfert.
      Administrateur du transfert de stockage (roles/storagetransfer.admin) Permet d'effectuer des actions d'administration dans le projet de transfert, telles que la configuration du projet et la surveillance de l'agent. Pour obtenir une liste détaillée des autorisations accordées, consultez la section Rôles prédéfinis pour le service de transfert de stockage.
    2. Pour configurer un compte utilisateur de transfert sur site, attribuez à ce compte les autorisations et les rôles suivants :
      Rôle/Autorisation Utilisation Notes
      resourcemanager.projects.getIamPolicy Permet de vérifier que le compte de service de transfert sur site dispose des autorisations Pub/Sub requises pour effectuer un transfert.
      Utilisateur du transfert de stockage (roles/storagetransfer.user) Permet à l'utilisateur de créer, d'obtenir, de mettre à jour et de répertorier des transferts. Pour obtenir une liste détaillée des autorisations accordées, consultez la section Rôles prédéfinis pour le service de transfert de stockage.
      Administrateur des objets de l'espace de stockage (roles/storage.objectAdmin) Permet à l'utilisateur de créer, de mettre à jour et de supprimer des objets Cloud Storage dans le cadre d'un transfert. Ce rôle doit être accordé pour chaque bucket Cloud Storage utilisé par le compte lors des transferts.

      Pour obtenir la liste détaillée des autorisations accordées, consultez la section Rôles prédéfinis pour Cloud Storage.
    3. Le transfert sur site utilise un compte de service géré par Google pour déplacer vos données. Le format du compte de service est le suivant : project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Pour déterminer votre numéro de projet PROJECT_NUMBER spécifique, utilisez l'appel d'API googleServiceAccounts.get.

      Pour autoriser le compte de service de transfert sur site à accéder aux ressources nécessaires pour effectuer des transferts, attribuez les rôles suivants ou des autorisations équivalentes au compte de service de transfert sur site  :

      Rôle/Autorisation Utilisation Remarques
      Créateur des objets de l'espace de stockage (roles/storage.objectCreator) Permet au transfert sur site de créer des journaux de transfert dans le bucket Cloud Storage connecté au transfert. Ce rôle doit être accordé à tous les buckets Cloud Storage utilisés lors d'un transfert. Le cas échéant, vous pouvez l'accorder au projet à partir duquel le transfert sur site est exécuté.

      Pour obtenir la liste détaillée des autorisations attribuées par ces rôles, consultez la section Rôles prédéfinis pour Cloud Storage.
      Lecteur des objets de l'espace de stockage (roles/storage.objectViewer) Permet au transfert sur site de déterminer si un fichier a déjà été transféré vers ou depuis Cloud Storage.
      Éditeur Pub/Sub (roles/pubsub.editor) Permet au transfert sur site de créer et de modifier automatiquement des sujets Pub/Sub pour la communication entre Google Cloud et les agents de transfert sur site. Ce rôle doit être appliqué au projet à partir duquel le transfert sur site est exécuté.

      Pour obtenir la liste détaillée des autorisations accordées par ce rôle, consultez la section Rôles Pub/Sub.
      Lecteur des anciens buckets Storage (roles/storage.legacyBucketReader) Permet au transfert sur site de lire les métadonnées des buckets Cloud Storage. Doit être accordé à chaque bucket Cloud Storage utilisé lors d'un transfert.
    4. Pour configurer un compte de service d'agent de transfert sur site ou un compte utilisateur exécutant les agents de transfert sur site, attribuez les autorisations et les rôles suivants :
      Rôle/Autorisation Utilisation Remarques
      Administrateur des objets de l'espace de stockage (roles/storage.objectAdmin) Permet aux agents de transfert sur site de créer, de mettre à jour et de supprimer des objets Cloud Storage dans le cadre d'un transfert. Ce rôle doit être accordé à tous les buckets Cloud Storage utilisés lors d'un transfert. Le cas échéant, vous pouvez l'accorder au projet à partir duquel le transfert sur site est exécuté.

      Pour obtenir la liste détaillée des autorisations attribuées par ce rôle, consultez la section Rôles prédéfinis pour Cloud Storage.
      Éditeur Pub/Sub (roles/pubsub.publisher) Permet aux agents de transfert sur site de partager des informations avec Google Cloud à l'aide de sujets Pub/Sub. Pour obtenir la liste détaillée des autorisations accordées par ce rôle, consultez la section Rôles Pub/Sub.
      Abonné Pub/Sub (roles/pubsub.subscriber) Permet à Google Cloud de partager des informations avec les agents de transfert sur site à l'aide de sujets Pub/Sub. Pour obtenir la liste détaillée des autorisations accordées par ce rôle, consultez la section Rôles Pub/Sub.
      Éditeur Pub/Sub (roles/pubsub.editor) Permet aux agents de transfert sur site de créer, d'obtenir et de supprimer des abonnements Pub/Sub. Permet aux agents d'obtenir le sujet Pub/Sub utilisé pour la communication entre Google Cloud et les agents de transfert sur site. Pour obtenir la liste détaillée des autorisations accordées par ce rôle, consultez la section Rôles Pub/Sub.
  4. Installez Docker Community Edition sur une machine Linux physique ou virtuelle en procédant comme suit :

    1. Pour installer Docker Community Edition, exécutez les commandes suivantes :

       curl -fsSL https://get.docker.com -o get-docker.sh
      
       sudo sh get-docker.sh
      
       sudo systemctl enable docker
      

      Si des erreurs se produisent pendant l'installation, consultez la section Dépannage.

    2. Autorisez les agents de cette machine à s'authentifier auprès de Google Cloud.

      Pour activer l'authentification, exécutez les commandes suivantes afin d'enregistrer les identifiants gcloud par défaut de votre ordinateur dans un volume Docker :

      sudo docker run -ti --name gcloud-config \
          gcr.io/google.com/cloudsdktool/cloud-sdk \
          gcloud auth application-default login
      
  5. Démarrez l'agent en exécutant la commande suivante :

    sudo docker run -d --ulimit memlock=64000000 --rm \
    --volumes-from gcloud-config \
    -v /:/transfer_root \
    gcr.io/cloud-ingest/tsop-agent:latest \
    --enable-mount-directory \
    --project-id=PROJECT_ID \
    --hostname=$(hostname)
    

    Remplacez PROJECT_ID par l'ID de votre projet.

Étape suivante