×

PUT /v1/policies/{id}

PutPolicy 修改现有策略。

描述

参数

路径参数

名称 描述 必填 默认值 模式

id

X

null

主体参数

名称 描述 必填 默认值 模式

body

PolicyServicePutPolicyBody

X

返回类型

对象

内容类型

  • application/json

响应

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

200

成功的响应。

对象

0

意外的错误响应。

GooglerpcStatus

示例

通用对象引用

GooglerpcStatus

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

code

整数

int32

message

字符串

details

ProtobufAny 列表

PolicyMitreAttackVectors

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

tactic

字符串

techniques

string 列表

PolicyServicePutPolicyBody

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

name

字符串

策略名称。必须唯一。

description

字符串

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

rationale

字符串

remediation

字符串

描述如何修复此策略的违规行为。

disabled

布尔值

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

categories

string 列表

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

lifecycleStages

StorageLifecycleStage 列表

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

eventSource

StorageEventSource

NOT_APPLICABLE, DEPLOYMENT_EVENT, AUDIT_LOG_EVENT,

exclusions

StorageExclusion 列表

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

scope

StorageScope 列表

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

severity

StorageSeverity

UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY,

enforcementActions

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。

notifiers

string 列表

应在识别到此策略的违规行为时触发的通知程序 ID 列表。ID 应为 UUID 格式,可通过中央 API 找到。

lastUpdated

日期

日期时间

SORTName

字符串

仅供内部使用。

SORTLifecycleStage

字符串

仅供内部使用。

SORTEnforcement

布尔值

仅供内部使用。

policyVersion

字符串

policySections

StoragePolicySection 列表

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

mitreAttackVectors

PolicyMitreAttackVectors 列表

criteriaLocked

布尔值

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

mitreVectorsLocked

布尔值

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

isDefault

布尔值

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

source

StoragePolicySource

IMPERATIVE,DECLARATIVE,

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(或空方案)以外的方案,并具有特定于实现的语义。

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

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

name

字符串

deployment

StorageExclusionDeployment

image

StorageExclusionImage

expiration

日期

日期时间

StorageExclusionDeployment

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

name

字符串

scope

StorageScope

StorageExclusionImage

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

name

字符串

StorageLifecycleStage

枚举值

DEPLOY

BUILD

RUNTIME

StoragePolicyGroup

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

fieldName

字符串

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

booleanOperator

StorageBooleanOperator

OR,AND,

negate

布尔值

确定此 PolicyGroup 的评估是否被否定。默认为 false。

values

StoragePolicyValue 列表

StoragePolicySection

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

sectionName

字符串

policyGroups

StoragePolicyGroup 列表

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

StoragePolicySource

枚举值

IMPERATIVE

DECLARATIVE

存储策略值

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

字符串

存储范围

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

集群

字符串

命名空间

字符串

标签

存储范围标签

存储范围标签

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

字符串

字符串

存储严重性

枚举值

未设置严重性

低严重性

中严重性

高严重性

严重严重性