Autorisations au niveau du projet basées sur l'agent

Les transferts basés sur un agent nécessitent des autorisations IAM au niveau du projet pour deux entités distinctes : un agent de service et un compte d'agent de transfert.

Ne configurez les autorisations sur cette page que si votre transfert implique un système de fichiers, HDFS ou un espace de stockage compatible S3. Si votre transfert est sans agent, ne configurez pas les rôles sur cette page. Passez directement à Configurer l'accès à votre source et à votre destination.

Les transferts basés sur des agents utilisent les identités suivantes :

  • Agent de service : compte de service géré par Google utilisé par le service de transfert de stockage pour coordonner les tâches avec les agents de transfert.
  • Compte d'agent de transfert : compte utilisateur Google Cloud ou compte de service géré par l'utilisateur, utilisé pour authentifier et exécuter des agents de transfert sur vos machines ou instances clientes.

Pour obtenir des informations générales sur l'attribution de rôles IAM, consultez Accorder, modifier et révoquer les accès aux ressources.

Autorisations de l'agent de service

Le service de transfert de stockage utilise un agent de service pour coordonner les transferts pilotés par l'agent.

Pour permettre au service de transfert de stockage de coordonner le travail entre Google Cloud et vos agents de transfert, attribuez le rôle suivant à l'agent de service sur le projet exécutant le service de transfert de stockage :

  • Agent de service du service de transfert de stockage (roles/storagetransfer.serviceAgent)

Obtenir l'adresse e-mail de l'agent de service

Pour attribuer un rôle à l'agent de service, vous devez disposer de l'identifiant de l'adresse e-mail de l'agent de service. L'agent de service est créé automatiquement la première fois que vous créez un job de transfert, que vous exécutez des commandes de configuration gcloud transfer, que vous accédez à la page Transfert de stockage de la console Google Cloud ou que vous appelez googleServiceAccounts.get.

Pour obtenir l'adresse e-mail de l'agent de service :

  1. Accédez à la page de référence googleServiceAccounts.get. Un panneau interactif s'affiche, intitulé Essayer cette méthode.
  2. Sous Paramètres des requêtes, saisissez l'ID du projet.
  3. Cliquez sur Exécuter.

Copiez la valeur de accountEmail. L'adresse e-mail utilise le format suivant : project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.

Attribuer le rôle d'agent de service

Pour attribuer le rôle Agent du service de transfert de stockage :

Console Google Cloud

  1. Dans la console Google Cloud , accédez à la page IAM du projet exécutant le service de transfert de stockage.

    Accéder à IAM

  2. Cliquez sur Accorder l'accès.

  3. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail de votre agent de service.

  4. Dans la liste déroulante Sélectionner un rôle, recherchez et sélectionnez Agent du service de transfert de stockage (roles/storagetransfer.serviceAgent).

  5. Cliquez sur Enregistrer.

gcloud

Exécutez gcloud projects add-iam-policy-binding :

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:SERVICE_AGENT_EMAIL" \
--role="roles/storagetransfer.serviceAgent"

Remplacez les éléments suivants :

Autorisations du compte d'agent de transfert

Les agents de transfert s'exécutent sur vos machines clientes à l'aide des identifiants d'un compte utilisateur ou d'un compte de service géré par l'utilisateur :

  • Un compte utilisateur utilise les identifiants d'un utilisateur authentifié.
  • Un compte de service géré par l'utilisateur utilise des clés de compte de service ou la fédération d'identité. Pour créer un compte de service, consultez Créer et gérer des comptes de service.

Pour autoriser les agents de transfert à se connecter au service de transfert de stockage, à recevoir des tâches et à consigner l'état, attribuez le rôle suivant au projet Google Cloud qui héberge votre pool d'agents :

  • Agent Storage Transfer (roles/storagetransfer.transferAgent)

Pour attribuer ce rôle :

Console Google Cloud

  1. Dans la console Google Cloud , accédez à la page IAM.

    Accéder à IAM

  2. Assurez-vous d'avoir sélectionné le projet contenant votre pool d'agents.

  3. Cliquez sur Accorder l'accès.

  4. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail de votre compte utilisateur ou de votre compte de service géré par l'utilisateur.

  5. Dans la liste déroulante Sélectionner un rôle, recherchez et sélectionnez Agent de transfert de stockage (roles/storagetransfer.transferAgent).

  6. Cliquez sur Enregistrer.

gcloud

Exécutez gcloud projects add-iam-policy-binding :

gcloud projects add-iam-policy-binding AGENT_POOL_PROJECT_ID \
--member="serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT" \
--role="roles/storagetransfer.transferAgent"

Remplacez les éléments suivants :

  • AGENT_POOL_PROJECT_ID : projet contenant votre pool d'agents.
  • serviceAccount_OR_user : spécifiez serviceAccount si votre compte d'agent de transfert est un compte de service, ou user si vos agents ont été installés avec un compte utilisateur.
  • TRANSFER_AGENT_ACCOUNT : adresse e-mail du compte exécutant les agents de transfert.

Étapes suivantes

Après avoir configuré les autorisations du projet, procédez comme suit dans l'ordre :

  1. Créer un pool d'agents
  2. Installez des agents de transfert dans votre pool.
  3. Configurez les autorisations d'accès pour vos systèmes de stockage :
  4. Consultez la documentation de référence complète sur les rôles et les autorisations.