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