Come molti Google Cloud servizi, Developer Device Platform ha un agente di servizio dedicato. Questa pagina spiega come funziona l'agente di servizio DDP, cosa può fare e come puoi condividere risorse con lui.
Autorizzazioni
Quando DDP viene utilizzato per la prima volta per un progetto, il sistema crea un account di servizio di tipo service agent denominato: service-PROJECT_ID@gcp-sa-devicerun.
Quando abiliti l'API Device Run (devicerun.googleapis.com), Google Cloud esegue automaticamente il provisioning del service agent e gli assegna il ruolo roles/devicerun.serviceAgent a livello di progetto.
A questo service agent viene concessa l'autorizzazione al progetto Google Cloud in cui viene avviata la Developer Device Platform. L'agente di servizio utilizza le proprie credenziali anziché le tue per:
- Lettura e scrittura in bucket e oggetti Cloud Storage
- Scarica i file di input di Cloud Storage nel sistema interno
- Carica i file dal sistema interno al bucket di output Cloud Storage
Ciò significa che è possibile che tu abbia accesso a un bucket Cloud Storage e a un file, ma che il bucket sia di proprietà di un progetto Google Cloud diverso da quello utilizzato in DDP. Potresti anche avere controlli dell'accesso aggiuntivi sui singoli bucket.
Pertanto, il service agent di Developer Device Platform potrebbe non avere accesso a queste risorse. Segui le istruzioni riportate qui per condividere l'accesso a bucket specifici con l'agente di servizio DDP.
Condividere l'accesso
Consulta Esecuzione sul dispositivo per scoprire come includere i file nei test nel progetto supportato da DDP. Se il bucket Cloud Storage si trova in un progettoGoogle Cloud diverso dal progetto DDP e vuoi che Device Run possa leggere questi file, devi concedere roles/storage.objectViewer al service agent del progetto in cui viene avviata la richiesta DDP, come descritto qui.
Concedi il ruolo Storage Object Viewer all'agente di servizio: assicurati che l'agente di servizio DDP disponga del ruolo Storage Object Viewer (roles/storage.objectViewer) nel bucket Cloud Storage contenente i file:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
--member="serviceAccount:service-PROJECT_ID@gcp-sa-devicerun." \ --role="roles/storage.objectViewer"
Convalida
Ora torna al flusso di lavoro e assicurati che Device Run abbia accesso ai file necessari. Se l'agente di servizio non ha accesso ai file specificati, il test non viene avviato.
Documentazione di supporto
- Tipi di service account: agenti di servizio - Scopri come operano gli agenti di servizio all'interno di Google Cloud
- Service Agents: vedi tutti i service agent di Google Cloud
- Ruoli e autorizzazioni di Cloud Storage - Trova tutti i ruoli e le autorizzazioni correlati a Cloud Storage