Le tableau suivant répertorie les autorisations minimales requises pour exécuter chaque méthode du service de transfert de stockage.
Ressource | Méthode | Autorisations requises |
---|---|---|
googleServiceAccount |
get |
storagetransfer.projects.getServiceAccount |
transferJobs |
create |
Les deux éléments suivants sont requis :
|
transferjobs |
get |
storagetransfer.jobs.get |
transferjobs |
list |
storagetransfer.jobs.list |
transferjobs |
patch |
Pour les mises à jour avec suppression : storagetransfer.jobs.delete Pour les mises à jour sans suppression : storagetransfer.jobs.update
|
transferoperations |
cancel |
storagetransfer.operations.cancel |
transferOperations |
get |
storagetransfer.operations.get |
transferOperations |
list |
storagetransfer.operations.list |
transferOperations |
pause |
storagetransfer.operations.pause |
transferOperations |
resume |
storagetransfer.operations.resume |
Autorisations relatives à la source
Cloud Storage
Le service de transfert de stockage utilise le compte de service project-[$PROJECT_NUMBER]@storage-transfer-service.iam.gserviceaccount.com
pour déplacer des données depuis un bucket source Cloud Storage. Ce compte de service doit disposer des autorisations suivantes applicables au bucket source :
Autorisation | Description | Utilisation |
---|---|---|
storage.buckets.get |
Permet au compte de service d'obtenir l'emplacement du bucket. | Toujours obligatoire |
storage.objects.list |
Permet au compte de service de répertorier les objets présents dans le bucket. | Toujours obligatoire |
storage.objects.get |
Permet au compte de service de lire les objets dans le bucket. | Toujours obligatoire |
storage.objects.delete |
Permet au compte de service de supprimer des objets du bucket. | Obligatoire si vous définissez deleteObjectsFromSourceAfterTransfer sur true . |
Les rôles roles/storage.objectViewer
et roles/storage.legacyBucketReader
contiennent les autorisations qui sont toujours requises. Le rôle roles/storage.legacyBucketWriter
contient les autorisations storage.objects.delete
. Les rôles souhaités doivent être attribués au compte de service utilisé pour effectuer le transfert.
Pour obtenir une liste complète des rôles Cloud Storage et des autorisations qu'ils comprennent, consultez la page sur les rôles IAM.
Amazon S3
Pour utiliser le service de transfert de stockage afin de déplacer des données à partir d'un bucket Amazon S3,
vous devez disposer d'un compte utilisateur AWS IAM (Identity and Access Management) disposant de certaines autorisations pour le bucket en question :
Autorisation | Description | Utilisation |
---|---|---|
s3:ListBucket |
Permet au service de transfert de stockage de répertorier les objets présents dans le bucket. | Toujours obligatoire |
s3:GetObject |
Permet au service de transfert de stockage de lire des objets dans le bucket. | Toujours obligatoire |
s3:GetBucketLocation |
Permet au service de transfert de stockage d'obtenir l'emplacement du bucket. | Toujours obligatoire |
s3:DeleteObject |
Permet au service de transfert de stockage de supprimer des objets du bucket. | Obligatoire si vous définissez deleteObjectsFromSourceAfterTransfer sur true . |
Liste d'URL
Si votre source de données est une liste d'URL, vérifiez que chaque objet de cette liste est accessible au public.
Autorisations relatives au récepteur
Le service de transfert de stockage utilise un compte de service pour déplacer des données dans un bucket récepteur Cloud Storage. Ce compte de service doit disposer de certaines autorisations applicables au bucket récepteur :
Autorisation | Description | Utilisation |
---|---|---|
storage.buckets.get |
Permet au compte de service d'obtenir l'emplacement du bucket. | Toujours obligatoire |
storage.objects.create |
Permet au compte de service d'ajouter des objets au bucket. | Toujours obligatoire |
storage.objects.delete |
Permet au compte de service de supprimer des objets du bucket. | Obligatoire si vous définissez overwriteObjectsAlreadyExistingInSink ou deleteObjectsUniqueInSink sur true . |
storage.objects.list |
Permet au compte de service de répertorier les objets présents dans le bucket. | Obligatoire si vous définissez overwriteObjectsAlreadyExistingInSink sur false ou deleteObjectsUniqueInSink sur true . |
Toutes ces autorisations sont contenues dans le rôle roles/storage.legacyBucketWriter
, que vous pouvez attribuer au compte de service. Pour obtenir une liste complète des rôles Cloud Storage et des autorisations qu'ils comprennent, consultez la page sur les rôles IAM.
Autorisations Pub/Sub
Si vous prévoyez d'utiliser Pub/Sub pour les transferts, attribuez au compte de service le rôle IAM roles/pubsub.publisher
pour le sujet Pub/Sub souhaité.