Autorizar suas solicitações para annotatePaths
exige uma conta de serviço na
lista de permissões para o projeto associado do Google Cloud. Em seguida, você pode 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 contas de serviço na lista de permissões têm permissão para chamar annotatePaths
, você precisa atuar 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
.
Adicionar 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 por meio do Console do Cloud. Consulte Criar uma conta de serviço.
Como solucionar problemas se o comando falhar
Se esse comando falhar, peça para um proprietário do projeto executá-lo
ou que conceda a você 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 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 visualização resumida das instruções.
Faça login no gcloud:
gcloud auth login
O gcloud abre uma janela do navegador e solicita sua 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 no 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 para fazer solicitações para
annotatePaths
.
(Opcional) Verificar as permissões do token OAuth
Se você tiver problemas de autorização, verifique as permissões do token de OAuth inserindo-o no URL a seguir, 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, conforme 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 funcionam.