Method: organizations.assets.group

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

HTTP リクエスト


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

パスパラメータ

パラメータ
parent

string

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

リクエストの本文

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

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(引用符なし)。

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

groupBy

string

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

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

  • securityCenterProperties.resource_project
  • securityCenterProperties.resource_type
  • securityCenterProperties.resource_parent

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

  • securityCenterProperties.resource_type
compareDuration

string (Duration format)

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

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

compareDuration が指定されている場合の「state」の値:

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

stategroupBy のフィールドでない場合、このフィールドは無視されます。

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 です。

レスポンスの本文

アセットごとのグループ化に対するレスポンス メッセージ。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "groupByResults": [
    {
      object (GroupResult)
    }
  ],
  "readTime": string,
  "nextPageToken": string
}
フィールド
groupByResults[]

object (GroupResult)

結果をグループ化します。プロパティと値の一意の組み合わせごとに要素が存在します。この要素には、特定のプロパティ/値が出現する回数のカウントが含まれます。

readTime

string (Timestamp format)

groupBy リクエストの実行に使用された時間。

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"

nextPageToken

string

結果の次のページを取得するためのトークン。それ以上の結果がない場合は空です。

認可スコープ

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

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

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