Method: folders.assets.group

Filtra los recursos de una organización y los agrupa según sus propiedades especificadas.

Solicitud HTTP


Las URL usan la sintaxis de transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Obligatorio. Es el nombre de la organización para agrupar. Su formato es "organizations/[organization_id], folders/[folder_id] o projects/[projectId]".

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "filter": string,
  "groupBy": string,
  "compareDuration": string,
  "readTime": string,
  "pageToken": string,
  "pageSize": integer
}
Campos
filter

string

Es una expresión que define el filtro que se aplicará a todos los recursos. La expresión es una lista de cero o más restricciones combinadas a través de los operadores lógicos AND y OR. Se admiten paréntesis, y OR tiene una prioridad más alta que AND.

Las restricciones tienen el formato <field> <operator> <value> y pueden tener un carácter - delante para indicar la negación. Los campos se asignan a los definidos en el recurso Asset. Los ejemplos incluyen:

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

Los operadores admitidos son los siguientes:

  • = para todos los tipos de valores.
  • >, <, >=, <= para valores enteros
  • :, que significa coincidencia de substring, para cadenas.

Los tipos de valores admitidos son los siguientes:

  • literales de cadena entre comillas.
  • literales de número entero sin comillas.
  • Literales booleanos true y false sin comillas.

Se admiten las siguientes combinaciones de campos y operadores:

  • nombre: =
  • updateTime: =, >, <, >=, <=

Uso: Debe ser una cadena RFC3339 o milisegundos desde la época. Ejemplos: updateTime = "2019-06-10T16:07:18-07:00" updateTime = 1560208038000

  • createTime: =, >, <, >=, <=

Uso: Debe ser una cadena RFC3339 o milisegundos desde la época. Ejemplos: 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: =, :

Por ejemplo, resourceProperties.size = 100 es una cadena de filtro válida.

Usa una coincidencia parcial en la cadena vacía para filtrar según una propiedad existente: resourceProperties.my_property : ""

Usa una concordancia parcial negada en la cadena vacía para filtrar según una propiedad que no existe: -resourceProperties.my_property : ""

groupBy

string

Obligatorio. Es una expresión que define qué campos de recursos se deben usar para el agrupamiento. El valor de cadena debe seguir la sintaxis de SQL: lista de campos separados por comas. Por ejemplo: "securityCenterProperties.resource_project,securityCenterProperties.project".

Los siguientes campos son compatibles cuando no se establece compareDuration:

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

Los siguientes campos son compatibles cuando se establece compareDuration:

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

string (Duration format)

Cuando se establece compareDuration, se actualiza la propiedad "stateChange" de GroupResult para indicar si el recurso se agregó, quitó o permaneció presente durante el período de compareDuration que precede a readTime. Es el tiempo entre (readTime - compareDuration) y readTime.

El valor del cambio de estado se obtiene en función de la presencia del recurso en los dos momentos. Los cambios de estado intermedios entre los dos momentos no afectan el resultado. Por ejemplo, los resultados no se ven afectados si se quita el recurso y se vuelve a crear.

Valores posibles de "stateChange" cuando se especifica compareDuration:

  • "ADDED": Indica que el recurso no estaba presente al comienzo de compareDuration, pero sí en reference_time.
  • "REMOVED": Indica que el recurso estaba presente al comienzo de compareDuration, pero no en reference_time.
  • "ACTIVE": Indica que el activo estuvo presente al comienzo y al final del período definido por compareDuration y reference_time.

Si no se especifica compareDuration, el único stateChange posible es "UNUSED", que será el stateChange establecido para todos los recursos presentes en readTime.

Si se establece este campo, stateChange debe ser un campo especificado en groupBy.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

readTime

string (Timestamp format)

Es la hora que se usa como punto de referencia cuando se filtran los recursos. El filtro se limita a los activos que existen en el momento proporcionado y sus valores son los de ese momento específico. Si no se incluye este campo, se usará la versión de NOW de la API de forma predeterminada.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

pageToken

string

El valor que muestra el último GroupAssetsResponse indica que esta es una continuación de una llamada assets.group anterior y que el sistema debe mostrar la siguiente página de datos.

pageSize

integer

Es la cantidad máxima de resultados que se mostrarán en una sola respuesta. El valor predeterminado es 10, el mínimo es 1 y el máximo es 1, 000.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de GroupAssetsResponse.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Authentication Overview.