Antes de começar
Para gerar o token de acesso necessário Google Cloud , você precisa operar em um Google Cloud projeto. Recomendamos que você use o projeto em que ativou o Cloud Network Insights.
O usuário ou a conta de serviço que solicita o token precisa ter um dos seguintes papéis no Google Cloud projeto:
- Se você quiser que a conta tenha acesso somente leitura aos recursos do Cloud Network Insights, conceda a ela um dos seguintes papéis no seu projeto:
- Leitor do Cloud Network Insights (
roles/networkmanagement.CloudNetworkInsightsViewer) - Leitor do gerenciamento de rede (
networkmanagement.viewer) - O papel básico de leitor
- Leitor do Cloud Network Insights (
- Se você quiser que a conta tenha acesso total aos recursos do Cloud Network Insights, conceda a ela um dos seguintes papéis no seu projeto:
- Editor do Cloud Network Insights (
roles/networkmanagement.CloudNetworkInsightsEditor) - Admin do gerenciamento de rede (
networkmanagement.admin)
- Editor do Cloud Network Insights (
Criar um token da API AppNeta
Você pode criar um token da API AppNeta gerando um Google Cloud token de acesso para trocar por um token específico do provedor usado com a API AppNeta.
Gerar um Google Cloud token de acesso
Gere um Google Cloud token de acesso para o usuário ou a conta de serviço que faz as chamadas de API. Há várias maneiras de conseguir um Google Cloud token de acesso, dependendo do seu ambiente e de como você está autenticado no Google Cloud.
- Contas de serviço: se você estiver executando aplicativos na Google Cloud infraestrutura (por exemplo, Compute Engine, Google Kubernetes Engine) ou usando chaves de conta de serviço, poderá usar as bibliotecas de cliente do Cloud ou o servidor de metadados para buscar tokens.
- Outros ambientes: Google Cloud oferece vários mecanismos de autenticação.
Consulte Tipos de token de autenticação para um guia abrangente sobre como escolher o melhor método para sua situação.
Se você tiver a Google Cloud CLI instalada e configurada, poderá gerar um token para copiar usando comandos da CLI gcloud.
gcloud auth print-access-token
Se você quiser credenciais padrão do aplicativo, use o seguinte comando da CLI gcloud.
gcloud auth application-default print-access-token
Trocar tokens
Use o Google Cloud token de acesso copiado para chamar a API Network Management e gerar um token de acesso específico do provedor para o AppNeta.
O token do AppNeta expira quando o
Google Cloud token usado para gerá-lo expira. Google Cloud Os tokens de acesso geralmente são válidos por uma hora. Recomendamos usar um novo
Google Cloud token de acesso sempre que você executar a
generateProviderAccessTokenchamada para garantir que o token do AppNeta
tenha a maior vida útil possível.
gcloud
gcloud network-management network-monitoring-providers generate-provider-access-token NETWORK_MONITORING_PROVIDER --location=global --gcp-access-token=GCP_ACCESS_TOKEN
Substitua:
NETWORK_MONITORING_PROVIDER: o nome do provedor. Useexternal, a menos que você tenha definido um nome diferente.GCP_ACCESS_TOKEN: o token gerado em Google Cloud.
curl
curl -H "Authorization: Bearer GCP_ACCESS_TOKEN"
"https://networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/networkMonitoringProviders/external:generateProviderAccessToken?gcp_access_token=GCP_ACCESS_TOKEN"
Substitua:
GCP_ACCESS_TOKEN: o token gerado em Google Cloud.PROJECT_ID: o projeto em que o Cloud Network Insights está ativado.
A resposta dessa chamada contém o providerAccessToken, que você usa para autenticar solicitações diretamente nos endpoints da API AppNeta.
Usar o token do AppNeta
Use o providerAccessToken como um token de portador no cabeçalho de autorização ao fazer chamadas para a API AppNeta. Consulte a
documentação da API AppNeta
para mais detalhes sobre os endpoints disponíveis e os formatos de solicitação.
Se você receber um 401 erro, gere um novo
Google Cloud token de acesso ou um token de credencial padrão do aplicativo,
e troque os tokens novamente.