获取自定义身份代理登录票据
功能介绍
该接口用于获取自定义身份代理登录票据logintoken。logintoken是系统颁发给自定义身份代理用户的登录票据,承载用户的身份、session等信息。调用自定义身份代理URL登录云服务控制台时,可以使用本接口获取的logintoken进行认证。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
自定义身份代理登录票据logintoken默认有效期为10分钟,可设置范围为10分钟~12小时。
调试
您可以在API Explorer中调试该接口。
URI
POST /v3.0/OS-AUTH/securitytoken/logintokens
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
该字段内容填为“application/json;charset=utf8”。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
是 |
Object |
认证信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
access |
是 |
String |
AK。 |
secret |
是 |
String |
SK。 |
id |
是 |
String |
即临时安全凭证securitytoken。 支持使用自定义身份代理用户或普通用户获取的securitytoken换取logintoken,详情请参见:通过token获取临时访问密钥和securitytoken。 支持委托的方式,但获取securitytoken时,请求体中必须填写session_user.name参数,详情请参见:通过委托获取临时访问密钥和securitytoken。 |
duration_seconds |
否 |
Integer |
自定义身份代理登录票据logintoken的有效时间,时间单位为秒。默认10分钟,即600秒,取值范围10分钟~12小时。
说明:
|
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
X-Subject-LoginToken |
String |
签名后的logintoken。 |
参数 |
参数类型 |
描述 |
---|---|---|
Object |
自定义身份代理登录票据信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
domain_id |
String |
账号ID。 |
expires_at |
String |
logintoken的过期时间。 |
method |
String |
认证方法。当认证用户为华为云用户时,该字段内容为“token”,当认证用户为自定义身份代理用户时,该字段内容为“federation_proxy”。 |
user_id |
String |
用户ID。 |
user_name |
String |
用户名。 |
session_id |
String |
会话ID。 |
session_user_id |
String |
自定义身份代理用户ID。
说明:
通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数时,会返回该字段。该字段的值即为session_user.name所填写的值。 |
session_name |
String |
自定义身份代理用户名。
说明:
通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数时,会返回该字段。该字段的值即为session_user.name所填写的值。 |
Object |
被委托方用户信息。
说明:
通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数时,会返回该字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
Object |
被委托方用户所属账号信息。 |
|
name |
String |
被委托方用户名。 |
password_expires_at |
String |
被委托方用户的密码过期时间。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
id |
String |
被委托方用户ID。 |
请求示例
获取自定义身份代理登录票据。
POST https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens
{ "auth": { "securitytoken": { "access": "LUJHNN4WB569PGAP...", "secret": "7qtrm2cku0XubixiVkBOcvMfpnu7H2mLN...", "id": "gQpjbi1ub3J0a...", "duration_seconds":"600" } } }
响应示例
状态码为 201 时:
创建成功。
示例1:通过token获取临时访问密钥和securitytoken。
示例2:通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数。
- 示例 1
响应Header参数: X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
响应Body参数: { "logintoken": { "domain_id": "05262121fb00d5c30fbec013bc1...", "expires_at": "2020-01-20T08:18:36.447000Z", "method": "token", "user_id": "0526213b8a80d38a1f31c013ed...", "user_name": "IAMUser", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_id": "40b328b6683a41b9bf8e7185e..." } }
- 示例 2
响应Header参数: X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
响应Body参数: { "logintoken": { "domain_id": "05262121fb00d5c30fbec01...", "expires_at": "2020-01-23T03:27:26.728000Z", "method": "federation_proxy", "user_id": "07826f367b80d2474ff9c013a...", "user_name": "IAMDomainA/IAMAgency", "session_id": "0012c8e6adda4ce787e90585d...", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_name": "SessionUserName", "assumed_by": { "user": { "domain": { "name": "IAMDomainB", "id": "0659ef9c9c80d4560f14c009ac..." }, "name": "IAMUserB", "password_expires_at": "2020-02-16T02:44:57.000000Z", "id": "0659ef9d4d00d3b81f26c009fe..." } } } }
返回值
返回值 |
描述 |
---|---|
201 |
创建成功。 |
400 |
参数无效。 |
401 |
认证失败。 |
403 |
没有操作权限。 |
405 |
不允许的方法。 |
413 |
请求体过大。 |
500 |
内部服务错误。 |
503 |
服务不可用。 |
错误码
无