访问 AppNeta API

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

准备工作

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

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

  • 如果您希望账号拥有对 Cloud Network Insights 资源的只读 权限,请在您的项目中向其授予以下角色之一:
    • Cloud Network Insights 查看者 (roles/networkmanagement.CloudNetworkInsightsViewer)
    • Network Management 查看者 (networkmanagement.viewer)
    • 基本 Viewer 角色
  • 如果您希望账号拥有对 Cloud Network Insights 资源的完全访问权限 ,请在您的项目中向其授予以下角色之一:
    • Cloud Network Insights 编辑者 (roles/networkmanagement.CloudNetworkInsightsEditor)
    • Network Management 管理员 (networkmanagement.admin)

创建 AppNeta API 令牌

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

生成 Google Cloud 访问令牌

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

  • 服务账号:如果您在基础架构(例如 Compute Engine、Google Kubernetes Engine)上运行应用或使用服务帐号密钥,则可以使用 Cloud 客户端库或元数据服务器来提取令牌。 Google 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 令牌过期时过期。 Google Cloud 访问 令牌的有效期通常为一小时。我们建议您每次执行 generateProviderAccessToken调用时都使用新的 Google Cloud 访问令牌,以确保 AppNeta 令牌具有尽可能长的有效期。

gcloud

gcloud network-management network-monitoring-providers generate-provider-access-token NETWORK_MONITORING_PROVIDER --location=global --gcp-access-token=GCP_ACCESS_TOKEN

替换以下内容:

  • NETWORK_MONITORING_PROVIDER:提供商名称。除非您已主动设置其他名称,否则请使用 external
  • GCP_ACCESS_TOKEN:您在 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"

替换以下内容:

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

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

使用 AppNeta 令牌

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