Acessar a API do AppNeta

Você pode interagir com a API AppNeta usando um fluxo de autenticação baseado em token que se origina do Google Cloud.

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
  • 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)

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. Use external, 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.