シャドー API 検出: 管理 API

概要

このページでは、Apigee Management(APIM)API から Apigee シャドー API 検出を管理するためのリファレンス構文について説明します。リクエスト内の各フィールドの詳細など、シャドー API 検出に関連する Management API のドキュメントについては、https://cloud.google.com/apigee/docs/reference/apis/apim/resthttps://cloud.google.com/apigee/docs/reference/apis/apim/rpc をご覧ください。

シャドー API 検出の概要と、Cloud コンソールで Apigee UI を使用して管理する手順については、シャドー API 検出をご覧ください。シャドー API 検出の一般的な動作と制限事項については、動作と制限事項をご覧ください。

リファレンス API 呼び出しのパラメータ

このページの API 呼び出しでは、次のパラメータを使用できます。これらは、Apigee アカウント情報(プロジェクトなど)またはモニタリング ジョブの作成時に使用される情報のいずれかを表します。各フィールドの詳細については、モニタリング ジョブを作成するをご覧ください。

  • OBSERVATION_JOB_LOCATION はモニタリング ジョブの場所です。
  • OBSERVATION_JOB_NAME はモニタリング ジョブの名前です。
  • OBSERVATION_SOURCE_LOCATION は、モニタリング ジョブのソースの場所です。
  • OBSERVATION_SOURCE_NAME はモニタリング ソースの名前です。
  • PROJECT は Apigee プロジェクトです。

モニタリング ジョブを作成する

モニタリング ジョブを作成するには、複数の手順または API リクエストを実行する必要があります。

  1. モニタリング ソースを作成する: 既存のモニタリング ソースを使用するのではなくモニタリング ソースを新規作成するには、モニタリング ソースの詳細を指定して、observationSources エンドポイントに POST リクエストを送信します。
    curl \ https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources?observation_source_id=OBSERVATION_SOURCE_NAME \
    -X POST \
    -H 'Content-type: application/json' \
    -d @- <<'EOF'
    {
      "gclbObservationSource": {
        "pscNetworkConfigs": [
          {
            "network": "projects/PROJECT/global/networks/{network_name}",
            "subnetwork":"projects/PROJECT/regions/OBSERVATION_SOURCE_LOCATION/subnetworks/{subnet_name}"
          }
        ]
      }
    }
    EOF
    モニタリング ソースの作成には数分かかります。作成が完了すると、LRO が開始され、次のようなレスポンスが返されます。
    {
    "name": "projects/{project/locations/OBSERVATION_SOURCE_LOCATION/operations/operation-",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.apim.vl.ApiDiscoveryOperationMetadata",
      "createTime": "",
      "target": "projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "vl"
    },
    "done": false
    }
  2. 新規作成したモニタリング ソースを表示するには:
    curl \
    https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME
  3. モニタリング ジョブを作成する: 作成したソースを使用してシャドー API を検索するジョブを作成します。
    curl \
    https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs?observation_job_id=OBSERVATION_JOB_NAME \
    -X POST \
    -H 'Content-type: application/json' \
    -d @- <<'EOF'
    {
      "sources": [
        "projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME"
      ]
    }
    EOF

モニタリング ジョブを有効にする

新しいモニタリング ジョブまたは無効になっている既存のジョブを有効にするには、次のコマンドを使用します。

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME:enable \
-X POST \
-H 'Content-type: application/json' \
-d @- <<'EOF'
{}
EOF

検出された API を表示する

有効なモニタリング ジョブによって検出された API を表示するには、次のコマンドを送信します。

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME/apiObservations \
-X GET

モニタリング結果のタグを管理する

結果にすでに追加されているタグを一覧表示するには:

curl -H "https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION:listApiObservationTags"
  

タグを管理するには:

curl -H "Content-Type: appication/json" \
"https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME/apiObservations:batchEditTags" \
-X POST -d @- <<'EOF'
{
  "requests": [
    {
      "apiObservationId": "API_OBSERVATION_ID",
      "tagActions": [
      {
        "tag": "demo",
        "action": "REMOVE"
      },
      {
        "tag": "Needs Attentions",
        "action": "ADD"
      }]
    }
  ]
}
EOF

モニタリング ジョブを無効にする

このリクエストを送信すると、モニタリング ジョブが無効になります。削除されることはありません。

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationsJobs/OBSERVATION_JOB_NAME:disable \
-X POST \
-H 'Content-type: application/json' \
-d @- <<'EOF'
{
}

モニタリング ジョブを削除する

次のリクエストを送信すると、モニタリング ジョブが削除されます。

curl -X DELETE https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME

モニタリング ソースを削除する

次のリクエストを送信すると、モニタリング ソースが削除されます。

curl -X DELETE https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME