始める前に
必要な 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 リソースへの完全なアクセス権を付与する場合は、プロジェクトで次のいずれかのロールを付与します。
- Cloud Network Insights 編集者(
roles/networkmanagement.cloudNetworkInsightsEditor) - ネットワーク管理者(
networkmanagement.admin)
- Cloud Network Insights 編集者(
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 ドキュメントをご覧ください。