Autorisations et rôles

Le service de transfert de stockage utilise les autorisations et rôles IAM (Identity and Access Management) pour contrôler qui peut accéder aux ressources du service. Les principaux types de ressources disponibles au sein du service de transfert de stockage sont les tâches, les opérations et les pools d'agents. Dans la hiérarchie des stratégies IAM, les tâches sont des ressources enfants de projets, tandis que les opérations sont des ressources enfants de tâches.

Pour accorder l'accès à une ressource, attribuez une ou plusieurs autorisations ou un ou plusieurs rôles à un utilisateur, un groupe ou un compte de service.

Autorisations

Dans le cadre du service de transfert de stockage, vous pouvez accorder les autorisations suivantes :

Autorisation liée au projet de transfert

Autorisation Description
storagetransfer.projects.getServiceAccount Autorise à lire le compte de service Google utilisé par le service de transfert de stockage pour accéder aux buckets Cloud Storage.

Autorisations liées aux tâches de transfert

Le tableau suivant décrit les autorisations liées aux tâches du service de transfert de stockage :

Autorisation Description
storagetransfer.jobs.create Autorise à créer des tâches de transfert.
storagetransfer.jobs.delete Autorise à supprimer des tâches de transfert existantes.

Les tâches de transfert sont supprimées par un appel à la fonction patch. Toutefois, les utilisateurs doivent disposer de cette autorisation lors de la suppression de tâches de transfert afin d'éviter toute erreur d'autorisation.
storagetransfer.jobs.get Autorise à récupérer des tâches spécifiques.
storagetransfer.jobs.list Autorise à répertorier l'ensemble des tâches de transfert.
storagetransfer.jobs.run Permet d'exécuter toutes les tâches de transfert.
storagetransfer.jobs.update Autorise à mettre à jour les configurations de tâches de transfert sans les supprimer.

Autorisations liées aux opérations de transfert

Le tableau suivant décrit les autorisations liées aux opérations du service de transfert de stockage :

Autorisation Description
storagetransfer.operations.assign Utilisé par les agents de transfert pour attribuer des opérations.
storagetransfer.operations.cancel Autorise à annuler des opérations de transfert.
storagetransfer.operations.get Autorise à obtenir les détails des opérations de transfert.
storagetransfer.operations.list Autorise à répertorier l'ensemble des opérations de transfert.
storagetransfer.operations.pause Autorise à mettre en pause les opérations de transfert.
storagetransfer.operations.report Utilisé par les agents de transfert pour signaler l'état de l'opération.
storagetransfer.operations.resume Autorise à reprendre les opérations de transfert mises en pause.

Autorisations liées au pool d'agents de transfert

Le tableau suivant décrit les autorisations pour les pools d'agents de transfert des systèmes de fichiers :

Permission Description
storagetransfer.agentpools.create Peut créer des pools d'agents.
storagetransfer.agentpools.update Peut mettre à jour les pools d'agents.
storagetransfer.agentpools.delete Peut supprimer des pools d'agents.
storagetransfer.agentpools.get Peut obtenir des informations sur des pools d'agents spécifiques.
storagetransfer.agentpools.list Peut répertorier des informations pour tous les pools d'agents du projet.
storagetransfer.agentpools.report Utilisé par les agents de transfert pour signaler l'état.

Rôles prédéfinis

Cette section décrit les rôles prédéfinis pour le service de transfert de stockage. Les rôles sont les méthodes privilégiées pour définir des autorisations IAM.

Comparaison des rôles

Vous pouvez attribuer le rôle de projet suivant ou les rôles prédéfinis associés au service de transfert de stockage :

Capacité Éditeur (roles/editor) Transfert de stockage (roles/storagetransfer.)
Administrateur (admin) Utilisateur (user) Lecteur (viewer)
Répertorier/obtenir des tâches
Créer des tâches
Exécuter des tâches
Mettre à jour des tâches
Supprimer des tâches
Répertorier/obtenir des opérations de transfert
Mettre en pause/reprendre des opérations de transfert
Consulter les détails des comptes de service Google utilisés par le service de transfert de stockage pour accéder aux buckets Cloud Storage.
Répertorier des agents
Répertorier des pools d'agents
Créer des pools d'agents
Mettre à jour les pools d'agents
Supprimer des pools d'agents
Obtenir des pools d'agents
Lire ou définir la bande passante du projet

Détails du rôle

Le tableau suivant décrit en détail les rôles prédéfinis pour le service de transfert de stockage :

Rôle Description Autorisations associées
Administrateur de transfert de stockage
(roles/storagetransfer.
admin
)

Fournit toutes les autorisations sur le service de transfert de stockage, y compris la suppression de tâches.

Justification : Il s'agit du rôle de plus haut niveau possédant les responsabilités les plus étendues. Cela correspond au super-utilisateur qui est en appui de ses collègues lors des transferts. Ce rôle convient particulièrement aux personnes chargées d'administrer les transferts, typiquement les administrateurs informatiques.

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.*
Utilisateur du transfert de stockage
(roles/storagetransfer.
user
)

Fournit à l'utilisateur les autorisations permettant de créer, d'obtenir, de mettre à jour et de répertorier des tâches de transfert au sein du projet. Toutefois, l'utilisateur n'est pas autorisé à supprimer ses propres tâches.

Justification : Ce rôle permet de séparer d'un côté la création et la maintenance de tâches, et de l'autre leur suppression. Ce rôle convient particulièrement aux utilisateurs qui doivent exécuter des transferts dans le cadre de leurs fonctions, par exemple un employé. Ce rôle ne permet pas de supprimer le transfert, de sorte que les auditeurs ou le personnel de sécurité puissent consulter un enregistrement des transferts passés sans la moindre altération.

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.agentpools.create
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
  • storagetransfer.agentpools.report
  • storagetransfer.agentpools.update
  • storagetransfer.jobs.create
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.jobs.run
  • storagetransfer.jobs.update
  • storagetransfer.operations.*
  • storagetransfer.projects.getServiceAccount
Lecteur de transfert de stockage
(roles/storagetransfer.
viewer
)

Fournit des autorisations permettant de répertorier et d'obtenir des tâches et opérations de transfert au sein du projet. L'utilisateur ne peut pas planifier, mettre à jour ou supprimer des tâches.

Justification : Le rôle de lecteur est conçu pour un accès en lecture seule, afin de visualiser les tâches et les opérations de transfert. Ce rôle permet de séparer les tâches d'audit et de création de rapports de la création et de la maintenance des tâches. Il convient particulièrement aux utilisateurs ou aux équipes internes qui réalisent l'audit des transferts, tels que les responsables de la sécurité, de la conformité ou des unités commerciales.

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.operations.get
  • storagetransfer.operations.list
  • storagetransfer.projects.getServiceAccount
Agent de transfert de stockage (roles/storagetransfer.transferAgent)

Attribue aux agents de transfert les autorisations requises pour effectuer un transfert à l'aide du service de transfert de stockage et de Pub/Sub.

Attribuez ce rôle à l'utilisateur ou au compte de service utilisé par les agents.

  • storagetransfer.operations.get
  • storagetransfer.operations.report
  • storagetransfer.operations.assign
  • storagetransfer.agentpools.report
  • pubsub.topics.create
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.subscriptions.create
  • pubsub.subscriptions.get
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.consume
  • pubsub.topics.attachSubscription
  • pubsub.topics.publish
Agent de service de transfert de stockage (roles/storagetransfer.serviceAgent)

Accorde à l' agent de service de transfert de stockage les autorisations nécessaires pour créer et modifier des sujets Pub/Sub afin de communiquer depuis Google Cloud vers les agents de transfert.

Attribuez ce rôle à l' agent de service du service de transfert de stockage.

  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.get
  • pubsub.topics.publish
  • pubsub.topics.update

Rôles personnalisés

Vous pouvez créer et appliquer des rôles IAM personnalisés pour répondre aux exigences d'accès de votre organisation.

Lorsque vous créez des rôles personnalisés, nous vous recommandons d'utiliser une combinaison de rôles prédéfinis pour vous assurer que les autorisations appropriées sont incluses.

Google Cloud Console ne fonctionnera pas correctement si le rôle personnalisé ne dispose pas des autorisations requises. Par exemple, certaines parties de la console Google Cloud partent du principe que le rôle dispose d'un accès en lecture pour afficher un élément avant de le modifier. Par conséquent, certains écrans de la console Google Cloud sont susceptibles de ne pas fonctionner correctement pour un rôle doté seulement d'autorisations en écriture.