Permisos de IAM para los métodos del Servicio de transferencia de almacenamiento

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:

  • storagetransfer.jobs.create
  • storagetransfer.projects.getServiceAccount

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 depósito de origen:

Permiso Descripción Uso
storage.buckets.get Permite que la cuenta de servicio obtenga la ubicación del depósito. Uso obligatorio.
storage.objects.list Permite que la cuenta de servicio enumere los objetos en el depósito. Uso obligatorio.
storage.objects.get Permite que la cuenta de servicio lea los objetos en el depósito. Uso obligatorio.
storage.objects.delete Permite que la cuenta de servicio borre objetos en el depósito. 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 depósito:

Permiso Descripción Uso
s3:ListBucket Permite que el Servicio de transferencia de almacenamiento enumere objetos en el depósito. Uso obligatorio.
s3:GetObject Permite que el Servicio de transferencia de almacenamiento lea objetos en el depósito. Uso obligatorio.
s3:GetBucketLocation Permite que el Servicio de transferencia de almacenamiento obtenga la ubicación del depósito. Uso obligatorio.
s3:DeleteObject Permite que el Servicio de transferencia de almacenamiento borre objetos en el depósito. 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 depósito receptor:

Permiso Descripción Uso
storage.buckets.get Permite que la cuenta de servicio obtenga la ubicación del depósito. Uso obligatorio.
storage.objects.create Permite que la cuenta de servicio agregue objetos al depósito. Uso obligatorio.
storage.objects.delete Permite que la cuenta de servicio borre objetos en el depósito. Necesario si configura overwriteObjectsAlreadyExistingInSink o deleteObjectsUniqueInSink como true.
storage.objects.list Permite que la cuenta de servicio enumere los objetos en el depósito. 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.