策略管理接口
说明:权限策略分为自定义策略和系统策略。 自定义策略是用户自行创建管理的权限策略,类型为Custom;系统策略是云平台统一管理的内置策略,类型为System。 在下文API中,如未指定policyType参数,则默认为自定义策略类型。
创建策略
接口描述
创建权限策略。
请求结构
POST /v1/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
name | String | RequestBody参数 | 组名 | 是 |
description | String | RequestBody参数 | 组的描述 | 否 |
document | String | RequestBody参数 | 策略内容,ACL格式序列化后得到的String | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
请求示例
POST /v1/policy HTTP/1.1
Host: iam.bj.baidubce.com
content-type: application/json
Content-Length: 20
Authorization: AuthorizationString
{"name":"test_policy", "document":"{\"accessControlList\": [{\"region\":\"bj\",\"service\":\"bcc\",\"resource\":[\"*\"],\"permission\":[\"*\"],\"effect\":\"Allow\"}]}"}
响应示例
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
更新策略
接口描述
仅支持更按【策略语法自定义创建】的权限策略。
请求结构
POST /v1/policy/{policyName} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
policyName | String | url参数 | 原策略名 | 是 |
name | String | RequestBody参数 | 新策略名 | 否 |
description | String | RequestBody参数 | 策略的描述 | 否 |
document | String | RequestBody参数 | 策略内容,ACL格式序列化后得到的String | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
请求示例
POST /v1/policy/test_policy HTTP/1.1
Host: iam.bj.baidubce.com
content-type: application/json
Content-Length: 20
Authorization: AuthorizationString
{"name":"test_policy", "document":"{\"accessControlList\": [{\"region\":\"bj\",\"service\":\"bcc\",\"resource\":[\"*\"],\"permission\":[\"*\"],\"effect\":\"Allow\"}]}"}
响应示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
查询策略
接口描述
查询权限策略。
请求结构
GET /v1/policy/{policyName}?policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
请求示例
GET /v1/policy/test_policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
删除策略
接口描述
删除权限策略。
说明:删除组前需要需要先解除到该策略的全部权限关联。
请求结构
DELETE /v1/policy/{policyName} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
policyName | String | URL参数 | 组名 | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
DELETE /v1/policy/test_policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 204 No Content
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
列举策略
接口描述
列举权限策略。
当policyType为System时,可列举系统内置的策略列表。
请求结构
GET /v1/policy?policyType={policyType}&nameFilter=${nameFilter} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
policyType | String | Query参数 | 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
nameFilter | String | Query参数 | 策略名字的过滤条件;不为空时仅返回名字包含此关键字的结果 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
名称 | 类型 | 描述 |
---|---|---|
policies | List<PolicyModel> | 策略对象的列表 |
请求示例
GET /v1/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"policies": [
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
]
}
关联用户权限
接口描述
为用户关联权限策略。
请求结构
PUT /v1/user/{userName}/policy/{policyName}?policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
userName | String | URL参数 | 用户名 | 是 |
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 要关联的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
PUT /v1/user/test-user/policy/test_policy
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
解除用户权限
接口描述
解除子用户关联的权限策略。
请求结构
DELETE /v1/user/{userName}/policy/{policyName}policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
userName | String | URL参数 | 用户名 | 是 |
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 关联的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
DELETE /v1/user/test-user/policy/test_policy
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 204 No Content
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
列举用户的权限
接口描述
列举用户关联的权限策略。
请求结构
GET /v1/user/{userName}/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
userName | String | URL参数 | 用户名 | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
名称 | 类型 | 描述 |
---|---|---|
policies | List<PolicyModel> | 策略对象的列表 |
请求示例
GET /v1/user/test-user/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"policies": [
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
]
}
关联组权限
接口描述
为用户组关联权限策略。
请求结构
PUT /v1/group/{groupName}/policy/{policyName}?policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
groupName | String | URL参数 | 组名 | 是 |
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 要关联的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
PUT /v1/group/test_group/policy/test_policy
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
解除组权限
接口描述
解除用户组关联的权限策略。
请求结构
DELETE /v1/group/{groupName}/policy/{policyName}policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
groupName | String | URL参数 | 组名 | 是 |
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 关联的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
DELETE /v1/group/test_group/policy/test_policy
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 204 No Content
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
列举组的权限
接口描述
列举用户组关联的权限策略。
请求结构
GET /v1/group/{groupName}/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
groupName | String | URL参数 | 用户名 | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
名称 | 类型 | 描述 |
---|---|---|
policies | List<PolicyModel> | 策略对象的列表 |
请求示例
GET /v1/group/test_group/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"policies": [
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
]
}
关联角色权限
接口描述
为角色关联权限策略。
请求结构
PUT /v1/role/{roleName}/policy/{policyName}?policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
roleName | String | URL参数 | 角色名 | 是 |
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 要关联的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
PUT /v1/role/test-role/policy/test_policy
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
解除角色权限
接口描述
解除角色关联的权限策略。
请求结构
DELETE /v1/role/{roleName}/policy/{policyName}?policyType={policyType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
roleName | String | URL参数 | 角色名 | 是 |
policyName | String | URL参数 | 策略名 | 是 |
policyType | String | Query参数 | 关联的策略类型,为System时查询系统策略;为Custom时查询自定义策略 | 否 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
请求示例
DELETE /v1/role/test-role/policy/test_policy
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 204 No Content
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
列举角色的权限
接口描述
列举角色关联的权限策略。
请求结构
GET /v1/role/{roleName}/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
roleName | String | URL参数 | 角色名 | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
名称 | 类型 | 描述 |
---|---|---|
policies | List<PolicyModel> | 策略对象的列表 |
请求示例
GET /v1/role/test-role/policy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"policies": [
{
"description": "",
"createTime": "2019-06-06T09:13:50Z",
"document": "{\"id\":\"policy_d19f78b0595242b5a8c3419c09c81b40\",\"accessControlList\":[{\"service\":\"bcc\",\"region\":\"bj\",\"resource\":[\"*\"],\"effect\":\"Allow\",\"permission\":[\"*\"]}]}",
"type": "Custom",
"id": "d19f78b0595242b5a8c3419c09c81b40",
"name": "test_policy"
}
]
}
列举权限授予的主体
接口描述
列举权限策略被授予的主体。
请求结构
GET /v1/policy/{policyId}/grant/{grantType} HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
policyId | String | URL参数 | 策略ID | 是 |
grantType | String | URL参数 | 授予类型, UserPolicy或GroupPolicy | 是 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
名称 | 类型 | 描述 |
---|---|---|
entities | List |
策略被授予主体对象的列表 |
id | String | 主体 id |
name | String | 主体名称 |
type | String | UserPolicy或 GroupPolicy |
attach_time | DateTime | 策略被授予时间 |
请求示例
GET /v1/policy/8e7cb46773944da8aa3b351e1dfe1c59/grant/UserPolicy HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"entities": [
{
"id": "4b284b9ea9724fd4af7c45986a447876",
"name": "test10",
"type": "UserPolicy",
"attach_time": "2023-10-11T10:05:14.000Z"
}
]
}
列举权限授予的所有主体
接口描述
列举权限策略被授予的所有主体。
请求结构
GET /v1/policy/{policyId}/entity HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
名称 | 类型 | 位置 | 描述 | 是否必须 |
---|---|---|---|---|
policyId | String | URL参数 | 策略ID | 是 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
entities | List |
策略被授予主体对象的列表 |
id | String | 主体 id |
name | String | 主体名称 |
type | String | UserPolicy、GroupPolicy、RolePolicy |
attach_time | DateTime | 策略被授予时间 |
请求示例
GET /v1/policy/8e7cb46773944da8aa3b351e1dfe1c59/entity HTTP/1.1
Host: iam.bj.baidubce.com
Authorization: AuthorizationString
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
X-Bce-Request-Id: 8d51a788-e79d-4ced-a9e0-0662ec85b7f7
Server: BWS
{
"entities": [
{
"id": "36b6fb0121a84c65b437fe7df0341234",
"name": "testUser",
"type": "UserPolicy",
"attachTime": "2024-04-22T10:57:08.000Z"
},
{
"id": "fbe4f761c3f340c3a29022c62f042345",
"name": "testGroup",
"type": "GroupPolicy",
"attachTime": "2024-04-22T10:57:22.000Z"
},
{
"id": "91a247bb83ec44b0950ee452db9f4567",
"name": "testRole",
"type": "RolePolicy",
"attachTime": "2024-04-22T10:57:32.000Z"
}
]
}