Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
POST /v1/detect/deploy/yaml
DetectDeployTimeFromYAML 检查给定的部署 YAML 是否违反任何部署时策略。
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
操作 |
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, |
||||
消息 |
字符串 |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
消息 |
字符串 |
||||
进程 |
存储进程指示器的列表 StorageProcessIndicator |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
消息 |
字符串 |
||||
keyValueAttrs |
|||||
networkFlowInfo |
|||||
类型 |
通用,Kubernetes事件,网络流量,网络策略, |
||||
时间 |
日期 |
指示违规时间。此字段与顶层字段“time”不同,顶层字段“time”表示在策略警报多次出现的情况下警报最后一次出现的时间。从55.0版本开始,此字段仅针对Kubernetes事件违规设置,但在未来可能不限于此。 |
日期时间 |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
名称 |
字符串 |
||||
类型 |
字符串 |
||||
警报 |
StorageAlert列表 StorageAlert |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
代码 |
整数 |
int32 |
|||
消息 |
字符串 |
||||
详细信息 |
ProtobufAny列表 ProtobufAny |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
名称 |
字符串 |
||||
实体类型 |
未知类型,部署,互联网,监听端点,外部来源,内部实体, |
||||
部署命名空间 |
字符串 |
||||
部署类型 |
字符串 |
||||
端口 |
整数 |
int32 |
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”。
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路径的最后一部分必须表示类型的全限定名称(如 |
Next available tag: 24
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID |
字符串 |
||||
策略 |
|||||
生命周期阶段 |
部署,构建,运行时, |
||||
集群ID |
字符串 |
||||
集群名称 |
字符串 |
||||
命名空间 |
字符串 |
||||
命名空间ID |
字符串 |
||||
部署 |
|||||
镜像 |
|||||
资源 |
|||||
违规 |
AlertViolation列表 AlertViolation |
对于运行时阶段警报,最多保留40个违规项。 |
|||
processViolation |
|||||
执行 |
|||||
时间 |
日期 |
日期时间 |
|||
首次发生 |
日期 |
日期时间 |
|||
已解决时间 |
日期 |
解决警报的时间。只有在ViolationState为RESOLVED时才设置。 |
日期时间 |
||
状态 |
活跃,暂停,已解决,已尝试, |
||||
暂停到 |
日期 |
日期时间 |
|||
平台组件 |
布尔值 |
||||
实体类型 |
未设置,部署,容器镜像,资源, |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID |
字符串 |
||||
名称 |
字符串 |
||||
类型 |
字符串 |
||||
命名空间 |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
命名空间ID |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
标签 |
字符串映射 |
||||
集群ID |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
集群名称 |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
容器 |
AlertDeploymentContainer列表 AlertDeploymentContainer |
||||
注释 |
字符串映射 |
||||
非活动 |
布尔值 |
Represents an alert on a kubernetes resource other than a deployment (configmaps, secrets, etc.)
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
资源类型 |
未知,密钥,配置映射,集群角色,集群角色绑定,网络策略,安全上下文约束,出口防火墙, |
||||
名称 |
字符串 |
||||
集群ID |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
集群名称 |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
命名空间 |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
|||
命名空间ID |
字符串 |
此字段必须在警报中重复,以便进行范围管理和搜索。 |
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 |
INTERNAL_ENTITIES:INTERNAL_ENTITIES用于将所有内部实体分组到单个网络图节点下
枚举值 |
---|
未知类型 |
部署 |
互联网 |
监听端点 |
外部来源 |
内部实体 |
Next tag: 28
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID |
字符串 |
||||
名称 |
字符串 |
策略名称。必须唯一。 |
|||
描述 |
字符串 |
此策略的自由格式文本描述。 |
|||
基本原理 |
字符串 |
||||
补救措施 |
字符串 |
描述如何补救此策略的违规。 |
|||
禁用 |
布尔值 |
切换此策略是否执行并主动触发警报。 |
|||
类别 |
字符串列表 |
此策略所属的类别列表。类别名称必须已存在于中心。 |
|||
生命周期阶段 |
描述此策略适用的策略生命周期阶段。选项包括 DEPLOY、BUILD 和 RUNTIME。 |
||||
事件源 |
NOT_APPLICABLE、DEPLOYMENT_EVENT、AUDIT_LOG_EVENT、 |
||||
排除项 |
定义应从此策略中排除的部署或镜像。 |
||||
范围 |
的列表StorageScope |
定义应包含在此策略中的集群、命名空间和部署。未定义范围表示包含所有内容。 |
|||
严重性 |
UNSET_SEVERITY、LOW_SEVERITY、MEDIUM_SEVERITY、HIGH_SEVERITY、CRITICAL_SEVERITY、 |
||||
执行操作 |
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 |
布尔值 |
仅供内部使用。 |
|||
策略版本 |
字符串 |
||||
策略部分 |
PolicySections 定义此策略的违规条件。 |
||||
mitreAttackVectors |
|||||
criteriaLocked |
布尔值 |
只读字段。如果为 true,则策略的条件字段将呈现为只读。 |
|||
mitreVectorsLocked |
布尔值 |
只读字段。如果为 true,则策略的 MITRE ATT&CK 字段将呈现为只读。 |
|||
isDefault |
布尔值 |
只读字段。如果为 true,则表示策略是默认策略;如果为 false,则表示策略是自定义策略。 |
|||
来源 |
IMPERATIVE、DECLARATIVE、 |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
字段名 |
字符串 |
定义此策略组评估的部署或镜像上的哪个字段。有关可能值的完整列表,请参阅http://docs.openshift.org.cn/acs/operating/manage-security-policies.html#policy-criteria_manage-security-policies。 |
|||
布尔运算符 |
OR、AND、 |
||||
否定 |
布尔值 |
确定此策略组的评估是否被否定。默认为 false。 |
|||
值 |
Next available tag: 13
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID |
字符串 |
||||
部署 ID |
字符串 |
||||
容器名称 |
字符串 |
||||
Pod ID |
字符串 |
||||
Pod UID |
字符串 |
||||
信号 |
|||||
集群ID |
字符串 |
||||
命名空间 |
字符串 |
||||
容器启动时间 |
日期 |
日期时间 |
|||
镜像 ID |
字符串 |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID |
字符串 |
用于标识消息的唯一 UUID。我们将它放在这里而不是放在顶层,因为我们希望每条消息都是自包含的。 |
|||
容器 ID |
字符串 |
||||
时间 |
日期 |
日期时间 |
|||
名称 |
字符串 |
||||
参数 |
字符串 |
||||
exec 文件路径 |
字符串 |
||||
PID |
长整型 |
int64 |
|||
UID |
长整型 |
int64 |
|||
GID |
长整型 |
int64 |
|||
血统 |
字符串列表 |
||||
抓取 |
布尔值 |
||||
血统信息 |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
运行 |
|||||
忽略的对象引用 |
字符串列表 |
引用格式为:namespace/name[<group>/<version>,Kind=<kind>]。 |
|||
备注 |
字段名称 | 必填 | 可为空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
YAML |
字符串 |
||||
noExternalMetadata |
布尔值 |
||||
enforcementOnly |
布尔值 |
||||
force |
布尔值 |
||||
策略类别 |
字符串列表 |
||||
集群 |
字符串 |
要委托扫描到的集群,可以是集群的名称或 ID。 |
|||
命名空间 |
字符串 |