Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
POST /v1/detect/build
DetectBuildTime 检查是否有任何镜像违反构建时策略。
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
操作 |
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, |
||||
消息 |
字符串 |
枚举值 |
---|
未知 (UNKNOWN) |
密钥 (SECRETS) |
配置映射 (CONFIGMAPS) |
集群角色 (CLUSTER_ROLES) |
集群角色绑定 (CLUSTER_ROLE_BINDINGS) |
网络策略 (NETWORK_POLICIES) |
安全上下文约束 (SECURITY_CONTEXT_CONSTRAINTS) |
出口防火墙 (EGRESS_FIREWALLS) |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
消息 |
字符串 |
||||
keyValueAttrs |
|||||
networkFlowInfo |
|||||
类型 (type) |
通用 (GENERIC), Kubernetes事件 (K8S_EVENT), 网络流量 (NETWORK_FLOW), 网络策略 (NETWORK_POLICY), |
||||
时间 (time) |
日期 (Date) |
指示违规时间。此字段与顶级字段“time”不同,“time”表示在策略警报多次出现的情况下警报最后一次出现的时间。从55.0版本开始,此字段仅为Kubernetes事件违规设置,但在未来可能不限于此。 |
日期时间 (date-time) |
枚举值 |
---|
通用 (GENERIC) |
Kubernetes事件 (K8S_EVENT) |
网络流量 (NETWORK_FLOW) |
网络策略 (NETWORK_POLICY) |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
代码 (code) |
整数 (Integer) |
int32 |
|||
消息 |
字符串 |
||||
详情 (details) |
ProtobufAny列表 (ProtobufAny 的列表) |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
名称 |
字符串 |
||||
实体类型 (entityType) |
未知类型 (UNKNOWN_TYPE), 部署 (DEPLOYMENT), 互联网 (INTERNET), 监听端点 (LISTEN_ENDPOINT), 外部来源 (EXTERNAL_SOURCE), 内部实体 (INTERNAL_ENTITIES), |
||||
部署命名空间 (deploymentNamespace) |
字符串 |
||||
部署类型 (deploymentType) |
字符串 |
||||
端口 (port) |
整数 (Integer) |
int32 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
父UID (parentUid) |
长整型 (Long) |
int64 |
|||
父执行文件路径 (parentExecFilePath) |
字符串 |
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表示使用反序列化的嵌入式消息的常规表示,以及一个附加字段@type
,其中包含类型URL。示例
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) |
字符串 |
||||
策略 (policy) |
|||||
生命周期阶段 (lifecycleStage) |
部署 (DEPLOY), 构建 (BUILD), 运行时 (RUNTIME), |
||||
集群ID (clusterId) |
字符串 |
||||
集群名称 (clusterName) |
字符串 |
||||
命名空间 (namespace) |
字符串 |
||||
命名空间ID (namespaceId) |
字符串 |
||||
部署 (deployment) |
|||||
镜像 |
|||||
资源 (resource) |
|||||
违规 (violations) |
AlertViolation列表 (AlertViolation 的列表) |
对于运行时阶段警报,最多保留40个违规。 |
|||
进程违规 (processViolation) |
|||||
执行 (enforcement) |
|||||
时间 (time) |
日期 (Date) |
日期时间 (date-time) |
|||
首次出现 (firstOccurred) |
日期 (Date) |
日期时间 (date-time) |
|||
解决时间 (resolvedAt) |
日期 (Date) |
警报解决的时间。仅当ViolationState为RESOLVED时才设置。 |
日期时间 (date-time) |
||
状态 (state) |
活动 (ACTIVE), 暂停 (SNOOZED), 已解决 (RESOLVED), 已尝试 (ATTEMPTED), |
||||
暂停到 (snoozeTill) |
日期 (Date) |
日期时间 (date-time) |
|||
平台组件 (platformComponent) |
布尔值 (Boolean) |
||||
实体类型 (entityType) |
未设置 (UNSET), 部署 (DEPLOYMENT), 容器镜像 (CONTAINER_IMAGE), 资源 (RESOURCE), |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID (id) |
字符串 |
||||
名称 |
字符串 |
||||
类型 (type) |
字符串 |
||||
命名空间 (namespace) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
命名空间ID (namespaceId) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
标签 (labels) |
字符串映射 ( |
||||
集群ID (clusterId) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
集群名称 (clusterName) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
容器 (containers) |
AlertDeploymentContainer列表 (AlertDeploymentContainer 的列表) |
||||
注释 (annotations) |
字符串映射 ( |
||||
非活动 (inactive) |
布尔值 (Boolean) |
Represents an alert on a kubernetes resource other than a deployment (configmaps, secrets, etc.)
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
资源类型 (resourceType) |
未知 (UNKNOWN), 密钥 (SECRETS), 配置映射 (CONFIGMAPS), 集群角色 (CLUSTER_ROLES), 集群角色绑定 (CLUSTER_ROLE_BINDINGS), 网络策略 (NETWORK_POLICIES), 安全上下文约束 (SECURITY_CONTEXT_CONSTRAINTS), 出口防火墙 (EGRESS_FIREWALLS), |
||||
名称 |
字符串 |
||||
集群ID (clusterId) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
集群名称 (clusterName) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
命名空间 (namespace) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
|||
命名空间ID (namespaceId) |
字符串 |
此字段必须在Alert中重复,以便进行范围管理和搜索。 |
Next tag: 12
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID (id) |
字符串 |
||||
名称 |
|||||
不可拉取 (notPullable) |
布尔值 (Boolean) |
||||
集群本地 (isClusterLocal) |
布尔值 (Boolean) |
FAIL_KUBE_REQUEST_ENFORCEMENT: FAIL_KUBE_REQUEST_ENFORCEMENT 仅在启用准入控制Webhook以侦听exec和port-forward事件时才生效。
FAIL_DEPLOYMENT_CREATE_ENFORCEMENT: FAIL_DEPLOYMENT_CREATE_ENFORCEMENT 仅当配置准入控制Webhook以强制执行对象创建时才生效。
FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT: FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT 仅当配置准入控制Webhook以强制执行对象更新时才生效。
枚举值 |
---|
未设置执行 (UNSET_ENFORCEMENT) |
缩容到零执行 (SCALE_TO_ZERO_ENFORCEMENT) |
不可满足的节点约束执行 (UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT) |
杀死Pod执行 (KILL_POD_ENFORCEMENT) |
构建失败执行 (FAIL_BUILD_ENFORCEMENT) |
Kubernetes请求失败执行 (FAIL_KUBE_REQUEST_ENFORCEMENT) |
部署创建失败执行 (FAIL_DEPLOYMENT_CREATE_ENFORCEMENT) |
部署更新失败执行 (FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT) |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
名称 |
字符串 |
||||
部署 (deployment) |
|||||
镜像 |
|||||
过期时间 (expiration) |
日期 (Date) |
日期时间 (date-time) |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
注册表 (registry) |
字符串 |
||||
远程 (remote) |
字符串 |
||||
标签 (tag) |
字符串 |
||||
全名 (fullName) |
字符串 |
枚举值 |
---|
未知L4协议 (L4_PROTOCOL_UNKNOWN) |
TCP协议 (L4_PROTOCOL_TCP) |
UDP协议 (L4_PROTOCOL_UDP) |
ICMP协议 (L4_PROTOCOL_ICMP) |
原始协议 (L4_PROTOCOL_RAW) |
SCTP协议 (L4_PROTOCOL_SCTP) |
任意L4协议 (L4_PROTOCOL_ANY) |
内部实体 (INTERNAL_ENTITIES): INTERNAL_ENTITIES 用于将所有内部实体分组到单个网络图节点下
枚举值 |
---|
未知类型 (UNKNOWN_TYPE) |
DEPLOYMENT |
互联网 (INTERNET) |
监听端点 (LISTEN_ENDPOINT) |
外部来源 (EXTERNAL_SOURCE) |
内部实体 (INTERNAL_ENTITIES) |
Next tag: 28
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID (id) |
字符串 |
||||
名称 |
字符串 |
策略名称。必须唯一。 |
|||
描述 (description) |
字符串 |
此策略的自由格式文本描述。 |
|||
基本原理 (rationale) |
字符串 |
||||
补救措施 (remediation) |
字符串 |
描述如何补救此策略的违规。 |
|||
禁用 (disabled) |
布尔值 (Boolean) |
切换此策略是否执行并主动触发警报。 |
|||
类别 |
字符串列表 ( |
此策略所属的类别列表。类别名称必须已存在于中心。 |
|||
生命周期阶段 |
描述此策略适用的策略生命周期阶段。选项包括 DEPLOY、BUILD 和 RUNTIME。 |
||||
事件源 |
NOT_APPLICABLE、DEPLOYMENT_EVENT、AUDIT_LOG_EVENT、 |
||||
排除项 |
的列表 StorageExclusion |
定义应从此策略中排除的部署或镜像。 |
|||
范围 (scope) |
的列表 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 格式,可通过中心 API 找到。 |
|||
上次更新时间 |
日期 (Date) |
日期时间 (date-time) |
|||
SORTName |
字符串 |
仅供内部使用。 |
|||
SORTLifecycleStage |
字符串 |
仅供内部使用。 |
|||
SORTEnforcement |
布尔值 (Boolean) |
仅供内部使用。 |
|||
策略版本 |
字符串 |
||||
策略部分 |
PolicySections 定义此策略的违规条件。 |
||||
MITRE 攻击向量 |
|||||
条件锁定 |
布尔值 (Boolean) |
只读字段。如果为 true,则策略的条件字段将被设置为只读。 |
|||
MITRE 向量锁定 |
布尔值 (Boolean) |
只读字段。如果为 true,则策略的 MITRE ATT&CK 字段将被设置为只读。 |
|||
是否为默认值 |
布尔值 (Boolean) |
只读字段。如果为 true,则表示该策略是默认策略;如果为 false,则表示该策略是自定义策略。 |
|||
来源 |
IMPERATIVE、DECLARATIVE、 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
字段名称 |
字符串 |
定义此 PolicyGroup 评估部署或镜像上的哪个字段。有关可能值的完整列表,请参阅 https://docs.openshift.org.cn/acs/operating/manage-security-policies.html#policy-criteria_manage-security-policies。 |
|||
布尔运算符 |
OR、AND、 |
||||
否定 |
布尔值 (Boolean) |
确定此 PolicyGroup 的评估是否被否定。默认为 false。 |
|||
值 |
Next available tag: 13
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID (id) |
字符串 |
||||
部署 ID |
字符串 |
||||
容器名称 |
字符串 |
||||
Pod ID |
字符串 |
||||
Pod UID |
字符串 |
||||
信号 |
|||||
集群ID (clusterId) |
字符串 |
||||
命名空间 (namespace) |
字符串 |
||||
容器启动时间 |
日期 (Date) |
日期时间 (date-time) |
|||
镜像 ID |
字符串 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
ID (id) |
字符串 |
用于标识消息的唯一 UUID。我们将其放在此处而不是顶层,因为我们希望每条消息都是自包含的。 |
|||
容器 ID |
字符串 |
||||
时间 (time) |
日期 (Date) |
日期时间 (date-time) |
|||
名称 |
字符串 |
||||
参数 |
字符串 |
||||
执行文件路径 |
字符串 |
||||
PID |
长整型 (Long) |
int64 |
|||
UID |
长整型 (Long) |
int64 |
|||
GID |
长整型 (Long) |
int64 |
|||
血统 |
字符串列表 ( |
||||
已抓取 |
布尔值 (Boolean) |
||||
血统信息 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
镜像 |
|||||
镜像名称 |
字符串 |
||||
无外部元数据 |
布尔值 (Boolean) |
||||
发送通知 |
布尔值 (Boolean) |
||||
强制 |
布尔值 (Boolean) |
||||
策略类别 |
字符串列表 ( |
||||
集群 |
字符串 |
要委托扫描的集群,可以是集群的名称或 ID。 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
警报 |
的列表 StorageAlert |