Compartilhar seus buckets do Cloud Storage com a Developer Device Platform

Assim como muitos serviços do Google Cloud , a Developer Device Platform tem um agente de serviço dedicado. Nesta página, explicamos como o agente de serviço do DDP funciona, o que ele pode fazer e como compartilhar recursos com ele.

Permissões

Quando o DDP é usado pela primeira vez em um projeto, o sistema cria uma conta de serviço do tipo agente de serviço chamada: service-PROJECT_ID@gcp-sa-devicerun.

Quando você ativa a API Device Run (devicerun.googleapis.com), oGoogle Cloud provisiona automaticamente o agente de serviço e atribui a ele o papel roles/devicerun.serviceAgent no nível do projeto.

Esse agente de serviço recebe permissão para o projeto Google Cloud em que a Developer Device Platform é iniciada. O agente de serviço usa as próprias credenciais, e não as suas, para:

  • Ler e gravar em buckets e objetos do Cloud Storage
  • Baixar arquivos de entrada do Cloud Storage para o sistema interno
  • Fazer upload de arquivos do sistema interno para o bucket de saída do Cloud Storage

Isso significa que é possível ter acesso a um bucket do Cloud Storage e um arquivo, mas esse bucket pertence a um projeto Google Cloud diferente daquele usado no DDP. Você também pode ter outros controles de acesso em intervalos individuais.

Portanto, o agente de serviço do Developer Device Platform pode não ter acesso a esses recursos. Siga as instruções aqui para compartilhar o acesso a buckets específicos com o agente de serviço do DDP.

Compartilhar acesso

Consulte Device Run para saber como incluir arquivos com seus testes no projeto compatível com DDP. Se o bucket do Cloud Storage estiver em um projetoGoogle Cloud diferente do projeto de DDP e você quiser que a execução no dispositivo possa ler esses arquivos, conceda roles/storage.objectViewer ao agente de serviço do projeto em que a solicitação de DDP é iniciada, conforme descrito aqui.

Conceda o papel de Leitor de objetos do Storage ao agente de serviço: verifique se o agente de serviço do DDP tem o papel Storage Object Viewer (roles/storage.objectViewer) no bucket do Cloud Storage que contém os arquivos:

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

Validação

Agora volte ao fluxo de trabalho e verifique se Device Run tem acesso aos arquivos necessários. Se o agente de serviço não tiver acesso aos arquivos especificados, o teste não será iniciado.

Documentação de apoio