华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 拥有Security Administrator权限的token。 表3 请求Body参数 参数 是否必选 参数类型 描述 user 是 Object IAM 用户信息。 表4 user 参数 是否必选 参数类型 描述 name 否 String 新IAM用户名,长度1~32之间,只能包含如下字符:大小写字母、空格、数字或特殊字符(-_.)且不能以数字或空格开头。 password 否 String IAM用户新密码。 系统默认密码最小长度为8位字符,在8-32位之间支持用户自定义密码长度。 至少包含以下四种字符中的两种: 大写字母、小写字母、数字和特殊字符。 必须满足账户设置中密码策略的要求。 新密码不能与当前密码相同。 email 否 String IAM用户新邮箱,需符合邮箱格式,长度小于等于255字符。 areacode 否 String 国家码。必须与手机号同时存在。中国大陆为“0086”。 phone 否 String IAM用户新手机号,纯数字,长度小于等于32位。必须与国家码同时存在。 enabled 否 Boolean 是否启用IAM用户。true为启用,false为停用,默认为true。 pwd_status 否 Boolean IAM用户密码状态。true:需要修改密码,false:正常。如果密码未设置,此字段可能不返回。 xuser_type 否 String IAM用户在外部系统中的类型。长度小于等于64位。xuser_type如果存在,则需要与同一租户中的xaccount_type、xdomain_type校验,须与xuser_id同时存在。 说明: 外部系统指与华为云对接的外部企业管理系统,xaccount_type、xaccount_id、xdomain_type、xdomain_id、xuser_type、xuser_id等参数值,无法在华为云获取,请咨询企业管理员。 xuser_id 否 String IAM用户在外部系统中的ID。长度小于等于128位,必须与xuser_type同时存在。使用API设置外部身份ID后,由于时延IAM控制台暂无法实时显示,请稍后刷新查看。 说明: 外部系统指与华为云对接的外部企业管理系统,xaccount_type、xaccount_id、xdomain_type、xdomain_id、xuser_type、xuser_id等参数值,无法在华为云获取,请咨询企业管理员。 access_mode 否 String IAM用户访问方式。 default:默认访问模式,编程访问和管理控制台访问。 programmatic:编程访问。 console:管理控制台访问。 description 否 String IAM用户新描述信息。
  • 响应示例 状态码为 200 时: 请求成功。 { "user" : { "pwd_strength" : "Strong", "create_time" : "2020-07-08 02:19:03.0", "pwd_create_time": "2022-10-13 07:35:12.0", "modify_pwd_time": "2022-10-13 07:35:12.0", "last_login_time" : null, "areacode" : "", "enabled" : true, "domain_id" : "086ba757f90089cf0fe5c000dbe7f...", "xuser_id" : "", "pwd_status" : false, "update_time" : null, "phone" : "-", "is_domain_owner" : false, "access_mode" : "default", "name" : "autotest1", "links" : { "next" : null, "previous" : null, "self" : "https://iam.myhuaweicloud.com/v3.0/OS-USER/users/093f75808b8089ba1f6dc000c7cac..." }, "id" : "093f75808b8089ba1f6dc000c7cac...", "xuser_type" : "", "email" : "", "description" : "aaa" } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 user Object IAM用户信息。 表4 user 参数 参数类型 描述 enabled Boolean IAM用户是否启用。true表示启用,false表示停用,默认为true。 id String IAM用户ID。 domain_id String IAM用户所属账号ID。 name String IAM用户名。 links Object IAM用户的资源链接信息。 xuser_id String IAM用户在外部系统中的ID。 xuser_type String IAM用户在外部系统中的类型。 areacode String IAM用户手机号的国家码。 email String IAM用户邮箱。 phone String IAM用户手机号。 pwd_status Boolean IAM用户密码状态。true:需要修改密码,false:正常。如果密码未设置,此字段可能不返回。 pwd_create_time String IAM用户密码创建更新时间。 说明: UTC时间,格式为YYYY-MM-DD HH:mm:ss。 modify_pwd_time String IAM用户更新时间。 说明: UTC时间,格式为YYYY-MM-DD HH:mm:ss。 update_time String IAM用户更新时间。 说明: UTC时间,格式为YYYY-MM-DD HH:mm:ss。 create_time String IAM用户创建时间。 说明: UTC时间,格式为YYYY-MM-DD HH:mm:ss。 last_login_time String IAM用户最后登录时间或认证访问时间。 说明: UTC时间,格式为YYYY-MM-DD HH:mm:ss。 pwd_strength String IAM用户密码强度。结果为Low/Medium/Strong/None,分别表示密码强度低/中/高/无。 is_domain_owner Boolean IAM用户是否为账号。 access_mode String IAM用户访问方式。 default:默认访问模式,编程访问和管理控制台访问。 programmatic:编程访问。 console:管理控制台访问。 description String IAM用户描述信息。 表5 user.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 201 时: 创建成功。 示例1:由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A整个账号的token。 示例2:由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A的项目“cn-north-1”,且返回的响应体中将不显示catalog信息的token。 示例 1 响应Header参数: X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数: { "token": { "expires_at": "2020-01-05T05:05:17.429000Z", "methods": [ "assume_role" ], "catalog": [ { "endpoints": [ { "id": "33e1cbdd86d34e89a63cf8ad16a5f49f", "interface": "public", "region": "*", "region_id": "*", "url": "https://iam.myhuaweicloud.com/v3.0" } ], "id": "100a6a3477f1495286579b819d399e36", "name": "iam", "type": "iam" } ], "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "roles": [ { "id": "0", "name": "op_gated_eip_ipv6" }, { "id": "0", "name": "op_gated_rds_mcs" } ], "issued_at": "2020-01-04T05:05:17.429000Z", "user": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "id": "0760a9e2a60026664f1fc0031f9f205e", "name": "IAMDomainA/IAMAgency" }, "assumed_by": { "user": { "domain": { "id": "a2cd82a33fb043dc9304bf72a0f38f00", "name": "IAMDomainB" }, "id": "0760a0bdee8026601f44c006524b17a9", "name": "IAMUserB", "password_expires_at": "" } } } } 示例 2 响应Header参数: X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数: { "token": { "expires_at": "2020-01-05T06:49:28.094000Z", "methods": [ "assume_role" ], "catalog": [], "roles": [ { "id": "0", "name": "op_gated_eip_ipv6" }, { "id": "0", "name": "op_gated_rds_mcs" } ], "project": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "id": "aa2d97d7e62c4b7da3ffdfc11551f878", "name": "cn-north-1" }, "issued_at": "2020-01-04T06:49:28.094000Z", "user": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "id": "0760a9e2a60026664f1fc0031f9f205e", "name": "IAMDomainA/IAMAgency" }, "assumed_by": { "user": { "domain": { "id": "a2cd82a33fb043dc9304bf72a0f38f00", "name": "IAMDomainB" }, "id": "0760a0bdee8026601f44c006524b17a9", "name": "IAMUserB", "password_expires_at": "" } } } } 状态码为 400 时: 参数无效。 { "error": { "code": 400, "message": "The request body is invalid", "title": "Bad Request" } } 状态码为 401 时: 认证失败。 { "error": { "code": 401, "message": "The X-Auth-Token is invalid!", "title": "Unauthorized" } } 状态码为 403 时: 没有操作权限。 可能原因:被委托方B中用户B的用户token(即X-Auth-Token填写的token)缺少Agent Operator权限,请添加权限。 { "error": { "code": 403, "message": "You have no right to do this action", "title": "Forbidden" } }
  • 响应参数 表10 响应Header参数 参数 参数类型 描述 X-Subject-Token String 签名后的token。 表11 响应Body参数 参数 参数类型 描述 token Object token信息列表。 表12 token 参数 参数类型 描述 methods Array of strings 获取token的方式。 expires_at String token到期时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 issued_at String token下发时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 assumed_by Object 被委托方B的相关信息。 catalog Array of objects 服务目录信息。 domain Object 委托方A的账号信息。如果获取token时请求体中scope参数设置为domain,则返回该字段。 project Object 委托方A的项目信息。如果获取token时请求体中scope参数设置为project,则返回该字段。 roles Array of objects 委托token的权限信息。 user Object 委托方A所创建的委托的信息。 表13 token.assumed_by 参数 参数类型 描述 user Object 被委托方B中IAM用户的用户信息。 表14 token.assumed_by.user 参数 参数类型 描述 name String 被委托方B中IAM用户的用户名。 id String 被委托方B中IAM用户的用户ID。 domain Object 被委托方B的账号信息。 password_expires_at String 被委托方B中IAM用户的密码过期时间,“”表示密码不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 表15 token.assumed_by.user.domain 参数 参数类型 描述 name String 被委托方B的账号名称。 id String 被委托方B的账号ID。 表16 token.catalog 参数 参数类型 描述 endpoints Array of objects 终端节点。 id String 服务ID。 name String 服务名称。 type String 该接口所属服务。 表17 token.catalog.endpoints 参数 参数类型 描述 id String 终端节点ID。 interface String 接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 region String 终端节点所属区域。 region_id String 终端节点所属区域ID。 url String 终端节点的URL。 表18 token.domain 参数 参数类型 描述 name String 委托方A的账号名称。 id String 委托方A的账号ID。 表19 token.project 参数 参数类型 描述 name String 委托方A的项目名称。 id String 委托方A的项目ID。 domain Object 委托方A的账号信息。 表20 token.project.domain 参数 参数类型 描述 name String 委托方A的账号名称。 id String 委托方A的账号ID。 表21 token.roles 参数 参数类型 描述 name String 权限名称。 id String 权限ID。默认显示为0,非真实权限ID。 表22 token.user 参数 参数类型 描述 name String 委托方A账号名/委托名。 id String 委托ID。 domain Object 委托方A的账号信息。 表23 token.user.domain 参数 参数类型 描述 id String 委托方A的账号ID。 name String 委托方A的账号名称。
  • 请求示例 由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A的项目“cn-north-1”,且返回的响应体中将不显示catalog信息的token。 POST https://iam.myhuaweicloud.com/v3/auth/tokens?nocatalog=true { "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "IAMDomainA", //委托方IAM用户A所属账号名称 "agency_name": "IAMAgency" //委托方IAM用户A创建的委托名称 } }, "scope": { "project": { "name": "cn-north-1" //项目名称 } } } } 由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A整个账号的token。 POST https://iam.myhuaweicloud.com/v3/auth/tokens { "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "IAMDomainA", //委托方IAM用户A所属账号名称 "agency_name": "IAMAgency" //委托方IAM用户A创建的委托名称 } }, "scope": { "domain": { "name": "IAMDomainA" //委托方IAM用户A所属账号名称 } } } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 被委托方B账号中的IAM用户token,且该token具有Agent Operator权限。 表3 请求Body参数 参数 是否必选 参数类型 描述 auth 是 Object 认证信息。 表4 auth 参数 是否必选 参数类型 描述 identity 是 Object 认证参数。 scope 是 Object token的使用范围,需要填写委托方A的project或domain,填写其中任一即可。 说明: 如果您将scope设置为domain,该Token适用于全局级服务;如果将scope设置为project,该Token适用于项目级服务。 如果您将scope同时设置为project和domain,将以project参数为准,获取到项目级服务的Token。 如果您将scope置空,将获取到全局级服务的Token。建议您按需要填写Token使用范围。 表5 auth.identity 参数 是否必选 参数类型 描述 methods 是 Array of strings token的获取方式,该字段内容为["assume_role"]。 取值范围: assume_role assume_role 是 Object assume_role的具体信息。 表6 auth.identity.assume_role 参数 是否必选 参数类型 描述 domain_id 否 String 委托方A的账号ID。“domain_id”与“domain_name”至少填写一个,建议选择“domain_id”。 委托方A可以参考获取账号、IAM用户、项目、用户组、区域、委托的名称和ID获取账号ID。 domain_name 否 String 委托方A的账号名称。“domain_id”与“domain_name”至少填写一个,建议选择“domain_id”。 您可以在IAM控制台委托列表中查看委托方A的账号名称。 agency_name 是 String 委托方A创建的委托名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 表7 auth.scope 参数 是否必选 参数类型 描述 domain 否 Object 取值为domain时,表示获取的Token可以作用于全局服务,全局服务不区分项目或区域,如OBS服务。如需了解服务作用范围,请参考系统权限。domain支持id和name,二选一即可,建议选择“domain_id”。 project 否 Object 取值为project时,表示获取的Token可以作用于项目级服务,仅能访问指定project下的资源,如E CS 服务。如需了解服务作用范围,请参考系统权限。project支持id和name,二选一即可。 表8 auth.scope.domain 参数 是否必选 参数类型 描述 id 否 String 委托方A的账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。 name 否 String 委托方A的账号名,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。 表9 auth.scope.project 参数 是否必选 参数类型 描述 id 否 String 委托方A项目的ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。 name 否 String 委托方A项目的名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。
  • 功能介绍 该接口可以用于获取委托方的token。 例如:A账号希望B账号管理自己的某些资源,所以A账号创建了委托给B账号,则A账号为委托方,B账号为被委托方。那么B账号可以通过该接口获取委托token。B账号仅能使用该token管理A账号的委托资源,不能管理自己账号中的资源。如果B账号需要管理自己账号中的资源,则需要获取自己的用户token。详情请参考:委托其他账号管理资源。 token是系统颁发给用户的访问令牌,承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时,可以使用本接口获取的token进行鉴权。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。 token的有效期为24小时,建议进行缓存,避免频繁调用。 使用Token前请确保Token离过期有足够的时间,防止调用API的过程中Token过期导致调用API失败。
  • 请求示例 IAM用户查询自己的所有永久访问密钥。 GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials 管理员查询IAM用户的所有永久访问密钥。(待查询的用户ID为:07609fb9358010e21f7bc003751c...) GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials?user_id=07609fb9358010e21f7bc0037....
  • 响应示例 状态码为 200 时: 请求成功。 { "credentials": [ { "access": "LOSZM4YRVLKOY9E8X...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc0037...", "description": "", "status": "active" }, { "access": "P83EVBZJMXCYTMU...", "create_time": "2020-01-08T06:25:19.014028Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "", "status": "active" } ] }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 credentials Array of objects 认证结果信息列表。 表4 credentials 参数 参数类型 描述 user_id String IAM用户ID。 access String 查询的AK。 status String 访问密钥状态。 取值范围: active:启用 inactive:停用 create_time String 访问密钥创建时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 description String 访问密钥描述信息。
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 user Object IAM用户信息。 表5 user 参数 参数类型 描述 enabled Boolean 是否启用IAM用户。true为启用,false为停用,默认为true。 id String IAM用户ID。 domain_id String IAM用户所属账号ID。 name String IAM用户名。 links Object IAM用户的资源链接信息。 pwd_status Boolean IAM用户密码状态。true:需要修改密码,false:正常;如果密码未设置,此字段可能不返回。 password_expires_at String 密码过期时间,“null”表示密码不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssss,日期和时间戳格式如:2023-06-28T08:56:33.710000。 description String IAM用户描述信息。 表6 user.links 参数 参数类型 描述 self String 资源链接地址。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表2 请求Body参数 参数 是否必选 参数类型 描述 user 是 Object 用户信息。 表3 user 参数 是否必选 参数类型 描述 name 是 String IAM用户名,长度1~64之间,只能包含如下字符:大小写字母、空格、数字或特殊字符(-_.)且不能以数字或空格开头。 domain_id 否 String IAM用户所属账号ID。 password 否 String IAM用户密码。 系统默认密码最小长度为8位字符,在8-32位之间支持用户自定义密码长度。 至少包含以下四种字符中的两种: 大写字母、小写字母、数字和特殊字符。 必须满足账户设置中密码策略的要求。 enabled 否 Boolean 是否启用IAM用户。true为启用,false为停用,默认为true。 description 否 String IAM用户描述信息。
  • 响应示例 状态码为 201 时: 创建成功。 { "user": { "description": "IAMDescription", "name": "IAMUser", "enabled": true, "links": { "self": "https://iam.myhuaweicloud.com/v3/users/076598a17b0010e21fdec003f3a2aa45" }, "domain_id": "d78cbac186b744899480f25b...", "id": "076598a17b0010e21fdec003f3a2a...", "password_expires_at": null, "domain_id": "54a636f5a39c4e13809489dbcaa8e6b0", "pwd_status": false } }
  • 请求示例 管理员创建一个名为“IAMUser”的用户。 POST https://iam.myhuaweicloud.com/v3/users { "user": { "name": "IAMUser", "domain_id": "d78cbac186b744899480f25bd02...", "enabled": true, "password": "IAMPassword@", "description": "IAMDescription" } }
  • 响应参数 状态码为 200 时: 表3 响应Body参数 参数 参数类型 描述 openid_connect_config object OpenID Connect配置详情。 表4 OpenIDConnectConfig 参数 参数类型 描述 access_mode String 访问方式。 program_console: 支持编程访问和管理控制台访问方式。 program: 支持编程访问方式 idp_url String OpenID Connect身份提供商标识,对应ID token中iss字段。 client_id String 在OpenID Connect身份提供商注册的客户端ID。 authorization_endpoint String OpenID Connect身份提供商授权地址。 访问方式为program方式时返回null。 scope String 授权请求信息范围。 访问方式为program方式时返回null。 枚举值: openid email profile 说明: 此字段必选值“openid”。 最少1个值,最多10个值,之间使用空格分割。 例如: "openid" 、"openid email"、 "openid profile"、 "openid email profile"。 response_type String 授权请求返回的类型。 访问方式为program方式时返回null。 枚举值: id_token response_mode String 授权请求返回方式。 访问方式为program方式时返回null。 枚举值: fragment form_post signing_key String OpenID Connect身份提供商ID Token签名的公钥。
  • 响应示例 状态码为 200 时: 创建成功。 { "openid_connect_config" : { "access_mode" : "program_console", "idp_url" : "https://accounts.example.com", "client_id" : "client_id_example", "authorization_endpoint" : "https://accounts.example.com/o/oauth2/v2/auth", "scope" : "openid", "response_type" : "id_token", "response_mode" : "form_post", "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" } } 状态码为 400 时: 参数无效。 { "error_msg" : "Request body is invalid.", "error_code" : "IAM.0011" } 状态码为 401 时: 认证失败。 { "error_msg" : "Request parameter %(key)s is invalid.", "error_code" : "IAM.0007" } 状态码为 403 时: 没有操作权限。 { "error_msg" : "Policy doesn't allow %(actions)s to be performed.", "error_code" : "IAM.0003" } 状态码为 404 时: 未找到相应的资源。 { "error_msg" : "Could not find %(target)s: %(target_id)s.", "error_code" : "IAM.0004" } 状态码为 500 时: 系统内部异常。 { "error_msg" : "An unexpected error prevented the server from fulfilling your request.", "error_code" : "IAM.0006" }
  • 响应示例 状态码为 200 时: 请求成功。 { "credential": { "last_use_time": "2020-01-08T06:26:08.123059Z", "access": "LOSZM4YRVLKOY9E8...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "", "status": "active" } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 credential Object 认证结果信息。 表4 credential 参数 参数类型 描述 user_id String IAM用户ID。 access String 查询的AK。 status String 访问密钥状态。 取值范围: active:启用 inactive:停用 create_time String 访问密钥创建时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 last_use_time String 访问密钥的使用时间,如果密钥没有使用过,则返回密钥的创建时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 description String 访问密钥描述信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段填为“application/json;charset=utf8”。 X-Auth-Token 是 String 管理员查询IAM用户的指定永久访问密钥:请参见授权项。 IAM用户查询自己的指定永久访问密钥:URL中access_key所属IAM用户的token(无需特殊权限)。
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 agency object 委托信息。 表5 agency 参数 参数类型 描述 create_time String 委托创建时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssss,日期和时间戳格式如:2023-06-28T08:56:33.710000。 description String 委托描述信息。 domain_id String 委托方账号ID。 duration String 委托的期限,单位为“小时”。 FOREVER/null:表示委托的期限为永久。 24:表示委托的期限为一天,即24小时。 XXX:表示委托的期限为有限时间,如480小时。 expire_time String 委托过期时间。“null”表示不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssss,日期和时间戳格式如:2023-06-28T08:56:33.710000。 id String 委托ID。 name String 委托名。 trust_domain_id String 被委托方账号ID。 trust_domain_name String 被委托方账号名。
  • 请求示例 创建一个名为“IAMAgency”的委托,被委托账号ID是c2cd82a33fb043dc9304bf72a...,账号名是IAMDomainB,委托的有效期限是永久。 POST https://iam.myhuaweicloud.com/v3.0/OS-AGENCY/agencies { "agency": { "name": "IAMAgency", "domain_id": "d78cbac186b744899480f25bd...", "trust_domain_id": "c2cd82a33fb043dc9304bf72a...", "trust_domain_name": "IAMDomainB", "duration": "FOREVER", "description": "IAMDescription" } }
  • 响应示例 状态码为 201 时: 创建成功。 { "agency": { "description": "IAMDescription", "trust_domain_id": "a2cd82a33fb043dc9304bf72a0f...", "id": "078ade0fc20010004f8fc0034fad529d", "duration": "FOREVER", "create_time": "2020-01-20T12:59:20.811642", "expire_time": null, "domain_id": "d78cbac186b744899480f25bd02...", "name": "IAMAgency" } }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表2 请求Body参数 参数 是否必选 参数类型 描述 agency 是 object 委托信息。 表3 agency 参数 是否必选 参数类型 描述 name 是 String 委托名,长度不大于64位。 domain_id 是 String 委托方账号ID。 trust_domain_id 否 String 被委托方账号ID。trust_domain_id和trust_domain_name至少填写一个,若都填写优先校验trust_domain_name。 trust_domain_name 否 String 被委托方账号名。trust_domain_id和trust_domain_name至少填写一个,若都填写优先校验trust_domain_name。 description 否 String 委托描述信息,长度不大于255位。 duration 否 String 委托的期限,单位为“天”。默认为FOREVER。 取值范围: FOREVER:表示委托的期限为永久。 ONEDAY:表示委托的期限为一天。 自定义天数:表示委托的期限为有限天数,如20。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段填为“application/json;charset=utf8”。 X-Auth-Token 是 String 管理员删除IAM用户的指定永久访问密钥:请参见授权项。 IAM用户删除自己的指定永久访问密钥:URL中access_key所对应IAM用户的token(无需特殊权限)。
  • 响应示例 状态码为 200 时: 请求成功。 响应Header参数: X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数: { "token": { "expires_at": "2020-01-04T09:08:49.965000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "id": "33e1cbdd86d34e89a63cf8ad16a5f49f", "interface": "public", "region": "*", "region_id": "*", "url": "https://iam.myhuaweicloud.com/v3.0" } ], "id": "100a6a3477f1495286579b819d399e36", "name": "iam", "type": "iam" }, { "endpoints": [ { "id": "29319cf2052d4e94bcf438b55d143832", "interface": "public", "region": "*", "region_id": "*", "url": "https://bss.sample.domain.com/v1.0" } ], "id": "c6db69fabbd549908adcb861c7e47ca4", "name": "bssv1", "type": "bssv1" } ], "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomain" }, "roles": [ { "id": "0", "name": "te_admin" }, { "id": "0", "name": "secu_admin" }, { "id": "0", "name": "te_agency" } ], "issued_at": "2020-01-03T09:08:49.965000Z", "user": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomain" }, "id": "7116d09f88fa41908676fdd4b039e95b", "name": "IAMUser", "password_expires_at": "" } } } 状态码为 404 时: 未找到相应的资源。 { "error": { "code": 404, "message": "X-Subject-Token is invalid in the request", "title": "Not Found" } }
  • 响应参数 表3 响应Header参数 参数 参数类型 描述 X-Subject-Token String 已校验的token。 表4 响应Body参数 参数 参数类型 描述 token Object 获取到的token信息。 表5 token 参数 参数类型 描述 catalog Array of objects 服务目录信息。 domain Object 被校验token的IAM用户所属的账号信息。如果获取token时请求体中scope参数设置为domain,则返回该字段。 expires_at String token过期时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 issued_at String token下发时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 methods Array of strings 获取token的方式。 project Object 被校验token的IAM用户所属账号的项目信息。如果获取token时请求体中scope参数设置为project,则返回该字段。 roles Array of objects token的权限信息。 user Object 获取token的IAM用户信息。 表6 token.catalog 参数 参数类型 描述 endpoints Array of objects 终端节点。 id String 服务ID。 name String 服务名称。 type String 该接口所属服务。 表7 token.catalog.endpoints 参数 参数类型 描述 id String 终端节点ID。 interface String 接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 region String 终端节点所属区域。 region_id String 终端节点所属区域ID。 url String 终端节点的URL。 表8 token.domain 参数 参数类型 描述 name String 账号名称。 id String 账号ID。 表9 token.project 参数 参数类型 描述 domain Object 项目所属账号信息。 id String 项目ID。 name String 项目名称。 表10 token.project.domain 参数 参数类型 描述 id String 账号ID。 name String 账号名称。 表11 token.roles 参数 参数类型 描述 name String 权限名称。 id String 权限ID。默认显示为0,非真实权限ID。 表12 token.user 参数 参数类型 描述 name String IAM用户名。 id String IAM用户ID。 password_expires_at String 密码过期时间,“”表示密码不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 domain Object IAM用户所属的账号信息。 表13 token.user.domain 参数 参数类型 描述 name String IAM用户所属账号名称。 id String IAM用户所属账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 管理员校验本账号中IAM用户的token的有效性:拥有Security Administrator权限的token。 IAM用户校验自己token的有效性:该IAM用户的token(无需特殊权限)。 X-Subject-Token 是 String 待校验的token。
  • 步骤1:创建永久AK/SK URI:POST /v3.0/OS-CREDENTIAL/credentials API文档详情请参见:创建永久访问密钥 API Explorer 在线调试请参见:创建永久访问密钥 请求示例 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials { "credential": { "description": "IAMDescription", "user_id": "07609fb9358010e21f7bc003751..." } } 响应示例 { "credential": { "access": "P83EVBZJMXCYTMUII...", "create_time": "2020-01-08T06:25:19.014028Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "IAMDescription", "secret": "TTqAHPbhWorg9ozx8Dv9MUyzYnOKDppxzHt...", "status": "active" }
  • 步骤2:查询AK/SK的创建时间(或查询指定AK/SK的创建时间) 查询所有AK/SK的创建时间。 URI:GET /v3.0/OS-CREDENTIAL/credentials API文档详情请参见:查询所有永久访问密钥 API Explorer在线调试请参见: 查询所有永久访问密钥 请求示例 1) IAM用户查询自己所有AK/SK的创建时间。 GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials 2) 管理员查询IAM用户所有AK/SK的创建时间。(待查询的用户ID为:076…) GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials?user_id=076... 响应示例 { "credentials": [ { "access": "LOSZM4YRVLKOY9E8X...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc0037...", "description": "", "status": "active" }, { "access": "P83EVBZJMXCYTMU...", "create_time": "2020-01-08T06:25:19.014028Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "", "status": "active" } ] } 查询指定AK/SK的创建时间。 URI:GET /v3.0/OS-CREDENTIAL/credentials/{access_key} API文档详情请参见:查询指定永久访问密钥 API Explorer在线调试请参见:查询指定永久访问密钥 请求示例 GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials/{access_key} 响应示例 { "credential": { "last_use_time": "2020-01-08T06:26:08.123059Z", "access": "LOSZM4YRVLKOY9E8...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc00375....", "description": "", "status": "active" } }
共100000条