AppNeta API へのアクセス

Google Cloudから始まるトークンベースの認証フローを使用して、AppNeta API を操作できます。

始める前に

必要な Google Cloud アクセス トークンを生成するには、 Google Cloud プロジェクト内で操作する必要があります。Cloud Network Insights を有効にした同じプロジェクトを使用することをおすすめします。

トークンをリクエストするユーザーまたはサービス アカウントには、 Google Cloud プロジェクトで次のいずれかのロールが必要です。

  • アカウントに Cloud Network Insights リソースへの読み取り専用アクセス権を付与する場合は、プロジェクトで次のいずれかのロールを付与します。
    • Cloud Network Insights 閲覧者(roles/networkmanagement.cloudNetworkInsightsViewer
    • ネットワーク管理閲覧者(networkmanagement.viewer
    • 基本の閲覧者ロール
  • アカウントに Cloud Network Insights リソースへの完全なアクセス権を付与する場合は、プロジェクトで次のいずれかのロールを付与します。
    • Cloud Network Insights 編集者(roles/networkmanagement.cloudNetworkInsightsEditor
    • ネットワーク管理者(networkmanagement.admin

AppNeta API トークンを作成する

AppNeta API トークンを作成するには、 Google Cloud アクセス トークンを生成して、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 トークンの有効期限が切れると失効します。 Google Cloud アクセス トークンは通常 1 時間有効です。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: プロバイダ名。PROVIDER_NAME として external を使用します。
  • 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 を呼び出すときは、Authorization ヘッダーで providerAccessToken を署名なしトークンとして使用します。使用可能なエンドポイントとリクエスト形式の詳細については、AppNeta API ドキュメントをご覧ください。