Method: folders.assets.group

組織のアセットをフィルタし、指定したプロパティでグループ化します。

HTTP リクエスト


この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
parent

string

必須。groupBy する組織の名前。形式は「organizations/[organization_id]」、「folders/[folder_id]」、「projects/[projectId]」です。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "filter": string,
  "groupBy": string,
  "compareDuration": string,
  "readTime": string,
  "pageToken": string,
  "pageSize": integer
}
フィールド
filter

string

アセット全体に適用するフィルタを定義する式。式は、論理演算子 ANDOR で結合された 0 個以上の制限のリストです。かっこはサポートされています。ORAND よりも優先されます。

制限は <field> <operator> <value> の形式で、否定を示すために前に - 文字を付けることができます。フィールドは、Asset リソースで定義されたフィールドにマッピングされます。次に例を示します。

  • name
  • securityCenterProperties.resource_name
  • resourceProperties.a_property
  • securityMarks.marks.marka

サポートされている演算子は次のとおりです。

  • すべての値型で =
  • 整数値の場合は ><>=<=
  • :: 文字列の部分文字列照合。

サポートされている値の型は次のとおりです。

  • 文字列リテラルは引用符で囲みます。
  • 整数リテラル(引用符なし)。
  • ブール値リテラル truefalse(引用符なし)。

次のフィールドと演算子の組み合わせがサポートされています。

  • 名前: =
  • updateTime: =><>=<=

使用方法: エポックからのミリ秒数または RFC3339 文字列にする必要があります。例: updateTime = "2019-06-10T16:07:18-07:00" updateTime = 1560208038000

  • createTime: =><>=<=

使用方法: エポックからのミリ秒数または RFC3339 文字列にする必要があります。例: createTime = "2019-06-10T16:07:18-07:00" createTime = 1560208038000

  • iamPolicy.policy_blob: =:
  • resourceProperties: =:><>=<=
  • securityMarks.marks: =:
  • securityCenterProperties.resource_name: =:
  • securityCenterProperties.resource_name_display_name: =:
  • securityCenterProperties.resource_type: =:
  • securityCenterProperties.resource_parent: =:
  • securityCenterProperties.resource_parent_display_name: =:
  • securityCenterProperties.resource_project: =:
  • securityCenterProperties.resource_project_display_name: =:
  • securityCenterProperties.resource_owners: =:

たとえば、resourceProperties.size = 100 は有効なフィルタ文字列です。

空の文字列の部分一致を使用して、既存のプロパティ(resourceProperties.my_property : "")に基づいてフィルタします。

空の文字列に対する否定的な部分一致を使用して、存在しないプロパティに基づいてフィルタします。-resourceProperties.my_property : ""

groupBy

string

必須。グループ化に使用するアセット フィールドを定義する式。文字列の値は、SQL 構文に従って、フィールドのカンマ区切りリストにする必要があります。例: "securityCenterProperties.resource_project,securityCenterProperties.project"。

compareDuration が設定されていない場合、次のフィールドがサポートされます。

  • securityCenterProperties.resource_project
  • securityCenterProperties.resource_project_display_name
  • securityCenterProperties.resource_type
  • securityCenterProperties.resource_parent
  • securityCenterProperties.resource_parent_display_name

compareDuration が設定されている場合、次のフィールドがサポートされます。

  • securityCenterProperties.resource_type
  • securityCenterProperties.resource_project_display_name
  • securityCenterProperties.resource_parent_display_name
compareDuration

string (Duration format)

compareDuration が設定されている場合、GroupResult の stateChange プロパティが更新され、readTime より前の compareDuration 期間中にアセットが追加されたか、削除されたか、存在し続けたかが示されます。これは、(readTime - compareDuration)と readTime の間の時間です。

状態変化の値は、2 つの時点でのアセットの存在に基づいて導出されます。2 回目の測定までの間の中間状態の変化は結果に影響しません。たとえば、アセットを削除して再作成しても、結果は影響を受けません。

compareDuration が指定されている場合の「stateChange」の有効な値:

  • 「ADDED」: アセットは compareDuration の開始時には存在していませんでしたが、reference_time の時点では存在しています。
  • 「REMOVED」: アセットは compareDuration の開始時に存在していましたが、reference_time の時点では存在しません。
  • 「ACTIVE」: アセットは、compareDuration と reference_time で定義された期間の開始時間と終了時間のどちらでも存在していました。

compareDuration が指定されていない場合、使用可能な stateChange は「UNUSED」のみです。これは、readTime に存在するすべてのアセットに設定される stateChange です。

このフィールドが設定されている場合、stateChangegroupBy で指定されたフィールドである必要があります。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

readTime

string (Timestamp format)

アセットのフィルタリング時に参照点として使用される時間。フィルタは、指定された時刻に存在するアセットに限定され、その値は特定の時刻の値です。このフィールドが指定されていない場合、デフォルトは API のバージョンの NOW になります。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

pageToken

string

最後の GroupAssetsResponse で返された値は、これが前の assets.group 呼び出しの続きであり、システムからその次のページのデータが返される必要があることを示しています。

pageSize

integer

1 回のレスポンスで返される結果の最大件数。デフォルトは 10 で、最小値は 1、最大値は 1,000 です。

レスポンスの本文

成功した場合、レスポンスの本文には GroupAssetsResponse のインスタンスが含まれます。

認可スコープ

次の OAuth スコープが必要です。

  • https://www.googleapis.com/auth/cloud-platform

詳細については、Authentication Overview をご覧ください。