Comparte tus buckets de Cloud Storage con la plataforma de dispositivos para desarrolladores

Al igual que muchos Google Cloud servicios, Developer Device Platform tiene un agente de servicio exclusivo. En esta página, se explica cómo funciona el agente de servicio de DDP, qué puede hacer y cómo puedes compartir recursos con él.

Permisos

Cuando se usa DDP por primera vez en un proyecto, el sistema crea una cuenta de servicio de tipo agente de servicio llamada: service-PROJECT_ID@gcp-sa-devicerun.iam.gserviceaccount.com

Cuando habilitas la API de Device Run (devicerun.googleapis.com),Google Cloud aprovisiona automáticamente el agente de servicio y le asigna el rol de roles/devicerun.serviceAgent a nivel del proyecto.

Este agente de servicio tiene permiso para el proyecto Google Cloud en el que se inicia la plataforma de dispositivos para desarrolladores. El agente de servicio usa sus propias credenciales en lugar de las tuyas para hacer lo siguiente:

  • Leer y escribir en buckets y objetos de Cloud Storage
  • Descarga archivos de entrada de Cloud Storage en el sistema interno
  • Sube archivos del sistema interno al bucket de salida de Cloud Storage

Esto significa que es posible que tengas acceso a un bucket de Cloud Storage y un archivo, pero que ese bucket sea propiedad de un proyecto Google Cloud diferente del que se usa en DDP. También puedes tener controles de acceso adicionales en buckets individuales.

Por lo tanto, es posible que el agente de servicio de la Plataforma de dispositivos para desarrolladores no tenga acceso a estos recursos. Sigue las instrucciones que se indican aquí para compartir el acceso a buckets específicos con el agente de servicio de DDP.

Cómo compartir el acceso

Consulta Device Run para saber cómo incluir archivos con tus pruebas en el proyecto compatible con DDP. Si tu bucket de Cloud Storage reside en un proyecto deGoogle Cloud diferente del proyecto de DDP y deseas que Device Run pueda leer estos archivos, debes otorgar roles/storage.objectViewer al agente de servicio del proyecto en el que se inicia la solicitud de DDP, como se describe aquí.

Otorga el rol de visualizador de objetos de Storage al agente de servicio: Asegúrate de que el agente de servicio de DDP tenga el rol de Storage Object Viewer (roles/storage.objectViewer) en el bucket de Cloud Storage que contiene los archivos:

gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
  --member="serviceAccount:service-PROJECT_ID@gcp-sa-devicerun.iam.gserviceaccount.com" \  --role="roles/storage.objectViewer"

Validación

Ahora vuelve a tu flujo de trabajo y asegúrate de que Device Run tenga acceso a los archivos necesarios. Si el agente de servicio no tiene acceso a los archivos especificados, la prueba no se iniciará.

Documentación de respaldo