CustomConfig

在 Security Health Analytics 的自定义模块配置中定义属性。使用自定义模块配置创建自定义检测器,以便为您指定的资源生成自定义发现结果。

JSON 表示法
{
  "predicate": {
    object (Expr)
  },
  "customOutput": {
    object (CustomOutputSpec)
  },
  "resourceSelector": {
    object (ResourceSelector)
  },
  "severity": enum (Severity),
  "description": string,
  "recommendation": string
}
字段
predicate

object (Expr)

可选。要评估以生成发现结果的通用表达式语言 (CEL) 表达式。如果针对某个资源的表达式计算结果为 true,则会生成一个发现结果。

customOutput

object (CustomOutputSpec)

可选。自定义输出属性。

resourceSelector

object (ResourceSelector)

可选。自定义模块操作的 Cloud Asset Inventory 资源类型。如需了解资源类型,请参阅支持的资产类型。每个自定义模块最多可以指定 5 种资源类型。

severity

enum (Severity)

可选。要为模块生成的发现结果分配的严重级别。

description

string

可选。用于描述自定义模块检测到的漏洞或配置错误的文本。此说明会随每个发现结果实例一起返回,以帮助调查员了解检测到的问题。文本必须用英文引号括起来。

recommendation

string

可选。说明安全团队可以用来解决检测到的问题的建议步骤。此模块生成的每个发现结果都会随附此说明。

Expr

表示采用通用表达式语言 (CEL) 语法的文本表达式。CEL 是一种类似于 C 的表达式语言。有关 CEL 的语法和语义,请参见https://github.com/google/cel-spec

示例(比较):

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

示例(相等):

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

示例(逻辑):

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

示例(数据操纵):

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

可以在表达式内引用的确切变量和函数由计算该表达式的服务决定。如需了解详情,请参阅服务文档。

JSON 表示法
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
字段
expression

string

采用通用表达式语言语法的表达式的文本表示法。

title

string

可选。表达式的标题,即说明表达式用途的短字符串。该标题可用于允许输入表达式的内容(例如界面)中。

description

string

可选。表达式的说明。该说明是描述表达式的较长文本,例如在界面中将鼠标悬停在表达式上时显示的文本。

location

string

可选。此字符串指示用于错误报告的表达式的位置,例如文件名和文件中的位置。

CustomOutputSpec

一组可选的名称-值对,用于定义要随自定义模块生成的每个发现结果一起返回的自定义来源属性。此处定义的自定义来源属性会包含在发现结果中。

JSON 表示法
{
  "properties": [
    {
      object (Property)
    }
  ]
}
字段
properties[]

object (Property)

可选。要添加到发现中的自定义输出属性的列表。

属性

用于定义自定义来源属性的单个名称-值对。

JSON 表示法
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
字段
name

string

可选。自定义输出的属性名称。

valueExpression

object (Expr)

可选。自定义输出的 CEL 表达式。您可以指定资源属性,以返回该属性的值或用引号括起来的文本字符串。

ResourceSelector

用于选择资源类型的资源。

JSON 表示法
{
  "resourceTypes": [
    string
  ]
}
字段
resourceTypes[]

string

可选。要运行检测器的资源类型。

严重程度

定义发现结果严重程度的有效值选项。

枚举
SEVERITY_UNSPECIFIED 默认值。此值未使用。
CRITICAL 严重级别。
HIGH 严重程度高。
MEDIUM 中等严重级别。
LOW 严重程度较低。