このページでは、Cloud Asset Inventory アセットリスト サービスの使用方法を説明します。Cloud Asset Inventory API を使用すると、特定のタイムスタンプにおけるアセットのリストをページ分けして表示できます。
始める前に
Google Cloud CLI を使用して Cloud Asset Inventory にアクセスする前に、Cloud Asset API を有効にします。API は Cloud Asset API コマンドを実行するプロジェクトでのみ有効にする必要があるのでご注意ください。
ローカル クライアントに Google Cloud CLI をインストールします。
アセットを一覧表示するプロジェクトまたは組織で、次のいずれかのロールがアカウント割り当てられていることを確認します。
roles/cloudasset.viewer
roles/cloudasset.owner
アカウントを構成する
Cloud Asset API を呼び出すには、ルート(親)リソース(一覧表示するアセットを含むプロジェクトまたは組織)に対応する権限がアカウントに付与される必要があります。以下に、リクエスト内の各 ContentType に対する必要な権限を示します。
コンテンツ タイプ | 権限 | |
---|---|---|
gcloud 名 | REST 名 | |
access-policy |
ACCESS_POLICY |
cloudasset.assets.listAccessPolicy |
content-type-unspecified |
CONTENT_TYPE_UNSPECIFIED |
cloudasset.assets.listResource |
iam-policy |
IAM_POLICY |
cloudasset.assets.listIamPolicy |
org-policy |
ORG_POLICY |
cloudasset.assets.listOrgPolicy |
os-inventory |
OS_INVENTORY |
cloudasset.assets.listOSInventories |
relationship |
RELATIONSHIP |
cloudasset.assets.listResource |
resource |
RESOURCE |
cloudasset.assets.listResource |
アカウントに Cloud Asset 閲覧者(roles/cloudasset.viewer
)のロール、Cloud Asset オーナー(roles/cloudasset.owner
)のロール、またはリソースルートに対するオーナー(roles/owner
)の基本ロールが付与されている場合、アカウントには、Cloud Asset API を呼び出すための十分な権限が付与されていることになります。それ以外の場合は、権限の構成ページの手順に従ってください。
アセットの一覧表示
Cloud Asset API を使用して、プロジェクト、フォルダ、組織内のアセットと各アセットの関係を一覧表示するには、次のリクエストのいずれかを行います。
プロジェクト、フォルダ、組織内のアセット(すべてのリソース メタデータを含む)を一覧表示する
gcloud
プロジェクト
gcloud asset list \
--project=PROJECT_ID \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--content-type=resource \
--snapshot-time="SNAPSHOT_TIME"
次の値を指定します。
PROJECT_ID
: アセットを一覧表示するプロジェクトの ID。ASSET_TYPE
: 省略可。検索可能なアセットタイプのカンマ区切りのリスト。RE2 互換の正規表現がサポートされています。正規表現が、サポートされているアセットタイプと一致しない場合は、INVALID_ARGUMENT
エラーが返されます。SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成したい時刻。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。時刻形式については、gcloud topic datetimes をご覧ください。
リソース メタデータを除外するには、--content-type
フラグを削除します。
フォルダ
すべてのリソース メタデータを含め、フォルダ内のアセットを一覧表示します。
gcloud asset list \
--folder=FOLDER_ID \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--content-type=resource \
--snapshot-time="SNAPSHOT_TIME"
次の値を指定します。
FOLDER_ID
: アセットを一覧表示するフォルダの ID。Google Cloud フォルダ ID を確認する方法
Console
Google Cloud フォルダ ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- フォルダ名を検索します。フォルダ ID がフォルダ名の横に表示されます。
gcloud CLI
組織レベルの Google Cloud フォルダ ID を取得するには、次のコマンドを使用します。
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
ここで、TOP_LEVEL_FOLDER_NAME は文字列の完全一致または部分一致です。
--format
オプションを削除すると、検出されたフォルダに関する詳細情報が表示されます。別のフォルダ内のフォルダの ID を取得するには、以下のとおりサブフォルダを一覧表示します。
gcloud resource-manager folders list --folder=FOLDER_ID
-
ASSET_TYPE
: 省略可。検索可能なアセットタイプのカンマ区切りのリスト。正規表現がサポートされています。正規表現が、サポートされているアセットタイプと一致しない場合は、INVALID_ARGUMENT
エラーが返されます。SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成したい時刻。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。時刻形式については、gcloud topic datetimes をご覧ください。
リソース メタデータを除外するには、--content-type
フラグを削除します。
組織
すべてのリソース メタデータを含め、組織内のアセットを一覧表示する
gcloud asset list \
--organization=ORGANIZATION_ID \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--content-type=resource \
--snapshot-time="SNAPSHOT_TIME"
次の値を指定します。
ORGANIZATION_ID
: アセットを一覧表示する組織の ID。Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_TYPE
: 省略可。検索可能なアセットタイプのカンマ区切りのリスト。正規表現がサポートされています。正規表現が、サポートされているアセットタイプと一致しない場合は、INVALID_ARGUMENT
エラーが返されます。SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成したい時刻。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。時刻形式については、gcloud topic datetimes をご覧ください。
リソース メタデータを除外するには、--content-type
フラグを削除します。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"contentType": "RESOURCE",
"assetTypes": [
"ASSET_TYPE_1",
"ASSET_TYPE_2",
"..."
],
"readTime": "SNAPSHOT_TIME",
"pageToken": "PAGE_TOKEN"
}' \
https://cloudasset.googleapis.com/v1/SCOPE/assets
次の値を指定します。
ASSET_TYPE
: 省略可。検索可能なアセットタイプの配列。正規表現がサポートされています。正規表現が、サポートされているアセットタイプと一致しない場合は、INVALID_ARGUMENT
エラーが返されます。SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成する時刻を RFC 3339 形式で表したもの。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。PAGE_TOKEN
: 省略可。長いリクエスト レスポンスは複数のページに分割されます。最初のページにこの Key-Value ペアは必要ありませんが、ここで前のレスポンスのnextPageToken
を使用すると、後続のページを呼び出すことができます。SCOPE
: プロジェクト、フォルダ、組織がスコープになります。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud フォルダ ID を確認する方法
Console
Google Cloud フォルダ ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- フォルダ名を検索します。フォルダ ID がフォルダ名の横に表示されます。
gcloud CLI
組織レベルの Google Cloud フォルダ ID を取得するには、次のコマンドを使用します。
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
ここで、TOP_LEVEL_FOLDER_NAME は文字列の完全一致または部分一致です。
--format
オプションを削除すると、検出されたフォルダに関する詳細情報が表示されます。別のフォルダ内のフォルダの ID を取得するには、以下のとおりサブフォルダを一覧表示します。
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
contentType
の Key-Value ペアを削除して、リソース メタデータを除外します。
プロジェクト、フォルダ、組織内の特定の関係を一覧表示する
gcloud
プロジェクト
gcloud asset list \
--project=PROJECT_ID \
--content-type=relationship \
--relationship-types=INSTANCE_TO_INSTANCEGROUP \
--snapshot-time="SNAPSHOT_TIME"
次の値を指定します。
PROJECT_ID
: アセットを一覧表示するプロジェクトの ID。SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成したい時刻。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。時刻形式については、gcloud topic datetimes をご覧ください。
プロジェクト内のすべての関係を一覧表示するには、--relationship-types
フラグを削除します。
フォルダ
gcloud asset list \
--folder=FOLDER_ID \
--content-type=relationship \
--relationship-types=INSTANCE_TO_INSTANCEGROUP \
--snapshot-time="SNAPSHOT_TIME"
次の値を指定します。
FOLDER_ID
: アセットを一覧表示するフォルダの ID。Google Cloud フォルダ ID を確認する方法
Console
Google Cloud フォルダ ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- フォルダ名を検索します。フォルダ ID がフォルダ名の横に表示されます。
gcloud CLI
組織レベルの Google Cloud フォルダ ID を取得するには、次のコマンドを使用します。
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
ここで、TOP_LEVEL_FOLDER_NAME は文字列の完全一致または部分一致です。
--format
オプションを削除すると、検出されたフォルダに関する詳細情報が表示されます。別のフォルダ内のフォルダの ID を取得するには、以下のとおりサブフォルダを一覧表示します。
gcloud resource-manager folders list --folder=FOLDER_ID
-
SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成したい時刻。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。時刻形式については、gcloud topic datetimes をご覧ください。
フォルダ内のすべての関係を一覧表示するには、--relationship-types
フラグを削除します。
組織
gcloud asset list \
--organization=ORGANIZATION_ID \
--content-type=relationship \
--relationship-types=INSTANCE_TO_INSTANCEGROUP \
--snapshot-time="SNAPSHOT_TIME"
次の値を指定します。
ORGANIZATION_ID
: アセットを一覧表示する組織の ID。Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成したい時刻。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。時刻形式については、gcloud topic datetimes をご覧ください。
組織内のすべての関係を一覧表示するには、--relationship-types
フラグを削除します。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"contentType": "RELATIONSHIP",
"relationshipTypes": "INSTANCE_TO_INSTANCEGROUP",
"readTime": "SNAPSHOT_TIME",
"pageToken": "PAGE_TOKEN"
}' \
https://cloudasset.googleapis.com/v1/SCOPE/assets
次の値を指定します。
SNAPSHOT_TIME
: 省略可。アセットのスナップショットを作成する時刻を RFC 3339 形式で表したもの。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、現在の時刻にスナップショットが作成されます。PAGE_TOKEN
: 省略可。長いリクエスト レスポンスは複数のページに分割されます。最初のページにこの Key-Value ペアは必要ありませんが、ここで前のレスポンスのnextPageToken
を使用すると、後続のページを呼び出すことができます。SCOPE
: プロジェクト、フォルダ、組織がスコープになります。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud フォルダ ID を確認する方法
Console
Google Cloud フォルダ ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- フォルダ名を検索します。フォルダ ID がフォルダ名の横に表示されます。
gcloud CLI
組織レベルの Google Cloud フォルダ ID を取得するには、次のコマンドを使用します。
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
ここで、TOP_LEVEL_FOLDER_NAME は文字列の完全一致または部分一致です。
--format
オプションを削除すると、検出されたフォルダに関する詳細情報が表示されます。別のフォルダ内のフォルダの ID を取得するには、以下のとおりサブフォルダを一覧表示します。
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
relationshipTypes
の Key-Value ペアを削除して、プロジェクト内のすべての関係を一覧表示します。