La siguiente tabla enumera los permisos mínimos necesarios para ejecutar cada método de Servicio de transferencia de almacenamiento.
Recurso | Método | Permisos necesarios |
---|---|---|
googleServiceAccount |
get |
storagetransfer.projects.getServiceAccount |
transferJobs |
create |
Se requiere lo siguiente:
|
transferjobs |
get |
storagetransfer.jobs.get |
transferjobs |
list |
storagetransfer.jobs.list |
transferjobs |
patch |
Para actualizaciones con eliminación: storagetransfer.jobs.delete Para actualizaciones sin eliminación: 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 |
Permisos de la fuente
Cloud Storage
El Servicio de transferencia de almacenamiento utiliza la cuenta de servicio de project-[$PROJECT_NUMBER]@storage-transfer-service.iam.gserviceaccount.com
para mover datos desde un depósito de origen de Cloud Storage. La cuenta de servicio debe tener los siguientes permisos para acceder al bucket de origen:
Permiso | Descripción | Uso |
---|---|---|
storage.buckets.get |
Permite que la cuenta de servicio obtenga la ubicación del bucket. | Uso obligatorio. |
storage.objects.list |
Permite que la cuenta de servicio enumere los objetos en el bucket. | Uso obligatorio. |
storage.objects.get |
Permite que la cuenta de servicio lea los objetos en el bucket. | Uso obligatorio. |
storage.objects.delete |
Permite que la cuenta de servicio borre objetos en el bucket. | Se requiere si establece deleteObjectsFromSourceAfterTransfer en true . |
Las funciones roles/storage.objectViewer
y roles/storage.legacyBucketReader
juntas contienen los permisos que siempre se requieren. La función roles/storage.legacyBucketWriter
contiene los permisos storage.objects.delete
. La cuenta de servicio que se usa para realizar la transferencia debe tener las funciones deseadas asignadas.
Para obtener una lista completa de las funciones de Cloud Storage y los permisos que contienen, consulta las funciones de IAM.
Amazon S3
Para utilizar el Servicio de transferencia de almacenamiento para mover datos desde un Amazon S3
, debes tener una cuenta de usuario de administración de identidades y accesos de AWS que tenga ciertos permisos para el bucket:
Permiso | Descripción | Uso |
---|---|---|
s3:ListBucket |
Permite que el Servicio de transferencia de almacenamiento enumere objetos en el bucket. | Uso obligatorio. |
s3:GetObject |
Permite que el Servicio de transferencia de almacenamiento lea objetos en el bucket. | Uso obligatorio. |
s3:GetBucketLocation |
Permite que el Servicio de transferencia de almacenamiento obtenga la ubicación del bucket. | Uso obligatorio. |
s3:DeleteObject |
Permite que el Servicio de transferencia de almacenamiento borre objetos en el bucket. | Se requiere si establece deleteObjectsFromSourceAfterTransfer en true . |
Lista de URL
Si tu fuente de datos es una lista de URL, asegúrate de que cada objeto de ella sea de acceso público.
Permisos del receptor
El Servicio de transferencia de almacenamiento usa una cuenta de servicio para mover datos hacia un depósito receptor de Cloud Storage. La cuenta de servicio debe tener los siguientes permisos para acceder al bucket receptor:
Permiso | Descripción | Uso |
---|---|---|
storage.buckets.get |
Permite que la cuenta de servicio obtenga la ubicación del bucket. | Uso obligatorio. |
storage.objects.create |
Permite que la cuenta de servicio agregue objetos al bucket. | Uso obligatorio. |
storage.objects.delete |
Permite que la cuenta de servicio borre objetos en el bucket. | Necesario si configura overwriteObjectsAlreadyExistingInSink o deleteObjectsUniqueInSink como true . |
storage.objects.list |
Permite que la cuenta de servicio enumere los objetos en el bucket. | Se requiere si establece overwriteObjectsAlreadyExistingInSink en false o deleteObjectsUniqueInSink en true . |
Todos estos permisos están contenidos en la función roles/storage.legacyBucketWriter
, que puede asignar a la cuenta de servicio. Para obtener una lista completa de las funciones de Cloud Storage y los permisos que contienen, consulta las funciones de IAM.
Permisos de Pub/Sub
Si planea utilizar Pub/Sub para las transferencias, Otorgue a la cuenta de servicio el rol de IAM roles/pubsub.publisher
para el tema Pub/Sub deseado.