×

POST /v1/detect/deploy/yaml

DetectDeployTimeFromYAML 检查给定的部署 YAML 是否违反任何部署时策略。

描述

参数

主体参数

名称 描述 必填 默认值 模式

主体

V1DeployYAMLDetectionRequest

X

内容类型

  • application/json

响应

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

200

成功的响应。

V1DeployDetectionResponse

0

意外的错误响应。

GooglerpcStatus

示例

常用对象引用

AlertDeploymentContainer

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

镜像

StorageContainerImage

名称

字符串

AlertEnforcement

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

操作

StorageEnforcementAction

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,

消息

字符串

AlertEntityType

枚举值

未设置

部署

容器镜像

资源

AlertProcessViolation

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

消息

字符串

进程

存储进程指示器的列表 StorageProcessIndicator

AlertResourceResourceType

枚举值

未知

密钥

配置映射

集群角色

集群角色绑定

网络策略

安全上下文约束

出口防火墙

AlertViolation

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

消息

字符串

keyValueAttrs

ViolationKeyValueAttrs

networkFlowInfo

ViolationNetworkFlowInfo

类型

AlertViolationType

通用,Kubernetes事件,网络流量,网络策略,

时间

日期

指示违规时间。此字段与顶层字段“time”不同,顶层字段“time”表示在策略警报多次出现的情况下警报最后一次出现的时间。从55.0版本开始,此字段仅针对Kubernetes事件违规设置,但在未来可能不限于此。

日期时间

AlertViolationType

枚举值

通用

Kubernetes事件

网络流量

网络策略

DeployDetectionResponseRun

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

名称

字符串

类型

字符串

警报

StorageAlert列表 StorageAlert

GooglerpcStatus

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

代码

整数

int32

消息

字符串

详细信息

ProtobufAny列表 ProtobufAny

KeyValueAttrsKeyValueAttr

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

字符串

字符串

NetworkFlowInfoEntity

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

名称

字符串

实体类型

StorageNetworkEntityInfoType

未知类型,部署,互联网,监听端点,外部来源,内部实体,

部署命名空间

字符串

部署类型

字符串

端口

整数

int32

PolicyMitreAttackVectors

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

策略

字符串

技术

字符串列表

ProcessSignalLineageInfo

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

父UID

长整型

int64

父执行文件路径

字符串

ProtobufAny

Any包含任意序列化的协议缓冲区消息以及描述序列化消息类型的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

字符串

唯一标识序列化协议缓冲区消息类型的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(或空方案)之外的其他方案可能与特定于实现的语义一起使用。

StorageAlert

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

ID

字符串

策略

StoragePolicy

生命周期阶段

StorageLifecycleStage

部署,构建,运行时,

集群ID

字符串

集群名称

字符串

命名空间

字符串

命名空间ID

字符串

部署

StorageAlertDeployment

镜像

StorageContainerImage

资源

StorageAlertResource

违规

AlertViolation列表 AlertViolation

对于运行时阶段警报,最多保留40个违规项。

processViolation

AlertProcessViolation

执行

AlertEnforcement

时间

日期

日期时间

首次发生

日期

日期时间

已解决时间

日期

解决警报的时间。只有在ViolationState为RESOLVED时才设置。

日期时间

状态

StorageViolationState

活跃,暂停,已解决,已尝试,

暂停到

日期

日期时间

平台组件

布尔值

实体类型

AlertEntityType

未设置,部署,容器镜像,资源,

StorageAlertDeployment

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

ID

字符串

名称

字符串

类型

字符串

命名空间

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

命名空间ID

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

标签

字符串映射

集群ID

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

集群名称

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

容器

AlertDeploymentContainer列表 AlertDeploymentContainer

注释

字符串映射

非活动

布尔值

StorageAlertResource

Represents an alert on a kubernetes resource other than a deployment (configmaps, secrets, etc.)
字段名称 必填 可为空 类型 描述 格式

资源类型

AlertResourceResourceType

未知,密钥,配置映射,集群角色,集群角色绑定,网络策略,安全上下文约束,出口防火墙,

名称

字符串

集群ID

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

集群名称

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

命名空间

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

命名空间ID

字符串

此字段必须在警报中重复,以便进行范围管理和搜索。

StorageBooleanOperator

枚举值

StorageContainerImage

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

ID

字符串

名称

StorageImageName

不可拉取

布尔值

是集群本地

布尔值

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才会生效。

枚举值

未设置执行

缩容到零执行

不可满足的节点约束执行

终止Pod执行

构建失败执行

FAIL_KUBE_REQUEST_ENFORCEMENT

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT

FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT

StorageEventSource

枚举值

不适用

部署事件

审计日志事件

StorageExclusion

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

名称

字符串

部署

StorageExclusionDeployment

镜像

StorageExclusionImage

过期时间

日期

日期时间

StorageExclusionDeployment

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

名称

字符串

范围

StorageScope

StorageExclusionImage

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

名称

字符串

StorageImageName

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

注册表

字符串

远程

字符串

标签

字符串

全名

字符串

StorageL4Protocol

枚举值

L4协议未知

L4协议TCP

L4协议UDP

L4协议ICMP

L4协议原始

L4协议SCTP

L4协议任意

StorageLifecycleStage

枚举值

部署

构建

运行时

StorageNetworkEntityInfoType

  • INTERNAL_ENTITIES:INTERNAL_ENTITIES用于将所有内部实体分组到单个网络图节点下

枚举值

未知类型

部署

互联网

监听端点

外部来源

内部实体

存储策略

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

ID

字符串

名称

字符串

策略名称。必须唯一。

描述

字符串

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

基本原理

字符串

补救措施

字符串

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

禁用

布尔值

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

类别

字符串列表

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

生命周期阶段

的列表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。

通知程序

字符串列表

检测到此策略违规时应触发的通知程序 ID 列表。ID 应采用 UUID 格式,可通过 Central API 找到。

上次更新

日期

日期时间

SORTName

字符串

仅供内部使用。

SORTLifecycleStage

字符串

仅供内部使用。

SORTEnforcement

布尔值

仅供内部使用。

策略版本

字符串

策略部分

的列表StoragePolicySection

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

mitreAttackVectors

的列表PolicyMitreAttackVectors

criteriaLocked

布尔值

只读字段。如果为 true,则策略的条件字段将呈现为只读。

mitreVectorsLocked

布尔值

只读字段。如果为 true,则策略的 MITRE ATT&CK 字段将呈现为只读。

isDefault

布尔值

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

来源

StoragePolicySource

IMPERATIVE、DECLARATIVE、

存储策略组

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

字段名

字符串

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

布尔运算符

StorageBooleanOperator

OR、AND、

否定

布尔值

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

的列表StoragePolicyValue

存储策略部分

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

部分名称

字符串

策略组

的列表StoragePolicyGroup

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

存储策略来源

枚举值

IMPERATIVE

DECLARATIVE

存储策略值

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

字符串

存储进程指示器

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

ID

字符串

部署 ID

字符串

容器名称

字符串

Pod ID

字符串

Pod UID

字符串

信号

StorageProcessSignal

集群ID

字符串

命名空间

字符串

容器启动时间

日期

日期时间

镜像 ID

字符串

存储进程信号

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

ID

字符串

用于标识消息的唯一 UUID。我们将它放在这里而不是放在顶层,因为我们希望每条消息都是自包含的。

容器 ID

字符串

时间

日期

日期时间

名称

字符串

参数

字符串

exec 文件路径

字符串

PID

长整型

int64

UID

长整型

int64

GID

长整型

int64

血统

字符串列表

抓取

布尔值

血统信息

的列表ProcessSignalLineageInfo

存储范围

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

集群

字符串

命名空间

字符串

标签

StorageScopeLabel

存储范围标签

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

字符串

字符串

存储严重性

枚举值

UNSET_SEVERITY

LOW_SEVERITY

MEDIUM_SEVERITY

HIGH_SEVERITY

CRITICAL_SEVERITY

存储违规状态

枚举值

ACTIVE

SNOOZED

RESOLVED

ATTEMPTED

V1DeployDetectionRemark

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

名称

字符串

权限级别

字符串

应用的网络策略

字符串列表

V1DeployDetectionResponse

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

运行

的列表DeployDetectionResponseRun

忽略的对象引用

字符串列表

引用格式为:namespace/name[<group>/<version>,Kind=<kind>]。

备注

的列表V1DeployDetectionRemark

V1DeployYAMLDetectionRequest

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

YAML

字符串

noExternalMetadata

布尔值

enforcementOnly

布尔值

force

布尔值

策略类别

字符串列表

集群

字符串

要委托扫描到的集群,可以是集群的名称或 ID。

命名空间

字符串

ViolationKeyValueAttrs

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

属性

的列表KeyValueAttrsKeyValueAttr

ViolationNetworkFlowInfo

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

协议

StorageL4Protocol

L4_PROTOCOL_UNKNOWN、L4_PROTOCOL_TCP、L4_PROTOCOL_UDP、L4_PROTOCOL_ICMP、L4_PROTOCOL_RAW、L4_PROTOCOL_SCTP、L4_PROTOCOL_ANY、

来源

NetworkFlowInfoEntity

目标

NetworkFlowInfoEntity