华为云用户手册

  • 响应示例 状态码: 204 请求成功。 状态码: 400 请求参数出错。 { "error" : { "message" : "Illegal request", "code" : 400, "title" : "Bad Request" } } 状态码: 401 认证失败。 { "error" : { "message" : "Authentication failed", "code" : 401, "title" : "Unauthorized" } } 状态码: 403 没有操作权限。 { "error" : { "message" : "Forbidden operation", "code" : 403, "title" : "Forbidden" } }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 已认证的拥有iam:permissions:revokeRoleFromAgencyOnEnterpriseProject细粒度权限或Security Administrator权限的token。 表2 请求Body参数 参数 是否必选 参数类型 描述 role_assignments 是 Array of objects 委托在企业项目上的绑定关系,最多支持250条。 表3 role_assignments 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID。 enterprise_project_id 是 String 企业项目ID。 role_id 是 String 策略ID。
  • 请求示例 基于委托为企业项目授权。 PUT /v3.0/OS-PERMISSION/subjects/agency/scopes/enterprise-project/role-assignments { "role_assignments": [ { "agency_id": "as0d9f8asdfasdfa09sd8f9aaa", "enterprise_project_id": "3asdfs0d9f8asdfasdfa09sd8f9aaa", "role_id": "5s0d9f8dafsdfasdfa09sd8f9aaa" } ] }
  • 响应示例 状态码: 200 请求成功。 状态码: 400 请求参数出错。 { "error" : { "message" : "Illegal request", "code" : 400, "title" : "Bad Request" } } 状态码: 401 认证失败。 { "error" : { "message" : "Authentication failed", "code" : 401, "title" : "Unauthorized" } } 状态码: 403 没有操作权限。 { "error" : { "message" : "Forbidden operation", "code" : 403, "title" : "Forbidden" } }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 已认证的拥有iam:permissions:grantRoleToAgencyOnEnterpriseProject细粒度权限或Security Administrator权限的token。 表2 请求Body参数 参数 是否必选 参数类型 描述 role_assignments 是 Array of objects 委托在企业项目上的绑定关系,最多支持250条。 表3 role_assignments 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID。 enterprise_project_id 是 String 企业项目ID。 role_id 是 String 策略ID。
  • 响应示例 状态码: 200 请求成功 { "roles" : [ { "catalog" : "CUSTOMED", "description" : "u81eau5b9au4e49u6743u9...", "description_cn" : null, "display_name" : "XpBdkPYCCx", "domain_id" : "0456fd5a278033120f37c006683ab...", "flag" : null, "id" : "5d1b6256331f4fb494534bf240698...", "name" : "custom_policy1", "policy" : { "Statement" : [ { "Action" : [ "aaa:a*b:baa*" ], "Condition" : null, "Effect" : "deny", "Resource" : null }, { "Action" : [ "aaa:a*b:bab*" ], "Condition" : null, "Effect" : "Allow", "Resource" : null } ], "Version" : "1.1" }, "type" : "XA" } ] }
  • 响应参数 状态码为 200 时: 表3 响应Body参数 参数 参数类型 描述 roles Array of objects 角色列表。 表4 roles 参数 参数类型 描述 catalog String 权限所在目录。 display_name String 权限展示名称。 description String 权限的英文描述信息。 description_cn String 权限的中文描述信息。 domain_id String 权限所属账号ID。 flag String 该参数值为fine_grained时,标识此权限为系统内置的策略。 id String 权限ID。 name String 权限名称。 policy object 权限具体内容。 type String 权限的显示模式。 说明: AX表示在domain层显示。 XA表示在project层显示。 AA表示在domain和project层均显示。 XX表示在domain和project层均不显示。 自定义策略的显示模式只能为AX或者XA,不能在domain层和project层都显示(AA),或者在domain层和project层都不显示(XX)。 表5 roles.policy 参数 参数类型 描述 Depends Array of objects 该权限所依赖的权限。 Statement Array of objects 授权语句,描述权限的具体内容。 Version String 权限版本号。 说明: 1.0:系统预置的角色。以服务为粒度,提供有限的服务相关角色用于授权。 1.1:策略。 IAM 最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 表6 roles.policy.Depends 参数 参数类型 描述 catalog String 权限所在目录。 display_name String 权限展示名。 表7 roles.policy.Statement 参数 参数类型 描述 Action Array of strings 授权项,指对资源的具体操作权限。支持的授权项请参考各云服务《API参考》中“权限和授权项”章节。 说明: 格式为:服务名:资源类型:操作,例:vpc:ports:create。 服务名为产品名称,例如ecs、evs和vpc等,服务名仅支持小写。资源类型和操作没有大小写,要求支持通配符号*,无需罗列全部授权项。 当自定义策略为委托自定义策略时,该字段值为: "Action": ["iam:agencies:assume"]。 Effect String 作用。包含两种:允许(Allow)和拒绝(Deny),既有Allow又有Deny的授权语句时,遵循Deny优先的原则。 枚举值: Allow Deny Condition Object 限制条件。了解更多相关参数,请参考:配置自定义策略。 说明: 以请求示例中的Condition为例:条件键(obs:prefix)和字符串(public)需相等(StringEquals)。 "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } Resource Object 资源。规则如下: 说明: 可填 * 的五段式:::::,例:"obs:::bucket:*"。 region字段为*或用户可访问的region。service必须存在且resource属于对应service。 当该自定义策略为委托自定义策略时,该字段类型为Object,值为:"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}。
  • URI DELETE /v3.0/OS-PERMISSION/enterprise-projects/{enterprise_project_id}/groups/{group_id}/roles/{role_id} 表1 路径参数 参数 是否必选 参数类型 描述 enterprise_project_id 是 String 企业项目ID。 group_id 是 String 用户组ID。 role_id 是 String 权限ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 已认证的拥有iam:permissions:revokeRoleFromGroupOnEnterpriseProject细粒度权限或Security Administrator权限的token。同时要求group_id所属账号的domain_id与Token中的domain_id一致。
  • URI PUT /v3.0/OS-PERMISSION/enterprise-projects/{enterprise_project_id}/groups/{group_id}/roles/{role_id} 表1 路径参数 参数 是否必选 参数类型 描述 enterprise_project_id 是 String 企业项目ID。 group_id 是 String 用户组ID。 role_id 是 String 角色ID。 说明: 请确认该角色支持为企业项目授权。查看支持企业项目授权的云服务。
  • URI PUT /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects 表1 路径参数 参数 是否必选 参数类型 描述 domain_id 是 String 用户组所属账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 group_id 是 String 用户组ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 role_id 是 String 权限ID,获取方式请参见:获取权限ID。
  • 响应示例 状态码: 200 请求成功。 { "groups" : [ { "createTime" : 1552093271000, "description" : null, "domainId" : "dc7f62ae236c47b8836014c16d64d...", "id" : "e6bde2403bda43e2813a1a6848963...", "name" : "auth" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 已认证的拥有iam:permissions:listGroupsOnEnterpriseProject细粒度权限或Security Administrator权限的token。同时要求enterprise_project_id所属账号的domain_id与Token中的domain_id一致。
  • 响应参数 状态码为 200 时: 表3 响应Body参数 参数 参数类型 描述 groups Array of objects 用户组信息。 表4 groups 参数 参数类型 描述 createTime Integer 用户组创建时间。 description String 用户组描述。 domainId String 账号ID。 id String 用户组ID。 name String 用户组名称。
  • 请求 Request Header参数说明 参数 是否必选 类型 说明 X-Auth-Token 是 String 已认证的拥有Security Administrator权限的token。 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 请求样例 curl -i -k -H "X-Auth-Token:$token" -H 'Content-Type:application/json;charset=utf8' -X DELETE https://iam.myhuaweicloud.com/v3.0/OS-PAP/enterprise-projects/535fb147-6148-4c71-a679-b79a2cb0e.../groups/10d8104f395d43468094753f28692.../roles/013ad036ee4c4d108327f02cbb479...
  • URI URI格式 DELETE /v3.0/OS-PAP/enterprise-projects/{enterprise_project_id}/groups/{group_id}/roles/{role_id} URI参数说明 属性 是否必选 类型 说明 enterprise_project_id 是 String 企业项目的ID。 group_id 是 String 用户组的ID。 role_id 是 String 关联的role的ID。
  • URI URI格式 PUT /v3.0/OS-PAP/enterprise-projects/{enterprise_project_id}/groups/{group_id}/roles/{role_id} URI参数说明 属性 是否必选 类型 说明 enterprise_project_id 是 String 企业项目的ID。 group_id 是 String 待授权用户组的ID。 role_id 是 String 权限的ID。只能给用户组授予细粒度权限策略(包括系统策略和自定义策略),细粒度策略即策略版本号为1.1的策略。
  • 请求 Request Header参数说明 参数 是否必选 类型 说明 X-Auth-Token 是 String 已认证的拥有Security Administrator权限的token。 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 请求样例 curl -i -k -H "X-Auth-Token:$token" -H 'Content-Type:application/json;charset=utf8' -X PUT https://iam.myhuaweicloud.com/v3.0/OS-PAP/enterprise-projects/535fb147-6148-4c71-a679-b79a2cb0e.../groups/10d8104f395d43468094753f28692.../roles/013ad036ee4c4d108327f02cbb479...
  • 响应 Reponse Body参数说明 参数 是否必选 类型 说明 roles 是 JSONArray 权限的详细信息或者列表。 role格式说明 参数 是否必选 类型 说明 display_name 是 String 权限在界面中的名称。 description 是 String 权限的英文描述。 description_cn 是 String 权限的中文描述。 domain_id 是 String 用户组绑定的是自定义策略,该参数为创建该自定义策略用户的租户ID。 用户组绑定的是系统策略,该参数为空:null。 flag 否 String fine_grained,标识系统内置的细粒度权限Role catalog 是 String 权限所属目录。 用户组绑定的是自定义策略时,权限所属目录为“CUSTOMED”。 用户组绑定的是系统预置策略时,权限所属目录为云服务名称,例如:E CS 。 policy 是 Dict 权限的详情。请参见:•policy格式说明。 id 是 String 权限的ID。 type 是 String 权限的显示位置,其中: AX表示在全局项目中显示 XA表示在除全局项目外的其他项目中显示 说明: 权限的显示位置只能为AX或者XA,不能在全局项目和其他项目中都显示(AA),或者在全局项目和其他项目中都不显示(XX)。 name 是 String 权限在系统内部的名称。 policy格式说明 参数 是否必选 类型 说明 Version 是 String 策略的版本号。 Statement 是 JSONArray 策略授权语句,限制8个。包括了基本元素:作用(Effect)和权限集(Action)。 Statement格式说明 参数 是否必选 类型 说明 Effect 是 String 允许(Allow)和拒绝(Deny),当策略中既有Allow又有Deny的授权语句时,遵循Deny优先的原则。 Action 是 StringArray 权限集,对资源的具体操作权限,不能超过100个。 格式为: 服务名:资源类型:操作,例如:vpc:ports:create。 “服务名”为产品名称,例如ecs、evs和vpc等,服务名仅支持小写。 “资源类型”和“操作”没有大小写要求,支持通配符号*,用户不需要罗列全部授权项,通过配置通配符号*可以方便快捷地实现授权。 响应样例(响应成功) { "roles": [ { "display_name": "Customed ECS Viewer", "description": "The read-only permissions to all ECS resources, which can be used for statistics and survey.", "domain_id": "9698542758bc422088c0c3eabf...", "catalog": "CUSTOMED", "policy": { "Version": "1.1", "Statement": [ { "Action": [ "ecs:*:get*", "ecs:*:list*", "ecs:blockDevice:use", "ecs:serverGroups:manage", "ecs:serverVolumes:use", "evs:*:get*", "evs:*:list*", "vpc:*:get*", "vpc:*:list*", "ims:*:get*", "ims:*:list*" ], "Effect": "Allow" } ] }, "id": "24e7a89bffe443979760c4e9715c1...", "type": "XA", "name": "custom_9698542758bc422088c0c3eabfc30d1..." } ] }
  • 请求 Request Header参数说明 参数 是否必选 类型 说明 X-Auth-Token 是 String 已认证的拥有Security Administrator权限的token。 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 请求样例 curl -i -k -H "X-Auth-Token:$token" -H 'Content-Type:application/json;charset=utf8' -X GET https://iam.myhuaweicloud.com/v3.0/OS-PAP/enterprise-projects/535fb147-6148-4c71-a679-b79a2cb0e.../groups/10d8104f395d43468094753f28692.../roles
  • 请求 Request Header参数说明 参数 是否必选 类型 说明 X-Auth-Token 是 String 已认证的拥有Security Administrator权限的token。 Content-Type 是 String 该字段内容填为“application/json;charset=utf8” 请求样例 curl -i -k -H "X-Auth-Token:$token" -H 'Content-Type:application/json;charset=utf8' -X GET https://iam.myhuaweicloud.com/v3.0/OS-PAP/enterprise-projects/535fb147-6148-4c71-a679-b79a2cb0ee5d/groups
  • 响应 Reponse Body参数说明 参数 是否必选 类型 说明 groups 是 Array 企业项目关联的用户组详情。 groups格式说明 参数 是否必选 类型 说明 group_id 是 String 关联用户组的ID。 group_name 是 String 关联用户组的名称。 group_desc 是 String 关联用户组的描述。 user_num 是 Int 关联用户组中的用户数。 policy_num 是 Int 关联用户组的策略数。 created_at 是 Int 关联用户组创建的时间(Unix时间:毫秒)。 响应样例:查询的企业项目关联了用户组。 { "groups": [ { "group_id": "758b99fa1fa24ec4a297d44e092bd...", "group_name": "Test", "group_desc": "Test", "user_num": 4, "policy_num": 1, "created_at": 1549088526... } ] }
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取IAM用户Token(使用密码)接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 AK/SK签名认证方式可以避免因缓存的Token失效导致的API调用失败的问题。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见:API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用同一个Token鉴权时,可以缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取IAM用户Token(使用密码)接口获取,调用本服务API需要全局级别的Token,即调用获取IAM用户Token(使用密码)接口时,请求body中auth.scope的取值需要选择domain,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "IAMDomain" }, "name": "IAMUser", "password": "IAMPassword" } } }, "scope": { "domain": { "name": "IAMDomain" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为获取到的Token。例如Token值为“ABCDEFG....”,则调用接口时将“X-Auth-Token: ABCDEFG....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFG....
  • 响应示例 状态码为 200 时: 请求成功。 { "quotas" : { "resources" : [ { "max" : 1000, "min" : 50, "quota" : 50, "type" : "user", "used" : 10 }, { "max" : 300, "min" : 10, "quota" : 20, "type" : "group", "used" : 8 }, { "max" : 20, "min" : 10, "quota" : 10, "type" : "idp", "used" : 9 }, { "max" : 300, "min" : 10, "quota" : 50, "type" : "agency", "used" : 12 }, { "max" : 300, "min" : 128, "quota" : 200, "type" : "policy", "used" : 8 }, { "max" : 500, "min" : 50, "quota" : 200, "type" : "assigment_group_mp", "used" : 8 }, { "max" : 500, "min" : 50, "quota" : 200, "type" : "assigment_agency_mp", "used" : 8 }, { "max" : 5000, "min" : 50, "quota" : 500, "type" : "assigment_group_ep", "used" : 8 }, { "max" : 5000, "min" : 50, "quota" : 500, "type" : "assigment_user_ep", "used" : 8 }, { "max" : 100, "min" : 10, "quota" : 10, "type" : "mapping", "used" : null } ] } }
  • URI GET /v3.0/OS-QUOTA/domains/{domain_id} 表1 路径参数 参数 是否必选 参数类型 描述 domain_id 是 String 待查询的账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID 表2 Query参数 参数 是否必选 参数类型 描述 type 否 String 查询配额的类型,如果不填写此参数,则返回所有类型配额。取值范围如下: user:IAM用户配额 group:用户组配额 idp:身份提供商配额 agency:委托配额 policy:自定义策略配额 assigment_group_mp:一个用户组基于IAM项目可绑定的权限配额 assigment_agency_mp:一个委托可绑定的权限配额 assigment_group_ep:一个用户组基于企业项目可绑定的权限配额 assigment_user_ep:一个用户基于企业项目可绑定的权限配额 mapping:账号中所有身份提供商映射规则配额
  • 响应参数 状态码为 200 时: 表4 响应Body参数 参数 参数类型 描述 quotas Object 账号配额信息。 表5 quotas 参数 参数类型 描述 resources Array of objects 资源信息。 表6 resources 参数 参数类型 描述 max Integer 配额最大值。 min Integer 配额最小值。 quota Integer 当前配额。 type String 配额类型。 used Integer 已使用的配额。 其中身份提供商映射规则mapping已使用数量为用户自行设置,暂不返回。
  • 响应示例 状态码为 200 时: 请求成功。 示例1:option为password_regex。 示例2:option为password_regex_description。 示例 1 { "config": { "password_regex": "^(?![A-Z]*$)(?![a-z]*$)(?![\\d]*$)(?![^\\W]*$)\\S{6,32}$" } } 示例 2 { "config": { "password_regex_description": "The password must contain at least two of the following character types: uppercase letters, lowercase letters, digits, and special characters, and be a length between 6 and 32." } }
  • URI GET /v3/domains/{domain_id}/config/security_compliance/{option} 表1 路径参数 参数 是否必选 参数类型 描述 domain_id 是 String 待查询的账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 option 是 String 查询条件。该字段内容为:password_regex或password_regex_description。 password_regex:密码强度策略的正则表达式;password_regex_description:密码强度策略的描述。 取值范围: password_regex password_regex_description
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全