创建云服务自定义策略 - CreateCloudServiceCustomPolicy
调试
您可以在API Explorer中调试该接口。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v3.0/OS-ROLE/roles
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | String | 该字段内容填为“application/json;charset=utf8”。 |
X-Auth-Token | 是 | String | 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
是 | Object | 自定义策略信息。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
display_name | 是 | String | 自定义策略展示名。 |
type | 是 | String | 自定义策略的作用范围。
自定义策略的显示模式只能为AX或者XA,不能同时在全局服务和区域级项目生效(AA),或者在全局服务和区域级项目都不生效(XX)。 说明:
|
description | 是 | String | 自定义策略的描述信息。 |
description_cn | 否 | String | 自定义策略的中文描述信息。 |
是 | Object | 自定义策略的具体内容。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Version | 是 | String | 权限版本号,创建自定义策略时,该字段值填为“1.1”。 说明:
|
是 | Array of objects | 授权语句,描述自定义策略的具体内容。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Action | 是 | Array of strings | 授权项,指对资源的具体操作权限。支持的授权项请参考各云服务《API参考》中“权限和授权项”章节。 说明:
|
Effect | 是 | String | 作用。包含两种:允许(Allow)和拒绝(Deny),既有Allow又有Deny的授权语句时,遵循Deny优先的原则。 取值范围:
|
Condition | 否 | Map<String,Map<String,Array<String>>> | 限制条件。了解更多相关参数,请参考:配置自定义策略。 说明: 以请求示例中的Condition为例:条件键(obs:prefix)和字符串(public)需相等(StringEquals)。 "Condition": {
"StringEquals": {
"obs:prefix": [
"public"
]
}
} |
Resource | 否 | Array of strings | 资源。规则如下: 说明:
|
响应参数
参数 | 参数类型 | 描述 |
|---|---|---|
Object | 自定义策略信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
catalog | String | 自定义策略所在目录。 |
display_name | String | 自定义策略展示名。 |
description | String | 自定义策略的描述信息。 |
Object | 自定义策略的资源链接信息。 | |
Object | 自定义策略的具体内容。 | |
description_cn | String | 自定义策略的中文描述信息,仅在请求中传入了description_cn参数,响应体中才会返回此字段。 |
domain_id | String | 自定义策略所属账号ID。 |
type | String | 自定义策略的显示模式。 说明:
|
id | String | 自定义策略ID。 |
name | String | 自定义策略名。 |
updated_time | String | 自定义策略更新时间。 说明: UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。 |
created_time | String | 自定义策略创建时间。 说明: UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。 |
参数 | 参数类型 | 描述 |
|---|---|---|
Version | String | 权限版本号。 说明:
|
Array of objects | 授权语句,描述自定义策略的具体内容,不超过8个。 |
参数 | 参数类型 | 描述 |
|---|---|---|
Action | Array of strings | 授权项,指对资源的具体操作权限。 |
Effect | String | 作用。包含两种:允许(Allow)和拒绝(Deny),既有Allow又有Deny的授权语句时,遵循Deny优先的原则。 取值范围:
|
Condition | Map<String,Map<String,Array<String>>> | 限制条件,如果请求中未传入此字段,则返回结果中也无此字段。 |
Resource | Array of strings | 资源,如果请求中未传入此字段,则返回结果中也无此字段。规则如下: 说明:
|
请求示例
创建一个名为“IAMCloudServicePolicy”的自定义策略。策略表示仅允许以项目名称为“ap-southeast-1”开头的请求获取所有桶ACL的相关信息。
POST https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles {
"role": {
"display_name": "IAMCloudServicePolicy",
"type": "AX",
"description": "IAMDescription",
"description_cn": "中文描述",
"policy": {
"Version": "1.1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"obs:bucket:GetBucketAcl"
],
"Condition": {
"StringStartWith": {
"g:ProjectName": [
"ap-southeast-1"
]
}
},
"Resource": [
"obs:*:*:bucket:*"
]
}
]
}
}
} 响应示例
状态码为 201 时:
创建成功。
{
"role": {
"catalog": "CUSTOMED",
"display_name": "IAMCloudServicePolicy",
"description": "IAMDescription",
"links": {
"self": "https://iam.myhuaweicloud.com/v3/roles/93879fd90f1046f69e6e0b31c94d2615"
},
"policy": {
"Version": "1.1",
"Statement": [
{
"Action": [
"obs:bucket:GetBucketAcl"
],
"Resource": [
"obs:*:*:bucket:*"
],
"Effect": "Allow",
"Condition": {
"StringStartWith": {
"g:ProjectName": [
"ap-southeast-1"
]
}
}
}
]
},
"description_cn": "中文描述",
"domain_id": "d78cbac186b744899480f25bd...",
"type": "AX",
"id": "93879fd90f1046f69e6e0b31c9...",
"name": "custom_d78cbac186b744899480f25bd022f468_1"
}
} 返回值
返回值 | 描述 |
|---|---|
201 | 创建成功。 |
400 | 参数无效。 |
401 | 认证失败。 |
403 | 没有操作权限。 |
500 | 内部服务错误。 |
错误码
无

