Google Cloud SDK の使用

このページでは、Cloud SDKgcloud asset コマンドを使用してアセット メタデータをエクスポートし、アセット履歴を取得する方法について説明します。

Cloud SDK は、Cloud Asset Inventory や他の Google Cloud Platform サービスとやり取りするための gcloud コマンドライン ツールを提供します。

始める前に

  • gcloud ツールは、Cloud Asset API を使用して Google Cloud Platform にアクセスします。gcloud ツールで Cloud Asset Inventory にアクセスするには、API を有効にしておく必要があります。API は Cloud Asset API コマンドを実行するプロジェクトでのみ有効にする必要があるのでご注意ください。
    Cloud Asset Inventory API を有効にする
  • ローカル クライアントに Cloud SDK をインストールします。

gcloud コマンドライン ツールの使用

gcloud ツールを使用する前に、Cloud SDK ドキュメントをご確認ください。--help フラグを使用すると、ツール、リソース、コマンドのヘルプを表示できます。

gcloud asset --help

--help フラグで表示されるヘルプは、gcloud assetCloud SDK リファレンスにもあります。

アカウントの構成

Cloud Asset API を呼び出すには、構成済みのユーザー アカウントまたはサービス アカウントが必要です。

ユーザー アカウントの構成

  1. 次のコマンドを使用して自分のユーザー アカウントでログインします。

    gcloud auth login USER_ACCOUNT_EMAIL
    

  2. 省略可。Cloud Asset API を呼び出すためのターゲット プロジェクトが Cloud Asset Inventory 対応プロジェクトと同じでない場合は、次のコマンドを使用してプロジェクトを指定します。

    gcloud config set billing/quota_project PROJECT_ID
    

  3. メタデータをエクスポートするプロジェクトで、自分のユーザー アカウントに cloudasset.viewer Cloud IAM 役割を付与します。このプロジェクトは、Cloud Asset API 対応プロジェクトと同じでもかまいません。

    gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \
           --member user:USER_ACCOUNT_EMAIL \
           --role roles/cloudasset.viewer
    

サービス アカウントの構成

サービス アカウントは、Cloud Asset API コマンドを実行するプロジェクト用に作成する必要があります。

  1. Cloud Asset API 対応プロジェクトでまだサービス アカウントを作成していない場合は、次のコマンドで新しいサービス アカウントを作成します。

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
           --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
    

  2. サービス アカウントの秘密鍵を作成します。

    gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \
           --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    

  3. 次のコマンドで、gcloud ツールで使用するサービス アカウントを有効にします。

    gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
           --key-file=YOUR_FILE_PATH/key.json
    

  4. 新しいサービス アカウントに対して、メタデータをエクスポートするプロジェクトの cloudasset.viewer Cloud IAM 役割を付与します。このプロジェクトは、Cloud Asset API 対応プロジェクトと同じでもかまいません。

    gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \
           --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
           --role roles/cloudasset.viewer
    

gcloud アセットの呼び出し

以下では、プロジェクトに対する gcloud Cloud Asset API 呼び出しの例をいくつか示します。Cloud Asset API 呼び出しは、フォルダと組織でも同様に機能します。

ExportAssets

Cloud Storage ファイルに、特定のタイムスタンプにおけるすべてのアセット メタデータをエクスポートします。エクスポートしたメタデータを保存する Cloud Storage バケットは、エクスポートを実行する Cloud Asset API 対応プロジェクトに含まれている必要があります。この方法は、組織全体またはフォルダのアセットをエクスポートする場合にも使用できます。

次の例では、プロジェクト内のアセット メタデータをエクスポートします。

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

PROJECT_ID は、メタデータをエクスポートするプロジェクトの ID です。このプロジェクトは、エクスポートを実行する Cloud Asset API 対応プロジェクトでも、別のプロジェクトでもかまいません。

GetOperation

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

gcloud asset operations describe projects/PROJECT_ID/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER

BatchGetAssetsHistory

指定された期間内の複数のアセットの履歴を取得します。指定したアセットの一定期間における作成イベント、削除イベント、更新イベントがすべて表示されます。この方法を使用して、プロジェクトまたは組織内のアセットの履歴を取得できます。

次の例では、プロジェクト内のアセットの履歴を取得します。

gcloud asset get-history --asset-names="//storage.googleapis.com/BUCKET_NAME","otherAssetNames" \
   --content-type resource \
   --start-time '2018-10-03T00:00:00Z' \
   --project PROJECT_ID

期間に指定できる最も新しい開始日時(start-time)は 2018-10-03T00:00:00Z です。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Resource Manager のドキュメント