×

POST /v1/policies/dryrun

DryRunPolicy 评估给定的策略并返回任何警报,而无需创建策略。

描述

参数

主体参数

名称 描述 必填 默认值 模式

主体

存储策略

X

返回类型

内容类型

  • application/json

响应

表 1. HTTP 响应代码
代码 消息 数据类型

200

成功的响应。

V1DryRunResponse

0

意外的错误响应。

GooglerpcStatus

示例

通用对象引用

GooglerpcStatus

字段名称 必填 可空 类型 描述 格式

代码

整数

int32

消息

字符串

详情

ProtobufAny 列表

PolicyMitreAttackVectors

字段名称 必填 可空 类型 描述 格式

策略

字符串

技术

string 列表

ProtobufAny

Any 包含任意序列化的 Protocol Buffer 消息以及描述序列化消息类型的 URL。

Protobuf 库提供支持,以实用程序函数或 Any 类型的附加生成方法的形式打包/解包 Any 值。

示例 1:在 C++ 中打包和解包消息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

示例 2:在 Java 中打包和解包消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

Protobuf 库提供的打包方法默认使用“type.googleapis.com/full.type.name”作为类型 URL,解包方法仅使用类型 URL 中最后一个“/”后的完全限定类型名称,例如“foo.bar.com/x/y.z”将产生类型名称“y.z”。

JSON 表示

Any 值的 JSON 表示使用反序列化的嵌入式消息的常规表示,并添加一个包含类型 URL 的附加字段@type。示例

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

如果嵌入式消息类型是众所周知的并且具有自定义 JSON 表示,则该表示将被嵌入,并添加一个字段value,该字段除了@type字段外还保存自定义 JSON。示例(对于消息[google.protobuf.Duration][])

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
字段名称 必填 可空 类型 描述 格式

@type

字符串

唯一标识序列化 Protocol Buffer 消息类型的 URL/资源名称。此字符串必须包含至少一个“/”字符。URL 路径的最后一部分必须表示类型的完全限定名称(如path/google.protobuf.Duration)。名称应采用规范形式(例如,不接受前导“.”)。实际上,团队通常会将其预期在 Any 上下文中使用的所有类型预编译到二进制文件中。但是,对于使用方案httphttps或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假定为https。* 对 URL 的 HTTP GET 必须产生二进制格式的[google.protobuf.Type][]值,或产生错误。* 应用程序允许根据 URL 缓存查找结果,或将其预编译到二进制文件中以避免任何查找。因此,需要在类型更改时保留二进制兼容性。(使用版本化的类型名称来管理重大更改。)注意:此功能当前在官方 protobuf 版本中不可用,并且不适用于以 type.googleapis.com 开头的类型 URL。截至 2023 年 5 月,没有广泛使用的类型服务器实现,也没有计划实现一个。除httphttps(或空方案)以外的其他方案可能与特定于实现的语义一起使用。

StorageBooleanOperator

枚举值

OR

AND

StorageEnforcementAction

  • FAIL_KUBE_REQUEST_ENFORCEMENT:仅当启用准入控制 Webhook 以侦听 exec 和端口转发事件时,FAIL_KUBE_REQUEST_ENFORCEMENT 才会生效。

  • FAIL_DEPLOYMENT_CREATE_ENFORCEMENT:仅当准入控制 Webhook 配置为对对象创建强制执行时,FAIL_DEPLOYMENT_CREATE_ENFORCEMENT 才会生效。

  • FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT:仅当准入控制 Webhook 配置为对对象更新强制执行时,FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT 才会生效。

枚举值

UNSET_ENFORCEMENT

SCALE_TO_ZERO_ENFORCEMENT

UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT

KILL_POD_ENFORCEMENT

FAIL_BUILD_ENFORCEMENT

FAIL_KUBE_REQUEST_ENFORCEMENT

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT

FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT

StorageEventSource

枚举值

NOT_APPLICABLE

DEPLOYMENT_EVENT

AUDIT_LOG_EVENT

StorageExclusion

字段名称 必填 可空 类型 描述 格式

名称

字符串

部署

StorageExclusionDeployment

镜像

StorageExclusionImage

到期时间

日期

日期时间

StorageExclusionDeployment

字段名称 必填 可空 类型 描述 格式

名称

字符串

范围

StorageScope

StorageExclusionImage

字段名称 必填 可空 类型 描述 格式

名称

字符串

StorageLifecycleStage

枚举值

DEPLOY

BUILD

RUNTIME

StoragePolicy

Next tag: 28
字段名称 必填 可空 类型 描述 格式

ID

字符串

名称

字符串

策略名称。必须唯一。

描述

字符串

此策略的自由格式文本描述。

基本原理

字符串

补救措施

字符串

描述如何补救此策略的违规。

已禁用

布尔值

切换此策略是否执行并主动触发警报。

类别

string 列表

此策略所属的类别列表。类别名称必须已存在于 Central 中。

生命周期阶段

StorageLifecycleStage列表

描述此策略适用的策略生命周期阶段。选项为 DEPLOY、BUILD 和 RUNTIME。

事件来源

StorageEventSource

NOT_APPLICABLE、DEPLOYMENT_EVENT、AUDIT_LOG_EVENT、

排除项

StorageExclusion列表

定义应从此策略中排除的部署或镜像。

范围

StorageScope列表

定义应包含在此策略中的集群、命名空间和部署。未定义的范围包括所有内容。

严重性

StorageSeverity

UNSET_SEVERITY、LOW_SEVERITY、MEDIUM_SEVERITY、HIGH_SEVERITY、CRITICAL_SEVERITY、

执行操作

StorageEnforcementAction列表

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT 仅当准入控制 Webhook 配置为对对象创建/更新强制执行时才生效。FAIL_KUBE_REQUEST_ENFORCEMENT 仅当准入控制 Webhook 启用侦听 exec 和端口转发事件时才生效。FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT 仅当准入控制 Webhook 配置为对对象更新强制执行时才生效。列出识别此策略的违规时要采取的执行操作。可能的值为 UNSET_ENFORCEMENT、SCALE_TO_ZERO_ENFORCEMENT、UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT、KILL_POD_ENFORCEMENT、FAIL_BUILD_ENFORCEMENT、FAIL_KUBE_REQUEST_ENFORCEMENT、FAIL_DEPLOYMENT_CREATE_ENFORCEMENT 和 FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT。

通知程序

string 列表

应在识别此策略的违规时触发的通知程序 ID 列表。ID 应采用 UUID 的形式,并通过 Central API 找到。

上次更新时间

日期

日期时间

SORTName

字符串

仅供内部使用。

SORTLifecycleStage

字符串

仅供内部使用。

SORTEnforcement

布尔值

仅供内部使用。

策略版本

字符串

策略部分

StoragePolicySection列表

PolicySections 定义此策略的违规条件。

MITRE 攻击向量

PolicyMitreAttackVectors列表

条件锁定

布尔值

只读字段。如果为真,则策略的条件字段将被设置为只读。

MITRE 向量锁定

布尔值

只读字段。如果为真,则策略的 MITRE ATT&CK 字段将被设置为只读。

是否为默认值

布尔值

只读字段。如果为真,则表示该策略是默认策略;如果为假,则表示该策略是自定义策略。

来源

存储策略源

命令式,声明式

存储策略组

字段名称 必填 可空 类型 描述 格式

字段名

字符串

定义此策略组评估部署或镜像上的哪个字段。有关可能值的完整列表,请参见 http://docs.openshift.org.cn/acs/operating/manage-security-policies.html#policy-criteria_manage-security-policies

布尔运算符

存储布尔运算符

或,与

否定

布尔值

确定是否否定此策略组的评估结果。默认为 false。

存储策略值 列表

存储策略段

字段名称 必填 可空 类型 描述 格式

段名

字符串

策略组

存储策略组 列表

构成此段的策略组集。每个组都可以被认为是一个单独的条件。

存储策略源

枚举值

命令式

声明式

存储策略值

字段名称 必填 可空 类型 描述 格式

字符串

存储范围

字段名称 必填 可空 类型 描述 格式

集群

字符串

命名空间

字符串

标签

存储范围标签

存储范围标签

字段名称 必填 可空 类型 描述 格式

字符串

字符串

存储严重性

枚举值

未设置严重性

低严重性

中严重性

高严重性

严重严重性

V1DryRun响应

字段名称 必填 可空 类型 描述 格式

警报

V1DryRun响应警报 列表

V1DryRun响应警报

字段名称 必填 可空 类型 描述 格式

部署

字符串

违规

string 列表