アセット関係の表示

このトピックでは、Cloud Storage バケットまたは BigQuery テーブルに対する組織、フォルダ、プロジェクトのアセット関係を表示する方法について説明します。

アセット関係

多くのクラウド アセットは関係によって接続されています。たとえば、instanceGroup には Instance が含まれます。関係は、ソースアセットに関連するアセットとして表示されます。たとえば、アセットタイプ compute.googleapis.com/Instance に対する INSTANCE_TO_INSTANCEGROUP 関係をエクスポートすると、related_assets が所属するインスタンス グループを表す Instance アセットが出力されます。

始める前に

始める前に、次の手順を行います。

  1. API コマンドを実行するプロジェクトで Cloud Asset Inventory API を有効にします。
    Cloud Asset Inventory API を有効にする

  2. gcloud ツールまたは API を使用して Cloud Asset Inventory API を呼び出すために必要な権限を構成します。

  3. 環境を設定するには、次の手順を実行します。

    gcloud

    gcloud ツールを使用して Cloud Asset Inventory API を呼び出すように環境を設定するには、ローカル クライアントに Cloud SDK をインストールします。

    API

    Unix の curl コマンドで Cloud Asset Inventory API を呼び出すように環境を設定するには、次の手順を行います。

    1. ローカルマシンに oauth2l をインストールし、Google OAuth システムを操作できるようにします。
    2. Unix curl コマンドにアクセスできるかを確認します。
    3. プロジェクト、フォルダ、組織で、次のいずれかのロールがアカウントに付与されていることを確認します。

      • Cloud Asset 閲覧者のロール(roles/cloudasset.viewer
      • オーナーの基本ロール(roles/owner
  4. アセットの関係を表示するには、cloudasset.assets.exportResource 権限が必要です。

  5. エクスポート先を準備します。Cloud Storage バケットまたは BigQuery テーブルを使用できます。

アセット関係のスナップショットのエクスポート

上述のコマンドにより、リクエスト内の出力構成に従って、Cloud Storage バケットの gs://<var>YOUR_BUCKET/NEW_FILE</var> または BigQuery テーブルにエクスポートされた関係を保存できます。次の例は、プロジェクト内の関係を Cloud Storage バケットにエクスポートする方法を示しています。組織またはフォルダの関係をエクスポートするには、--project フラグを --organization または --folder に置き換えます。関係を「BigQuery」にエクスポートするには、--output-path に 「BigQuery」テーブルを指定します。

サポートされているすべての関係のエクスポート

サポートされているすべての関係の特定のタイムスタンプで、アセット関係のスナップショットをエクスポートするには、次のコマンドを実行します。

gcloud

gcloud beta asset export \
   --content-type relationship \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

指定した関係のエクスポート

指定した関係が接続されたアセットタイプを持つプロジェクトで、それらの関係をエクスポートするには、次のコマンドを実行します。

gcloud

gcloud beta asset export \
 --content-type relationship \
 --project PROJECT_ID \
 --relationship-types INSTANCE_TO_INSTANCEGROUP \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

特定のアセットタイプへのすべての関係のエクスポート

compute.googleapis.com で始まるアセットタイプを持つプロジェクト内のすべてのサポートされている関係をエクスポートするには、次のコマンドを実行します。

gcloud

gcloud beta asset export \
 --content-type relationship \
 --project PROJECT_ID \
 --asset-types compute.googleapis.com.* \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "assetTypes": "compute.googleapis.com.*", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

指定したアセットタイプで、指定した関係をエクスポートする

アセットタイプが compute.googleapis.com/Instance のプロジェクトで、指定した関係をエクスポートするには、次のコマンドを実行します。

gcloud

gcloud beta asset export \
 --content-type relationship \
 --project PROJECT_ID \
 --asset-types compute.googleapis.com/Instance
 --relationship-types INSTANCE_TO_INSTANCEGROUP \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "assetTypes": "compute.googleapis.com/Instance", "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

エクスポートのステータスの確認

エクスポートのステータスを確認するには、次のコマンドを実行します。

gcloud

エクスポートのステータスを確認するには、次のコマンドを実行します。これは、エクスポート コマンドを実行すると、gcloud ツールに表示されます。

gcloud asset operations describe OPERATION_ID

API

エクスポートのステータスを表示するには、エクスポートに対するレスポンスで返されたオペレーション ID を使用して次のコマンドを実行します。

  1. OPERATION_ID は、エクスポートに対するレスポンスの name フィールドにあります。形式は次のとおりです。

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID"
    
  2. エクスポートのステータスを確認するには、OPERATION_ID を指定して次のコマンドを実行します。

    gcurl https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
    

関係のスナップショットの表示

結果を Cloud Storage バケットにエクスポートした場合は、こちらの手順を行って表示します。

結果を BigQuery テーブルにエクスポートした場合は、こちらの手順を行って表示します。