华为云用户手册

  • URI DELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id} 表1 路径参数 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID,获取方式请参见:获取账号、 IAM 用户、项目、用户组、区域、委托的名称和ID。 project_id 是 String 委托方的项目ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 role_id 是 String 项目服务权限ID,获取方式请参见:获取权限ID。
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 group Object 用户组信息。 表4 group 参数 参数类型 描述 description String 用户组描述信息。 id String 用户组ID。 domain_id String 用户组所属账号ID。 name String 用户组名。 links Object 用户组的资源链接信息。 create_time Long 用户组创建时间。 表5 group.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 200 时: 请求成功。 { "group": { "domain_id": "d78cbac186b744899480f25bd02...", "create_time": 1578107542861, "name": "IAMGroup", "description": "", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/groups/07609e7eb200250a3f7dc003cb7a..." }, "id": "07609e7eb200250a3f7dc003cb7..." } }
  • 响应示例 状态码为 200 时: 请求成功。 { "virtual_mfa_devices" : [ { "user_id" : "16b26081f43d4c628c4bb88cf32e9...", "serial_number" : "iam:16b26081f43d4c628c4bb88cf32e9..." }, { "user_id" : "47026081f43d4c628c4bb88cf32e9...", "serial_number" : "iam:75226081f43d4c628c4bb88cf32e9..." } ] }
  • 响应示例 状态码为 200 时: 请求成功。 { "role": { "domain_id": null, "description_cn": " 漏洞扫描服务 (VSS)管理员,拥有该服务下的所有权限", "catalog": "VulnScan", "name": "wscn_adm", "description": "Vulnerability Scan Service administrator of tasks and reports.", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/roles/0af84c1502f447fa9c2fa18083fbb87e" }, "id": "0af84c1502f447fa9c2fa18083fbb87e", "display_name": "VSS Administrator", "type": "XA", "policy": { "Version": "1.0", "Statement": [ { "Action": [ "WebScan:*:*" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "display_name": "Server Administrator" }, { "catalog": "BASE", "display_name": "Tenant Guest" } ] } } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 role Object 权限信息。 表4 role 参数 参数类型 描述 domain_id String 权限所属账号ID。 flag String 该参数值为fine_grained时,标识此权限为系统内置的策略。 description_cn String 权限的中文描述信息,仅在创建时传入了description_cn参数,响应体中才会返回此字段。 catalog String 权限所在目录。 name String 系统内部呈现的权限名称。如云目录服务C CS 普通用户权限CCS User的name为ccs_user。 携带在用户的token中,云服务根据该名称来判断用户是否有权限访问。 description String 权限描述信息。 links Object 权限的资源链接信息。 id String 权限ID。 display_name String 权限名称。 type String 权限的显示模式。 说明: AX表示在domain层显示。 XA表示在project层显示。 AA表示在domain和project层均显示。 XX表示在domain和project层均不显示。 自定义策略的显示模式只能为AX或者XA,不能在domain层和project层都显示(AA),或者在domain层和project层都不显示(XX)。 policy Object 权限的具体内容。 updated_time String 权限更新时间。 说明: UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。 created_time String 权限创建时间。 说明: UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。 表5 role.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表6 role.policy 参数 参数类型 描述 Depends Array of objects 该权限所依赖的权限。 Statement Array of objects 授权语句,描述权限的具体内容。 Version String 权限版本号。 说明: 1.0:系统预置的角色。以服务为粒度,提供有限的服务相关角色用于授权。 1.1:策略。IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 表7 role.policy.Depends 参数 参数类型 描述 catalog String 权限所在目录。 display_name String 权限展示名。 表8 role.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 Array of strings 资源。如果创建此策略时未传入此字段,则返回结果中也无此字段。规则如下: 说明: 可填 * 的五段式:::::,例:"obs:::bucket:*"。 region字段为*或用户可访问的region。service必须存在且resource属于对应service。 当该自定义策略为委托自定义策略时,该字段类型为Object,值为:"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}。
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 links Object 资源链接信息。 projects Array of objects 项目信息列表。 表4 links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表5 projects 参数 参数类型 描述 is_domain Boolean false. description String 项目描述信息。 links Object 项目的资源链接。 enabled Boolean 项目是否可用。 id String 项目ID。 parent_id String 如果查询自己创建的项目,则此处返回所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-1,则此处返回账号ID。 domain_id String 项目所属账号ID。 name String 项目名称。如cn-north-1、MOS等,其中MOS为OBS内置项目。 表6 projects.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 200 时: 请求成功。 { "projects": [ { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd022...", "name": "cn-north-1", "description": "", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/projects/06f1c15e6f0010672f86c003006c5f17" }, "id": "06f1c15e6f0010672f86c00300...", "enabled": true }, { "domain_id": "d78cbac186b744899480f25bd...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd0...", "name": "cn-north-1", "description": "", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/projects/065a7c66da0010992ff7c0031e5a..." }, "id": "065a7c66da0010992ff7c0031e5a...", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/projects" } }
  • URI GET /v3/projects 表1 Query参数 参数 是否必选 参数类型 描述 domain_id 否 String 项目所属账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 enabled 否 Boolean 项目是否启用。 is_domain 否 Boolean 该字段无需填写。 name 否 String 项目名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 page 否 Integer 分页查询时数据的页数,查询值最小为1。需要与per_page同时存在。 parent_id 否 String 如果查询自己创建的项目,则此处应填为所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-1,则此处应填为账号ID。 获取项目ID和账号ID,请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 per_page 否 Integer 分页查询时每页的数据个数,取值范围为[1,5000]。需要与page同时存在。
  • 响应示例 状态码为 200 时: 请求成功。 { "console_acl_policy" : { "allow_ip_ranges" : [ { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" }, { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" } ], "allow_address_netmasks" : [ { "address_netmask" : "192.168.0.1/24", "description" : "" }, { "address_netmask" : "192.168.0.1/24", "description" : "" } ] } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 console_acl_policy object 控制台访问控制策略。 表4 console_acl_policy 参数 参数类型 描述 allow_address_netmasks Array of objects 允许访问的IP地址或网段,仅在设置了允许访问的IP地址或网段才会返回此字段。 allow_ip_ranges Array of objects 允许访问的IP地址区间,仅在设置了允许访问的IP地址区间才会返回此字段。 表5 allow_address_netmasks 参数 参数类型 描述 address_netmask String IP地址或网段,例如:192.168.0.1/24。 description String 描述信息。 表6 allow_ip_ranges 参数 参数类型 描述 description String 描述信息。 ip_range String IP地址区间,例如0.0.0.0-255.255.255.255。
  • 响应示例 状态码为 200 时: 请求成功。 { "groups": [ { "domain_id": "d78cbac186b744899480f25bd0...", "create_time": 1578107542861, "name": "IAMGroup", "description": "", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/groups/07609e7eb200250a3f7dc003cb..." }, "id": "07609e7eb200250a3f7dc003cb7..." } ], "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/users/076837351e80251c1f0fc003afe43.../groups" } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 groups Array of objects 用户组信息列表。 links Object 资源链接信息。 表4 groups 参数 参数类型 描述 description String 用户组描述信息。 id String 用户组ID。 domain_id String 用户组所属账号ID。 name String 用户组名称。 links Object 用户组的资源链接信息。 create_time Long 用户组创建时间。 表5 groups.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表6 links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 200 时: 请求成功。 { "api_acl_policy" : { "allow_ip_ranges" : [ { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" }, { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" } ], "allow_address_netmasks" : [ { "address_netmask" : "192.168.0.1/24", "description" : "" }, { "address_netmask" : "192.168.0.1/24", "description" : "" } ] } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 api_acl_policy object 接口访问控制策略。 表4 api_acl_policy 参数 参数类型 描述 allow_address_netmasks Array of objects 允许访问的IP地址或网段,仅在设置了允许访问的IP地址或网段才会返回此字段。 allow_ip_ranges Array of objects 允许访问的IP地址区间,仅在设置了允许访问的IP地址区间才会返回此字段。 表5 allow_address_netmasks 参数 参数类型 描述 address_netmask String IP地址或网段,例如:192.168.0.1/24。 description String 描述信息。 表6 allow_ip_ranges 参数 参数类型 描述 ip_range String IP地址区间,例如0.0.0.0-255.255.255.255。 description String 描述信息。
  • 响应示例 状态码为 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": [ "cn-north-1" ] } } } ] }, "description_cn": "中文描述", "domain_id": "d78cbac186b744899480f25bd...", "type": "AX", "id": "93879fd90f1046f69e6e0b31c9...", "name": "custom_d78cbac186b744899480f25bd022f468_1" } }
  • 请求示例 创建一个名为“IAMCloudServicePolicy”的自定义策略。策略表示仅允许以项目名称为“cn-north-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": [ "cn-north-1" ] } }, "Resource": [ "obs:*:*:bucket:*" ] } ] } } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 project Object 项目信息。 表4 project 参数 参数类型 描述 is_domain Boolean false. description String 项目描述信息。 links Object 项目的资源链接。 enabled Boolean 项目是否可用。 id String 项目ID。 parent_id String 如果查询自己创建的项目,则此处返回所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-1,则此处返回账号ID。 domain_id String 项目所属账号ID。 name String 项目名称。 表5 project.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 200 时: 请求成功。 { "project": { "is_domain": false, "description": "", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/2e93d63d8d2249f5a4ac5e2c78586a6e" }, "enabled": true, "id": "2e93d63d8d2249f5a4ac5e2c78586a6e", "parent_id": "44c0781c83484eb9a4a5d4d233522cea", "domain_id": "44c0781c83484eb9a4a5d4d23...", "name": "MOS" } }
  • 响应示例 状态码为 201 时: 请求成功。 { "identity_provider": { "remote_ids": [], "enabled": true, "id": "ACME", "sso_type": "iam_user_sso", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME", "protocols": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols" }, "description": "Stores ACME identities." } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 identity_provider 是 Object 身份提供商信息。 表4 identity_provider 参数 是否必选 参数类型 描述 sso_type 否 String 身份提供商类型。当前支持如下两种: virtual_user_sso:联邦登录跳转后映射为虚拟用户。 iam_user_sso:联邦登录跳转后映射为实际存在的IAM用户。如果选择该类型,请确保您已在华为云创建IAM用户。 默认配置为virtual_user_sso类型,同一个账号下两种类型不能同时存在,且iam_user_sso最多只能创建一个。 description 否 String 身份提供商描述信息。 enabled 否 Boolean 身份提供商是否启用,true为启用,false为停用,默认为false。
  • 请求示例 创建身份提供商并且启用。 PUT https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/{id} { "identity_provider": { "sso_type": "iam_user_sso", "description": "Stores ACME identities.", "enabled": true } }
  • 概述 欢迎使用 统一身份认证 (Identity and Access Management,简称IAM)。IAM是提供用户身份认证、权限分配、访问控制等功能的身份管理服务,可以帮助您安全地控制对华为云资源的访问。您可以使用IAM创建以及管理用户,并使用权限来允许或拒绝他们对华为云资源的访问。 IAM除了支持界面控制台操作外,还提供API供您调用,您可以使用本文档提供的API对IAM进行相关操作,如创建用户、创建用户组、 获取Token 等。在调用IAM的API之前,请确保已经充分了解IAM的相关概念,详细信息请参见:IAM产品介绍。 父主题: 使用前必读
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 links Object 服务的资源链接信息。 services Array of objects 服务信息列表。 表4 links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表5 services 参数 参数类型 描述 name String 服务名。 description String 服务描述信息,未注册服务描述信息时,不返回此字段。 links Object 服务的资源链接。 id String 服务ID。 type String 服务类型。 enabled Boolean 服务是否可用。 表6 services.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 200 时: 请求成功。 { "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/services" }, "services": [ { "name": "keystone", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/services/1842ae22353d45a39a1eb89c22f0fe50" }, "id": "1842ae22353d45a39a1eb89c22f0fe50", "type": "identity", "enabled": true }, { "name": "iam", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/services/6cf6e23e00dd49beb13313b024aec598" }, "id": "6cf6e23e00dd49beb13313b024aec598", "type": "identity", "enabled": true } ] }
  • 请求示例 修改名为“IAMCloudServicePolicy”的自定义策略。策略修改为仅允许以项目名称为“cn-north-1”开头的请求获取所有桶ACL的相关信息。 PATCH https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles/{role_id} { "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": [ "cn-north-1" ] } }, "Resource": [ "obs:*:*:bucket:*" ] } ] } } }
  • 响应示例 状态码为 200 时: 请求成功。 { "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": [ "cn-north-1" ] } } } ] }, "description_cn": "中文描述", "domain_id": "d78cbac186b744899480f25bd0...", "type": "AX", "id": "93879fd90f1046f69e6e0b31c94d2615", "name": "custom_d78cbac186b744899480f25bd022f468_1" } }
  • 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 时: 请求成功。 { "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 } ] } }
共100000条