Partager vos buckets Cloud Storage avec la plate-forme Developer Device

Comme de nombreux services Google Cloud , la plate-forme Developer Device dispose d'un agent de service dédié. Cette page explique comment fonctionne l'agent de service DDP, ce qu'il peut faire et comment vous pouvez partager des ressources avec lui.

Autorisations

Lorsque DDP est utilisé pour la première fois dans un projet, le système crée un compte de service de type agent de service nommé service-PROJECT_ID@gcp-sa-devicerun..

Lorsque vous activez l'API Device Run (devicerun.googleapis.com),Google Cloud provisionne automatiquement l'agent de service et lui attribue le rôle roles/devicerun.serviceAgent au niveau du projet.

Cet agent de service est autorisé à accéder au projet Google Cloud dans lequel la plate-forme Developer Device est lancée. L'agent de service utilise ses propres identifiants plutôt que les vôtres pour :

  • Lire et écrire dans des buckets et des objets Cloud Storage
  • Télécharger les fichiers d'entrée Cloud Storage vers le système interne
  • Importer des fichiers du système interne vers le bucket de sortie Cloud Storage

Cela signifie que vous pouvez avoir accès à un bucket Cloud Storage et à un fichier, mais que ce bucket appartient à un projet Google Cloud différent de celui utilisé dans DDP. Vous pouvez également disposer de contrôles d'accès supplémentaires sur des buckets individuels.

Par conséquent, il est possible que l'agent de service Developer Device Platform n'ait pas accès à ces ressources. Suivez les instructions pour partager l'accès à des buckets spécifiques avec l'agent de service DDP.

Partager l'accès

Pour savoir comment inclure des fichiers avec vos tests dans le projet compatible avec DDP, consultez Exécution sur l'appareil. Si votre bucket Cloud Storage réside dans un projetGoogle Cloud différent de votre projet DDP et que vous souhaitez que Device Run puisse lire ces fichiers, vous devez attribuer le rôle roles/storage.objectViewer à l'agent de service du projet dans lequel la requête DDP est lancée, comme décrit ici.

Attribuez le rôle Lecteur des objets de l'espace de stockage à l'agent de service : assurez-vous que l'agent de service DDP dispose du rôle Storage Object Viewer (roles/storage.objectViewer) sur le bucket Cloud Storage contenant les fichiers :

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

Validation

Revenez maintenant à votre workflow et assurez-vous que Device Run a accès aux fichiers requis. Si l'agent de service n'a pas accès aux fichiers spécifiés, le test ne démarre pas.

Pièces justificatives