获取委托的临时访问密钥和securitytoken -j9九游会登录
功能介绍
该接口可以用于通过委托来获取临时访问密钥(临时ak/sk)和securitytoken。
临时ak/sk和securitytoken是系统颁发给iam用户的临时访问令牌,有效期可在15分钟至24小时范围内设置,过期后需要重新获取。临时ak/sk和securitytoken遵循权限最小化原则。鉴权时,临时ak/sk和securitytoken必须同时使用,请求头中需要添加“x-security-token”字段,使用方法详情请参考:
该接口可以使用全局区域的endpoint和其他区域的endpoint调用。iam的endpoint请参见:。
调试
您可以在中调试该接口。
授权信息
账号具备所有api的调用权限,如果使用账号下的iam用户调用当前api,该iam用户需具备调用api所需的权限,具体权限要求请参见权限和授权项。
uri
post /v3.0/os-credential/securitytokens
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
content-type |
是 |
string |
该字段填为“application/json;charset=utf8”。 |
|
authorization |
否 |
string |
x-auth-token和authorization二选一,推荐使用authorization方式,ak/sk签名认证后会生成authorization header。更多信息请参考。 |
|
x-auth-token |
否 |
string |
x-auth-token和authorization二选一,拥有agent operator权限的token。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
是 |
object |
认证信息。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
是 |
object |
认证参数。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
methods |
是 |
array of strings |
认证方法,该字段内容为["assume_role"]。 |
|
是 |
object |
assume_role的具体信息。 |
|
|
否 |
object |
用户自定义策略的信息,用于限制获取到的临时访问密钥和securitytoken的权限(当前仅obsj9九游会登录的服务支持该限制)。 如果填写此参数,则临时访问密钥和securitytoken的权限为:委托具有的权限和policy参数限制的权限交集。policy参数的字符个数不大于2048。 关于iam策略的格式和语法,请参考:。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
agency_name |
是 |
string |
委托名称,获取方式请参见:获取账号、iam用户、项目、用户组、区域、委托的名称和id。 |
|
domain_id |
否 |
string |
委托方的账号id。“domain_id”与“domain_name”至少填写一个,建议选择“domain_id”。 |
|
domain_name |
否 |
string |
委托方的账号名。“domain_id”与“domain_name”至少填写一个,建议选择“domain_id”。 |
|
duration_seconds |
否 |
integer |
ak/sk和securitytoken的有效期,时间单位为秒。取值范围:15分钟 ~ 24小时 ,默认为15分钟。 |
|
否 |
object |
委托方对应的企业用户信息。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
name |
否 |
string |
委托方对应的企业用户名。 用户名需满足如下规则:长度5~64之间,只能包含如下字符:大小写字母、空格、数字或特殊字符(-_.)且只能以字母开头。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
version |
是 |
string |
权限版本号,创建自定义策略时,该字段值填为“1.1”。
说明:
1.1:策略。iam最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 |
|
是 |
array of objects |
授权语句,描述自定义策略的具体内容,不超过8个。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
action |
是 |
array of strings |
授权项,指对资源的具体操作权限。支持的授权项请参考各云服务《api参考》中“权限和授权项”章节。
说明:
|
|
effect |
是 |
string |
作用。包含两种:允许(allow)和拒绝(deny),既有allow又有deny的授权语句时,遵循deny优先的原则。 取值范围:
|
|
condition |
否 |
map |
限制条件。了解更多相关参数,请参考:配置自定义策略。
说明:
以请求示例中的condition为例:条件键(obs:prefix)和字符串(public)需相等(stringequals)。 "condition": {
"stringequals": {
"obs:prefix": [
"public"
]
}
}
|
|
resource |
否 |
array of strings |
资源。规则如下:
说明:
|
响应参数
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
object |
认证结果信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
expires_at |
string |
ak/sk和securitytoken的过期时间。响应参数为utc时间格式,北京时间为utc 8小时。 如返回: "expires_at": "2020-01-08t02:56:19.587000z" 北京时间:2020-01-08 10:56:19.587 |
|
access |
string |
获取的ak。 |
|
secret |
string |
获取的sk。 |
|
securitytoken |
string |
securitytoken是将所获的ak、sk等信息进行加密后的字符串。 |
请求示例
- 填写"session_user"参数,即委托方对应的企业用户信息,包含委托方对应的企业用户名。
post https://iam.myhuaweicloud.com/v3.0/os-credential/securitytokens{ "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "iamdomaina", "agency_name": "iamagency", "duration_seconds": 3600, "session_user": { "name": "sessionusername" } } } } } - 填写"policy"参数,即用户自定义策略的信息,用于限制获取到的临时访问密钥和securitytoken的权限(当前仅适用限制obs服务的权限)。如果填写此参数,则临时访问密钥和securitytoken的权限为:委托具有的权限和policy参数限制的权限交集。
post https://iam.myhuaweicloud.com/v3.0/os-credential/securitytokens{ "auth": { "identity": { "methods": [ "assume_role" ], "policy": { "version": "1.1", "statement": [{ "effect": "allow", "action": [ "obs:object:*" ], "resource": ["obs:*:*:object:*"], "condition": { "stringequals": { "obs:prefix": ["public"] } } }] }, "assume_role": { "domain_name": "iamdomaina", "agency_name": "iamagency", "duration_seconds": 3600 } } } }
- 不填写"session_user"和policy参数。
post https://iam.myhuaweicloud.com/v3.0/os-credential/securitytokens{ "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "iamdomaina", "agency_name": "iamagency", "duration_seconds": 3600 } } } }
响应示例
状态码为 201 时:
创建成功。
无论session_user填写与否,返回都是相同的。若填写了session_user,则在securitytoken中包含了所填写的session_user信息。
{
"credential": {
"access": "e6dx0tf2zreq4z...",
"expires_at": "2020-01-08t02:56:19.587000z",
"secret": "w9epum0qdfac39erld0udjofykqort6iw....",
"securitytoken": "gqpjbi1ub3j0ac0..."
}
}
返回值
|
返回值 |
描述 |
|---|---|
|
201 |
创建成功。 |
|
400 |
参数无效。 |
|
401 |
认证失败。 |
|
403 |
没有操作权限。 |
|
500 |
内部服务错误。 |
错误码
无
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨