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
- Tipos de contas de serviço: agentes de serviço. Saiba como os agentes de serviço operam no Google Cloud.
- Agentes de serviço: veja todos os agente de serviço do Google Cloud
- Papéis e permissões do Cloud Storage: encontre todos os papéis e permissões relacionados ao Cloud Storage.