Cloud Storage へのエクスポート

このトピックでは、プロジェクトのアセット メタデータを Cloud Storage バケットにエクスポートする方法を説明します。

始める前に

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

  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. エクスポートされたスナップショットを保存する Cloud Storage バケットを作成します。

プロジェクトのアセット スナップショットのエクスポート

任意のタイムスタンプにおけるアセット スナップショットをエクスポートするには、適切な詳細レベルでスナップショットを生成するコマンドを選択します。

このコマンドは、エクスポートされたスナップショットを gs://YOUR_BUCKET/NEW_FILE の Cloud Storage バケットに保存します。この Cloud Storage バケットは、アセット メタデータをエクスポートするプロジェクト内に配置する必要があります。また、保持ポリシーを設定することもできません。

メタデータを含まないすべてのリソース名のエクスポート

プロジェクト内のメタデータを含まないすべてのリソース名をエクスポートするには、次のコマンドを実行します。

gcloud

gcloud asset export \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

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

すべてのリソース メタデータのエクスポート

プロジェクト内のすべてのリソース メタデータをエクスポートするには、次のコマンドを実行します。

gcloud

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

API

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

特定のアセットタイプのリソースのメタデータのエクスポート

アセットタイプが compute.googleapis.com で始まるプロジェクトに含まれるすべてのリソースのメタデータをエクスポートするには、次のコマンドを実行します。

gcloud

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

API

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

IAM ポリシーのエクスポート

プロジェクト内の IAM ポリシーをエクスポートするには、次のコマンドを実行します。

gcloud

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

API

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

組織のポリシーのエクスポート

プロジェクトに設定されている組織のポリシーをエクスポートするには、次の gcloud ツールコマンドを実行します。

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

OSConfig インスタンスのインベントリのエクスポート

VM インスタンスの OSConfig インスタンスのインベントリをエクスポートするには、次の gcloud ツールコマンドを実行します。

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

組織内のアクセス ポリシーのエクスポート

組織内のアクセス ポリシーをエクスポートするには、次の gcloud ツールコマンドを実行します。

gcloud asset export \
   --content-type access-policy \
   --organization ORGANIZATION_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"
 

組織またはフォルダのアセット スナップショットのエクスポート

組織またはフォルダのアセットをエクスポートするには、次のフラグまたはメソッドを使用します。

gcloud

組織またはフォルダのアセットをエクスポートするには、--project の代わりに次のいずれかのフラグを使用します。

access-policy--organization に対してのみエクスポートできます。

API

組織またはフォルダのアセットをエクスポートするには、gcurl コマンドでいずれかの REST メソッドを使用します。

  • https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets
  • https://cloudasset.googleapis.com/v1/folders/FOLDER_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
    

アセット スナップショットの表示

アセットのスナップショットを表示するには:

  1. Cloud Console の Cloud Storage ブラウザページに移動します。
    Cloud Storage ブラウザページに移動

  2. エクスポートを保存したバケットを選択してから、ファイル名を選択します。

エクスポートは、アセットとそのリソース名の一覧を表示します。