访问 AppNeta API

您可以使用源自 Google Cloud的基于令牌的身份验证流程与 AppNeta API 进行交互。

准备工作

如需生成必要的 Google Cloud 访问令牌,您需要在 Google Cloud 项目中操作。建议使用已启用 Cloud Network Insights 的同一项目。

请求令牌的用户或服务账号必须在 Google Cloud 项目中拥有以下角色之一:

  • 如果您希望该账号拥有对 Cloud Network Insights 资源的只读权限,请在项目中向其授予以下某个角色:
    • Cloud Network Insights Viewer (roles/networkmanagement.cloudNetworkInsightsViewer)
    • Network Management Viewer (networkmanagement.viewer)
    • 基本 Viewer 角色
  • 如果您希望账号拥有对 Cloud Network Insights 资源的完整访问权限,请在项目中向其授予以下角色之一:
    • Cloud Network Insights Editor (roles/networkmanagement.cloudNetworkInsightsEditor)
    • Network Management Admin (networkmanagement.admin)

创建 AppNeta API 令牌

您可以生成 Google Cloud 访问令牌 来换取与 AppNeta API 搭配使用的提供商专用令牌,从而创建 AppNeta API 令牌。

生成 Google Cloud 访问令牌

为执行 API 调用的用户或服务账号生成 Google Cloud 访问令牌。 您可以根据自己的环境以及向 Google Cloud进行身份验证的方式,通过多种方式获取 Google Cloud 访问令牌。

  • 服务账号:如果您在 Google Cloud基础架构(例如 Compute Engine、Google Kubernetes Engine)上运行应用或使用服务账号密钥,则可以使用 Cloud 客户端库或元数据服务器来获取令牌。
  • 其他环境: Google Cloud 提供各种身份验证机制。

如需获取有关如何根据具体情况选择最佳方法的全面指南,请参阅身份验证令牌类型

如果您已安装并配置 Google Cloud CLI,则可以使用 gcloud CLI 命令生成要复制的令牌。

  gcloud auth print-access-token

如果您需要应用默认凭据,请使用以下 gcloud CLI 命令。

gcloud auth application-default print-access-token

交换令牌

使用复制的 Google Cloud 访问令牌调用 Network Management API,以生成 AppNeta 的提供商专用访问令牌。

当用于生成 AppNeta 令牌的Google Cloud 令牌过期时,AppNeta 令牌也会过期。 Google Cloud 访问令牌的有效期通常为一小时。我们建议您每次执行 generateProviderAccessToken 调用时都使用新的Google Cloud 访问令牌,以确保 AppNeta 令牌具有尽可能长的有效期。

gcloud

gcloud alpha network-management network-monitoring-providers 
generate-provider-access-token PROVIDER_NAME
--project=PROJECT_ID
--location=global
--gcp-access-token=GCP_ACCESS_TOKEN

替换以下内容:

  • PROVIDER_NAME:提供方名称。使用 external 作为 PROVIDER_NAME
  • PROJECT_ID:启用了 Cloud Network Insights 的项目。
  • GCP_ACCESS_TOKEN:您在 Google Cloud中生成的令牌。

curl

curl -H "Authorization: Bearer GCP_ACCESS_TOKEN" 
"https://networkmanagement.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/networkMonitoringProviders/external:generateProviderAccessToken?gcp_access_token=GCP_ACCESS_TOKEN"

替换以下内容:

  • GCP_ACCESS_TOKEN:您在 Google Cloud中生成的令牌。
  • PROJECT_ID:启用了 Cloud Network Insights 的项目。

此调用的响应包含 providerAccessToken,您可以使用该令牌直接针对 AppNeta API 端点对请求进行身份验证。

使用 AppNeta 令牌

在调用 AppNeta API 时,请在授权标头中使用 providerAccessToken 作为不记名令牌。如需详细了解可用的端点和请求格式,请参阅 AppNeta API 文档