更新时间:2025-08-18 GMT+08:00
分享

创建访问策略

功能介绍

该API用于创建访问策略。

调用方法

请参见如何调用API

URI

POST /api/v3/access-policies

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

kind

String

参数解释:

API类型。

约束限制:

该值不可修改

取值范围:

不涉及

默认取值:

AccessPolicy

apiVersion

String

参数解释:

API版本。

约束限制:

该值不可修改

取值范围:

不涉及

默认取值:

v3

name

String

参数解释:

访问策略名称。

约束限制:

以小写字母开头,由小写字母、数字、中划线(-)、点(.)组成,长度范围1-56位,且不能以中划线(-)结尾。

取值范围:

不涉及

默认取值:

不涉及

clusters

Array of strings

参数解释:

集群ID的列表,允许使用通配符(“*”),表示所有集群。获取方式请参见如何获取接口URI中参数

约束限制:

当前最多支持同时授权200个集群。

取值范围:

["*"]或者集群ID列表。

默认取值:

不涉及

accessScope

AccessScope object

参数解释:

授权范围,指定需要授权的集群及命名空间。

约束限制:

不涉及

policyType

String

参数解释:

权限类型。

约束限制:

不涉及

取值范围:

  • CCEAdminPolicy:管理员权限

  • CCEClusterAdminPolicy:运维权限

  • CCEEditPolicy:开发权限

  • CCEViewPolicy:只读权限

默认取值:

不涉及

principal

Principal object

参数解释:

授权对象。

约束限制:

不涉及

表2 AccessScope

参数

是否必选

参数类型

描述

namespaces

Array of strings

参数解释:

集群命名空间的列表,允许使用通配符(“*”),表示所有命名空间。当选择了不同集群时,命名空间的列表可以为多个集群的集合,在转化成RBAC策略时,会自动判断集群下的命名空间是否存在。

约束限制:

当前最多支持同时授权500个命名空间。

取值范围:

["*"]或者集群命名空间列表。

默认取值:

不涉及

表3 Principal

参数

是否必选

参数类型

描述

type

String

参数解释:

授权对象的类型。

约束限制:

不涉及

取值范围:

  • user:用户

  • group:用户组

  • agency:委托账号

默认取值:

不涉及

ids

Array of strings

参数解释:

授权对象ID列表,根据授权对象的类型,用户、用户组和委托账号,填入对应的ID。

约束限制:

当前最多支持同时授权500个用户/用户组。

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:201

表4 响应Body参数

参数

参数类型

描述

kind

String

参数解释:

API类型。

约束限制:

该值不可修改。

取值范围:

不涉及

默认取值:

AccessPolicy

apiVersion

String

参数解释:

API版本。

约束限制:

该值不可修改。

取值范围:

不涉及

默认取值:

v3

name

String

参数解释:

访问策略名称。

约束限制:

以小写字母开头,由小写字母、数字、中划线(-)、点(.)组成,长度范围1-56位,且不能以中划线(-)结尾。

取值范围:

不涉及

默认取值:

不涉及

policyId

String

参数解释:

权限ID。

约束限制:

系统自动生成,该值不可修改。

取值范围:

不涉及

默认取值:

不涉及

clusters

Array of strings

参数解释:

集群ID的列表,允许使用通配符(“*”),表示所有集群。

约束限制:

当前最多支持同时授权200个集群。

取值范围:

["*"]或者集群ID列表。

默认取值:

不涉及

accessScope

AccessScope object

参数解释:

授权范围,指定需要授权的集群及命名空间。

约束限制:

不涉及

policyType

String

参数解释:

权限类型。

约束限制:

不涉及

取值范围:

  • CCEAdminPolicy:管理员权限

  • CCEClusterAdminPolicy:运维权限

  • CCEEditPolicy:开发权限

  • CCEViewPolicy:只读权限

默认取值:

不涉及

principal

Principal object

参数解释:

授权对象。

约束限制:

不涉及

createTime

String

参数解释:

创建时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

updateTime

String

参数解释:

更新时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 AccessScope

参数

参数类型

描述

namespaces

Array of strings

参数解释:

集群命名空间的列表,允许使用通配符(“*”),表示所有命名空间。当选择了不同集群时,命名空间的列表可以为多个集群的集合,在转化成RBAC策略时,会自动判断集群下的命名空间是否存在。

约束限制:

当前最多支持同时授权500个命名空间。

取值范围:

["*"]或者集群命名空间列表。

默认取值:

不涉及

表6 Principal

参数

参数类型

描述

type

String

参数解释:

授权对象的类型。

约束限制:

不涉及

取值范围:

  • user:用户

  • group:用户组

  • agency:委托账号

默认取值:

不涉及

ids

Array of strings

参数解释:

授权对象ID列表,根据授权对象的类型,用户、用户组和委托账号,填入对应的ID。

约束限制:

当前最多支持同时授权500个用户/用户组。

取值范围:

不涉及

默认取值:

不涉及

请求示例

创建访问策略

POST /api/v3/access-policies

{
  "kind" : "AccessPolicy",
  "apiVersion" : "v3",
  "name" : "test-access-policy",
  "accessScope" : {
    "clusters" : [ "*" ],
    "namespaces" : [ "*" ]
  },
  "policy" : "CCEAdminPolicy",
  "principal" : {
    "type" : "user",
    "ids" : [ "069fcc2116c347b89869eae3cdxxxxxx1", "069fcc2116c347b89869eae3cdxxxxxx2" ]
  }
}

响应示例

状态码:201

{
  "kind" : "AccessPolicy",
  "apiVersion" : "v3",
  "name" : "test-access-policy",
  "policyId" : "402358e8-2e3a-4531-bae7-fe9cba14d0d1",
  "clusters" : [ "*" ],
  "accessScope" : {
    "namespaces" : [ "*" ]
  },
  "policy" : "CCEAdminPolicy",
  "principal" : {
    "type" : "user",
    "ids" : [ "069fcc2116c347b89869eae3cdxxxxxx1", "069fcc2116c347b89869eae3cdxxxxxx2" ]
  },
  "createTime" : "",
  "updateTime" : ""
}

状态码

状态码

描述

201

错误码

请参见错误码

相关文档