Configurar acceso a fuentes de datos y receptores

En esta página, se explica cómo configurar el acceso al receptor y a la fuente de datos para una transferencia de datos realizada con el Servicio de transferencia de almacenamiento.

El Servicio de transferencia de almacenamiento usa una cuenta de servicio administrada por Google para trasladar tus datos. Si creas una transferencia desde Google Cloud Console y tienes permisos para actualizar las políticas de IAM para los recursos de Cloud Storage, las transferencias creadas desde Google Cloud Console otorgan automáticamente a la cuenta de servicio administrada por Google que usa el Servicio de transferencia de almacenamiento los permisos necesarios para la transferencia.

El acceso a fuentes de datos y transferencias que no son de Google Cloud creadas con la API del Servicio de transferencia de almacenamiento requiere una configuración adicional.

Requisitos previos

Los permisos de la cuenta de servicio se otorgan a nivel del bucket. Debes tener la capacidad de otorgar estos permisos, como la función de Administrador de almacenamiento. Para obtener más información, consulta Identity and Access Management.

Si planeas usar Pub/Sub para transferencias, asegúrate de otorgar a la cuenta de servicio la función de IAM roles/pubsub.publisher para el tema deseado de Pub/Sub. Puede haber un retraso de varios segundos entre la asignación de la función y su aplicación en tu cuenta de servicio. Si otorgas este permiso de forma programática, espera 30 segundos antes de configurar el Servicio de transferencia de almacenamiento.

Si Cloud Key Management Service está habilitado en tus buckets de origen o destino de Cloud Storage, verifica que las cuotas enumeradas para Cloud KMS en la página Cuotas de tu proyecto sean compatibles con las cuotas de lectura y escritura del Servicio de transferencia de almacenamiento. Si no es así, solicita un aumento de la cuota desde la página Cuotas de tu proyecto.

Para obtener más información, consulta lo siguiente:

Configura el acceso a la fuente de datos

Cloud Storage

El Servicio de transferencia de almacenamiento usa una cuenta de servicio administrada por Google para mover datos desde un bucket de origen de Cloud Storage, que se crea la primera vez que llamas a googleServiceAccounts.get

El formato de la cuenta de servicio suele ser project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Para encontrar el formato de tu cuenta de servicio, usa la llamada a la API de googleServiceAccounts.get.

Si deseas configurar el Servicio de transferencia de almacenamiento para usar Cloud Storage como fuente de datos, asigna las siguientes funciones, o permisos equivalentes, a la cuenta de servicio administrada por Google que muestra la llamada a la API de googleServiceAccounts.get:

Función Qué hace Notas
roles/storage.objectViewer Permite que la cuenta de servicio lea el contenido del bucket y lea los datos y metadatos de los objetos.
roles/storage.legacyBucketReader Permite que la cuenta de servicio lea el contenido y los metadatos de un bucket y lea los metadatos de los objetos. Si no quieres borrar objetos de origen en Cloud Storage, asigna roles/storage.legacyBucketReader a la cuenta de servicio.
roles/storage.legacyBucketWriter Permite que la cuenta de servicio cree, reemplace y borre objetos, enumere objetos en un bucket. lea los metadatos de los objetos cuando se enumeran y lea los metadatos de los buckets, excepto las políticas de IAM. Si deseas borrar objetos de origen de Cloud Storage, asigna roles/storage.legacyBucketWriter a la cuenta de servicio.

Si deseas realizar transferencias de datos avanzadas, consulta los permisos de IAM para el Servicio de transferencia de almacenamiento.

Amazon S3

Sigue estos pasos para configurar el acceso a un bucket de Amazon S3:

  1. Crea un usuario de administración de identidades y accesos de AWS (IAM de AWS) con un nombre que puedas reconocer fácilmente, como transfer-user. Asegúrate de que el nombre siga los lineamientos para nombres de usuarios de IAM de AWS (consulta las Limitaciones de entidades y objetos de IAM).
  2. Otorga al usuario IAM de AWS la capacidad de hacer lo siguiente:
    • Enumera el bucket de Amazon S3.
    • Obtén la ubicación del bucket.
    • Lee los objetos del bucket.
    • Si planeas borrar objetos del origen después de que estos se hayan transferido, otorga al usuario permiso para borrar objetos.
  3. Crea al menos un par de claves secretas, o de acceso, para el trabajo de transferencia que deseas configurar. También puedes crear un par de claves secretas, o de acceso, para cada trabajo de transferencia.

  4. Restablece los objetos que estén archivados en Amazon Glacier. No se podrá acceder a los objetos en Amazon S3 que estén archivados en Amazon Glacier hasta que se los restablezca. Para obtener más información, consulta el informe de migración a Cloud Storage desde Amazon Glacier.

Microsoft Azure Blob Storage

Siga estos pasos para configurar el acceso a un contenedor de almacenamiento de Microsoft Azure:

  1. Crea un usuario de Microsoft Azure Storage o usa uno existente para acceder a la cuenta de almacenamiento de tu contenedor de Microsoft Azure Storage Blob.
  2. Cree un token SAS a nivel de contenedor. Consulta Conceder acceso limitado a los recursos de Azure Storage mediante firmas de acceso compartido.

    El tiempo de vencimiento predeterminado para los tokens SAS es de 8 horas. Cuando cree su token SAS, asegúrese de establecer un tiempo de vencimiento razonable que le permita completar con éxito su transferencia.

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.

Configura el acceso al receptor de datos

El Servicio de transferencia de almacenamiento usa una cuenta de servicio administrada por Google para mover datos desde un bucket de origen de Cloud Storage, que se crea la primera vez que llamas a googleServiceAccounts.get

El formato de la cuenta de servicio suele ser project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Para encontrar el formato de tu cuenta de servicio, usa la llamada a la API de googleServiceAccounts.get.

El receptor de datos, de tu transferencia de datos, siempre es un bucket de Cloud Storage.

Si deseas configurar el Servicio de transferencia de almacenamiento para usar Cloud Storage como receptor de datos, asigna las siguientes funciones, o permisos equivalentes, a la cuenta de servicio administrada por Google que muestra la llamada a la API de googleServiceAccounts.get:

Función Qué hace
roles/storage.legacyBucketWriter Permite que la cuenta de servicioadministrada por Google cree, reemplace y borre objetos, enumere objetos en el bucket de destino y lea los metadatos de un bucket.
roles/storage.objectViewer Habilita la cuenta de servicio administrada por Google para enumerar y obtener objetos en el bucket de destino.

Si deseas obtener más información sobre los permisos obligatorios, consulta los permisos de IAM para el Servicio de transferencia de almacenamiento.

¿Qué sigue?