Para autorizar suas solicitações para annotatePaths
, é preciso ter uma conta de serviço na lista de permissões do projeto associado do Google Cloud. Em seguida, é possível personificar
a conta de serviço e gerar um token OAuth, que é transmitido como um cabeçalho nas
solicitações.
Configurar uma conta de serviço
Como apenas as contas de serviço na lista de permissões podem
chamar annotatePaths
, você precisa agir como uma conta de serviço usando a representação
da conta de serviço.
Siga as instruções em Como criar uma conta de serviço. O e-mail da conta de serviço tem o seguinte formato geral:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Envie o e-mail da conta de serviço para seu representante comercial do Google. O representante adiciona essa conta de serviço a uma lista de permissões autorizada a chamar
annotatePaths
.
Adicione usuários que podem representar a conta de serviço
Adicione um usuário que esteja autorizado a representar a conta de serviço:
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT \
--member=user:USER_EMAIL \
--role=roles/iam.serviceAccountTokenCreator \
--project=PROJECT_ID
Também é possível adicionar usuários autorizados a representar a conta de serviço no Console do Cloud. Consulte Criar uma conta de serviço.
Solução de problemas se o comando falhar
Se esse comando falhar, peça ao proprietário do projeto para executar o comando para você
ou que conceda o papel roles/iam.serviceAccountAdmin
na
conta de serviço executando:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT \ --member=USER_EMAIL \ --role=roles/iam.serviceAccountAdmin \ --project=PROJECT_ID
Gerar um token OAuth de curta duração
Se você quiser configurar o annotatePaths
usando um token OAuth, mas não
tiver uma configuração de ambiente para gerar tokens, use o procedimento nesta seção
para receber um token OAuth de curta duração usando a CLI gcloud. O token expira em uma hora. Para mais detalhes, consulte Criar credenciais de curta duração para uma conta
de serviço. As etapas a seguir são uma visão resumida dessas
instruções.
Faça login na gcloud:
gcloud auth login
A gcloud abre uma janela do navegador e solicita a permissão.
Definir o projeto:
gcloud config set project PROJECT_ID
Receba um token de acesso de curta duração usando print-access-token:
gcloud auth print-access-token
Esse comando retorna um token. Copie o token e insira-o em YOUR_ACCESS_TOKEN com o seguinte comando:
curl -X POST \ https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
A CLI retorna o token de acesso OAuth de curta duração que agora pode ser usado ao fazer solicitações para
annotatePaths
.
(Opcional) Verificar as permissões do token OAuth
Se você tiver problemas de autorização, verifique suas permissões do token OAuth inserindo o token no seguinte URL, personalizando OAUTH_TOKEN. Cole-o na barra de endereço.
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
A resposta precisa incluir um escopo de
https://www.googleapis.com/auth/cloud-platform
. Caso contrário, defina
o escopo corretamente, como mostrado na seção anterior.
Usar o OAuth em ambientes de produção
Para instruções sobre como usar o OAuth em um ambiente de produção, consulte Autenticação no Google.
Solução de problemas
Se a solicitação retornar uma mensagem de erro informando que as credenciais de usuário final não são compatíveis com essa API, consulte As credenciais do usuário não estão funcionando.