PolicySet

Un grupo de uno o más recursos Policy.

Representación JSON
{
  "policySetId": string,
  "description": string,
  "policies": [
    {
      object (Policy)
    }
  ]
}
Campos
policySetId

string

Obligatorio. Es un identificador para el conjunto de políticas.

description

string

Opcional. Es una descripción del conjunto de políticas.

policies[]

object (Policy)

Obligatorio. Los recursos Policy en el conjunto de políticas

Cada política debe tener un policyId único dentro del conjunto de políticas.

Política

Los detalles de una política, incluidas las restricciones que incluye.

Representación JSON
{
  "policyId": string,
  "complianceStandards": [
    {
      object (ComplianceStandard)
    }
  ],
  "constraint": {
    object (Constraint)
  },
  "description": string
}
Campos
policyId

string

Obligatorio. Es un identificador especificado por el usuario para la política.

En un PolicySet, cada política debe tener un identificador único.

complianceStandards[]

object (ComplianceStandard)

Opcional. Los estándares de cumplimiento que la política ayuda a aplicar.

constraint

object (Constraint)

Obligatorio. Las restricciones que incluye la política

description

string

Opcional. Es una descripción de la política.

ComplianceStandard

Información sobre un estándar de cumplimiento que la política ayuda a aplicar.

Representación JSON
{
  "standard": string,
  "control": string
}
Campos
standard

string

Opcional. El estándar de cumplimiento que la política ayuda a aplicar. Por ejemplo, NIST SP 800-53.

control

string

Opcional. Es el control del estándar de cumplimiento que la política ayuda a aplicar. Por ejemplo, AC-3.

Restricción

Son los metadatos de una restricción en un Policy.

Representación JSON
{

  // Union field implementation can be only one of the following:
  "securityHealthAnalyticsModule": {
    object (SecurityHealthAnalyticsModule)
  },
  "securityHealthAnalyticsCustomModule": {
    object (SecurityHealthAnalyticsCustomModule)
  },
  "orgPolicyConstraint": {
    object (OrgPolicyConstraint)
  },
  "orgPolicyConstraintCustom": {
    object (OrgPolicyConstraintCustom)
  }
  // End of list of possible types for union field implementation.
}
Campos
Campo de unión implementation. La implementación de la restricción. implementation puede ser solo uno de los siguientes:
securityHealthAnalyticsModule

object (SecurityHealthAnalyticsModule)

Opcional. Un detector integrado en Security Health Analytics.

securityHealthAnalyticsCustomModule

object (SecurityHealthAnalyticsCustomModule)

Opcional. Un módulo personalizado para las estadísticas del estado de la seguridad.

orgPolicyConstraint

object (OrgPolicyConstraint)

Opcional. Una restricción de política de la organización predefinida.

orgPolicyConstraintCustom

object (OrgPolicyConstraintCustom)

Opcional. Una restricción de política de la organización personalizada.

SecurityHealthAnalyticsModule

Un detector integrado en Security Health Analytics.

Representación JSON
{
  "moduleName": string,
  "moduleEnablementState": enum (EnablementState)
}
Campos
moduleName

string

Obligatorio. Es el nombre del detector. Por ejemplo, BIGQUERY_TABLE_CMEK_DISABLED.

moduleEnablementState

enum (EnablementState)

Indica si el detector está habilitado en un nivel específico de la jerarquía de recursos.

EnablementState

Indica si un detector integrado o un módulo personalizado está habilitado en un nivel especificado de la jerarquía de recursos.

Enums
ENABLEMENT_STATE_UNSPECIFIED Valor predeterminado Este valor no se usa.
ENABLED El detector o el módulo personalizado están habilitados.
DISABLED El detector o el módulo personalizado están inhabilitados.

SecurityHealthAnalyticsCustomModule

Un módulo personalizado para las estadísticas del estado de la seguridad.

Representación JSON
{
  "id": string,
  "displayName": string,
  "config": {
    object (CustomConfig)
  },
  "moduleEnablementState": enum (EnablementState)
}
Campos
id

string

Solo salida. Inmutable. Es el identificador único del módulo personalizado. Contiene entre 1 y 20 dígitos.

displayName

string

Opcional. Es el nombre visible del módulo personalizado. Este valor se usa como la categoría de hallazgo para todos los resultados que muestra el módulo personalizado. El nombre visible debe contener entre 1 y 128 caracteres alfanuméricos o guiones bajos, y debe comenzar con una letra minúscula.

config

object (CustomConfig)

Obligatorio. Configuración del módulo personalizado.

moduleEnablementState

enum (EnablementState)

Indica si el módulo personalizado está habilitado en un nivel especificado de la jerarquía de recursos.

CustomConfig

Una configuración de módulo personalizado para las Estadísticas del estado de la seguridad Usa CustomConfig para crear detectores personalizados que generen hallazgos personalizados para los recursos que especifiques.

Representación JSON
{
  "predicate": {
    object (Expr)
  },
  "customOutput": {
    object (CustomOutputSpec)
  },
  "resourceSelector": {
    object (ResourceSelector)
  },
  "severity": enum (Severity),
  "description": string,
  "recommendation": string
}
Campos
predicate

object (Expr)

Obligatorio. Es la expresión de Common Expression Language (CEL) que se evaluará. Cuando la expresión se evalúa como true para un recurso, se genera un hallazgo.

customOutput

object (CustomOutputSpec)

Opcional. Definiciones de propiedades de origen personalizadas para incluir en los resultados.

resourceSelector

object (ResourceSelector)

Obligatorio. Son los tipos de recursos en los que opera el módulo personalizado.

severity

enum (Severity)

Obligatorio. La gravedad de los resultados que genera el módulo personalizado.

description

string

Opcional. Una descripción de la vulnerabilidad o la configuración incorrecta que detecta el módulo personalizado.

La descripción aparece en cada hallazgo. Proporcionar suficiente información para ayudar a un investigador a comprender el hallazgo

El valor debe estar entre comillas.

recommendation

string

Opcional. Una explicación de los pasos que pueden seguir los equipos de seguridad para resolver el problema detectado La explicación aparece en cada resultado.

Expr

Representa una expresión textual en la sintaxis de Common Expression Language (CEL). CEL es un lenguaje de expresión similar a C. La sintaxis y la semántica de CEL se documentan en https://github.com/google/cel-spec.

Ejemplo (comparación):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Ejemplo (igualdad):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Ejemplo (lógica):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Ejemplo (manipulación de datos):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

El servicio que evalúa la expresión determina las variables y las funciones exactas a las que se puede hacer referencia en la expresión. Para obtener más información, consulta la documentación del servicio.

Representación JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campos
expression

string

Representación textual de una expresión en la sintaxis de Common Expression Language.

title

string

Opcional. Título de la expresión (una string corta que describe el propósito de esta). Se puede usar, p. ej., en IU que permiten ingresar la expresión.

description

string

Opcional. Descripción de la expresión. Es un texto más largo que describe la expresión (p. ej., cuando se coloca el cursor sobre ella en una IU).

location

string

Opcional. Una string que indica la ubicación de la expresión para los informes de errores (p. ej., un nombre de archivo y una posición en este).

CustomOutputSpec

Definiciones de las propiedades de origen personalizadas que pueden aparecer en los resultados.

Representación JSON
{
  "properties": [
    {
      object (Property)
    }
  ]
}
Campos
properties[]

object (Property)

Opcional. Son las propiedades de fuente personalizadas que pueden aparecer en los resultados.

Propiedad

Es un par nombre-valor que se usa como propiedad de origen personalizada.

Representación JSON
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la propiedad de origen personalizada.

valueExpression

object (Expr)

Opcional. Es la expresión CEL para el valor de la propiedad de origen personalizada. En el caso de las propiedades de recursos, puedes mostrar el valor de la propiedad o una cadena entre comillas.

ResourceSelector

Es un selector para los tipos de recursos en los que se ejecutará el detector.

Representación JSON
{
  "resourceTypes": [
    string
  ]
}
Campos
resourceTypes[]

string

Obligatorio. Los tipos de recursos en los que se ejecutará el detector. Cada módulo personalizado puede especificar hasta 5 tipos de recursos.

Gravedad

La gravedad de un hallazgo.

Enums
SEVERITY_UNSPECIFIED Valor predeterminado Este valor no se usa.
CRITICAL Gravedad crítica.
HIGH Gravedad alta.
MEDIUM Gravedad media.
LOW Gravedad baja.

OrgPolicyConstraint

Una restricción de política de la organización predefinida.

Representación JSON
{
  "cannedConstraintId": string,
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Campos
cannedConstraintId

string

Obligatorio. Es un identificador único para la restricción.

policyRules[]

object (PolicyRule)

Obligatorio. Las reglas que aplica la restricción

PolicyRule

Es una regla que define los valores permitidos y rechazados para una restricción de la política de la organización.

Representación JSON
{
  "condition": {
    object (Expr)
  },

  // Union field kind can be only one of the following:
  "values": {
    object (StringValues)
  },
  "allowAll": boolean,
  "denyAll": boolean,
  "enforce": boolean
  // End of list of possible types for union field kind.
}
Campos
condition

object (Expr)

Es una condición que determina si se usa esta regla para evaluar la política.

Cuando se establece, el campo google.type.Expr.expression debe contener de 1 a 10 subexpresiones, unidas por los operadores || o &&. Cada subexpresión debe usar la función resource.matchTag() o resource.matchTagId() de Common Expression Language (CEL).

La función resource.matchTag() toma los siguientes argumentos:

  • key_name: El nombre con espacio de nombres de la clave de etiqueta, con el ID de la organización y una barra diagonal (/) como prefijo; por ejemplo, 123456789012/environment
  • value_name: El nombre corto del valor de la etiqueta

Por ejemplo: resource.matchTag('123456789012/environment, 'prod')

La función resource.matchTagId() toma los siguientes argumentos:

  • key_id: El ID permanente de la clave de la etiqueta; por ejemplo, tagKeys/123456789012
  • value_id: El ID permanente del valor de la etiqueta; por ejemplo, tagValues/567890123456

Por ejemplo: resource.matchTagId('tagKeys/123456789012', 'tagValues/567890123456')

Campo de unión kind. Es el tipo de regla que define PolicyRule. kind puede ser solo uno de los siguientes:
values

object (StringValues)

Los valores permitidos y denegados para una restricción de lista. Solo es válido para las restricciones de listas.

allowAll

boolean

Indica si se permite cualquier valor para una restricción de lista. Solo es válido para las restricciones de listas.

denyAll

boolean

Indica si se deben rechazar todos los valores de una restricción de lista. Solo es válido para las restricciones de listas.

enforce

boolean

Indica si se debe aplicar la restricción. Solo es válido para restricciones booleanas.

StringValues

Los valores permitidos y denegados para una restricción de lista.

Para todas las restricciones, estos campos pueden contener valores literales. De manera opcional, puedes agregar el prefijo is: a estos valores. Si el valor contiene dos puntos (:), se requiere el prefijo is:.

Algunas restricciones te permiten especificar una parte de la jerarquía de recursos, conocida como subárbol de la jerarquía, a la que se aplica la restricción. Para especificar un subárbol de jerarquías, usa el prefijo under:, seguido de un valor con uno de estos formatos:

  • projects/{projectId} (por ejemplo, projects/tokyo-rain-123)
  • folders/{folder_id} (por ejemplo, folders/1234567890123)
  • organizations/{organization_id} (por ejemplo, organizations/123456789012)

El campo supportsUnder de una restricción indica si puedes especificar un subárbol de jerarquía. Para saber qué restricciones predefinidas te permiten especificar un subárbol de jerarquías, consulta la referencia de restricciones.

Representación JSON
{
  "allowedValues": [
    string
  ],
  "deniedValues": [
    string
  ]
}
Campos
allowedValues[]

string

Los valores permitidos para la restricción.

deniedValues[]

string

Los valores rechazados para la restricción.

OrgPolicyConstraintCustom

Una restricción de política de la organización personalizada.

Representación JSON
{
  "customConstraint": {
    object (CustomConstraint)
  },
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Campos
customConstraint

object (CustomConstraint)

Obligatorio. Metadatos de la restricción

policyRules[]

object (PolicyRule)

Obligatorio. Las reglas que aplica la restricción

CustomConstraint

Es una restricción personalizada definida por el usuario. Puedes aplicar la restricción solo a los tipos de recursos especificados en ella y solo dentro de la organización en la que se define.

Cuando creas una restricción personalizada, no se aplica automáticamente. Debes usar una política de la organización para aplicar la restricción.

Representación JSON
{
  "name": string,
  "resourceTypes": [
    string
  ],
  "methodTypes": [
    enum (MethodType)
  ],
  "condition": string,
  "actionType": enum (ActionType),
  "displayName": string,
  "description": string,
  "updateTime": string
}
Campos
name

string

Inmutable. Es el nombre de la restricción, en el formato organizations/{organization_id}/customConstraints/custom.{custom_constraint_id}. Por ejemplo, organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms

Debe contener entre 1 y 62 caracteres, sin incluir el prefijo organizations/{organization_id}/customConstraints/custom..

resourceTypes[]

string

Inmutable. Es el tipo de recurso al que se aplica la restricción, en el formato {canonical_service_name}/{resource_type_name}. Por ejemplo, compute.googleapis.com/Instance

methodTypes[]

enum (MethodType)

Los tipos de operaciones a los que se aplica la restricción.

condition

string

Es una expresión de condición de Common Expression Language (CEL) que debe evaluarse como true para que se aplique la restricción. La longitud máxima es de 1,000 caracteres.

Por ejemplo:

  • resource.instanceName.matches('(production|test)_(.+_)?[\d]+'): Se evalúa como true si el atributo instanceName del recurso contiene lo siguiente:
    • El prefijo production o test
    • Un guion bajo (_)
    • Opcional: Uno o más caracteres, seguidos de un guion bajo (_)
    • Uno o más dígitos
  • resource.management.auto_upgrade == true: Se evalúa como true si el atributo management.auto_upgrade del recurso es true.
actionType

enum (ActionType)

Si se permite o se rechaza la acción.

displayName

string

Es un nombre visible para la restricción. La longitud máxima es de 200 caracteres.

description

string

Es una descripción de la restricción. La longitud máxima es de 2,000 caracteres.

updateTime

string (Timestamp format)

Solo salida. La última vez que se actualizó o creó la restricción.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

MethodType

Es un tipo de operación al que se aplica la restricción.

Si una restricción se aplica a las operaciones MethodType.UPDATE, también debe aplicarse a las operaciones MethodType.CREATE.

Enums
METHOD_TYPE_UNSPECIFIED Valor predeterminado Este valor no se usa.
CREATE Es la restricción que se aplicó cuando se creó el recurso.
UPDATE Es la restricción que se aplica cuando se actualiza el recurso.
DELETE No compatible. Es la restricción que se aplica cuando se borra el recurso.

ActionType

Si se permite o se rechaza la acción.

Enums
ACTION_TYPE_UNSPECIFIED Valor predeterminado Este valor no se usa.
ALLOW Permite la acción.
DENY Rechaza la acción.