Permisos a nivel del proyecto basados en agentes

Las transferencias basadas en agentes requieren permisos de IAM a nivel de proyecto para dos entidades distintas: un agente de servicio y una cuenta de agente de transferencia.

Configura los permisos en esta página solo si tu transferencia involucra un sistema de archivos, HDFS o almacenamiento compatible con S3. Si tu transferencia no tiene agentes, no configures los roles en esta página. Continúa directamente con Configura el acceso a tu fuente y destino.

Las transferencias basadas en agentes usan las siguientes identidades:

  • Agente de servicio: Es una cuenta de servicio administrada por Google que usa el Servicio de transferencia de almacenamiento para coordinar tareas con los agentes de transferencia.
  • Cuenta de agente de transferencia: Es la cuenta de usuario de Google Cloud o la cuenta de servicio administrada por el usuario que se usa para autenticar y ejecutar agentes de transferencia en tus instancias o máquinas cliente.

Para obtener información general sobre cómo otorgar roles de IAM, consulta Otorga, cambia y revoca el acceso a los recursos.

Permisos del agente de servicio

El Servicio de transferencia de almacenamiento usa un agente de servicio para coordinar las transferencias controladas por agentes.

Para permitir que el Servicio de transferencia de almacenamiento coordine el trabajo entre Google Cloud y tus agentes de transferencia, otorga el siguiente rol al agente de servicio en el proyecto que ejecuta el Servicio de transferencia de almacenamiento:

  • Agente del Servicio de transferencia de almacenamiento (roles/storagetransfer.serviceAgent)

Obtén la dirección de correo electrónico del agente de servicio

Para otorgar un rol al agente de servicio, se requiere el identificador de la dirección de correo electrónico del agente de servicio. El agente de servicio se crea de forma automática cuando creas un trabajo de transferencia por primera vez, ejecutas comandos de configuración de gcloud transfer, visitas la página Storage Transfer en la consola de Google Cloud o llamas a googleServiceAccounts.get.

Para obtener la dirección de correo electrónico del agente de servicio, sigue estos pasos:

  1. Ve a la página de referencia de googleServiceAccounts.get. Se abrirá un panel interactivo con el título Prueba este método.
  2. En Parámetros de solicitud, ingresa el ID del proyecto.
  3. Haz clic en Ejecutar.

Copia el valor de accountEmail. La dirección de correo electrónico usa el siguiente formato: project-PROJECT_NUMBER@storage-transfer-service..

Otorga el rol de agente de servicio

Para otorgar el rol de Agente del Servicio de transferencia de almacenamiento, haz lo siguiente:

Consola de Google Cloud

  1. En la consola de Google Cloud , ve a la página IAM del proyecto en el que se ejecuta el Servicio de transferencia de almacenamiento.

    Ir a IAM

  2. Haz clic en Otorgar acceso.

  3. En el campo Principales nuevas, ingresa la dirección de correo electrónico de tu agente de servicio.

  4. En la lista desplegable Selecciona un rol, busca y selecciona Agente del Servicio de transferencia de almacenamiento (roles/storagetransfer.serviceAgent).

  5. Haz clic en Guardar.

gcloud

Ejecuta gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:SERVICE_AGENT_EMAIL" \
--role="roles/storagetransfer.serviceAgent"

Reemplaza lo siguiente:

Permisos de la cuenta del agente de transferencia

Los agentes de transferencia se ejecutan en tus máquinas cliente con las credenciales de una cuenta de usuario o de una cuenta de servicio administrada por el usuario:

  • Una cuenta de usuario usa las credenciales de un usuario autenticado.
  • Una cuenta de servicio administrada por el usuario usa claves de cuenta de servicio o federación de identidades. Para crear una cuenta de servicio, consulta Crea y administra cuentas de servicio.

Para autorizar a los agentes de transferencia a conectarse al Servicio de transferencia de almacenamiento, recibir tareas y registrar el estado, asigna el siguiente rol en el proyecto de Google Cloud que aloja tu grupo de agentes:

  • Agente de Storage Transfer (roles/storagetransfer.transferAgent)

Para otorgar este rol, haz lo siguiente:

Consola de Google Cloud

  1. En la consola de Google Cloud , dirígete a la página IAM.

    Ir a IAM

  2. Asegúrate de haber seleccionado el proyecto que contiene tu grupo de agentes.

  3. Haz clic en Otorgar acceso.

  4. En el campo Principales nuevas, ingresa la dirección de correo electrónico de tu cuenta de usuario o de servicio administrada por el usuario.

  5. En la lista desplegable Seleccionar un rol, busca y selecciona Agente del Servicio de transferencia de almacenamiento (roles/storagetransfer.transferAgent).

  6. Haz clic en Guardar.

gcloud

Ejecuta gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding AGENT_POOL_PROJECT_ID \
--member="serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT" \
--role="roles/storagetransfer.transferAgent"

Reemplaza lo siguiente:

  • AGENT_POOL_PROJECT_ID: Es el proyecto que contiene tu grupo de agentes.
  • serviceAccount_OR_user: Especifica serviceAccount si tu cuenta de agente de transferencia es una cuenta de servicio o user si tus agentes se instalaron con una cuenta de usuario.
  • TRANSFER_AGENT_ACCOUNT: Es la dirección de correo electrónico de la cuenta que ejecuta los agentes de transferencia.

¿Qué sigue?

Después de configurar los permisos del proyecto, continúa con los siguientes pasos de configuración en orden:

  1. Crea un grupo de agentes.
  2. Instala agentes de transferencia en tu grupo.
  3. Configura los permisos de acceso para tus sistemas de almacenamiento:
  4. Revisa la referencia de roles y permisos completa.