j9九游会登录/ 统一身份认证服务 iam/ api参考/ api/ / 获取委托的临时访问密钥和securitytoken - createtemporaryaccesskeybyagency
更新时间:2025-12-27 gmt 08:00

获取委托的临时访问密钥和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

请求参数

表1 请求header参数

参数

是否必选

参数类型

描述

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。

表2 请求body参数

参数

是否必选

参数类型

描述

auth

是

object

认证信息。

表3 auth

参数

是否必选

参数类型

描述

identity

是

object

认证参数。

表4 auth.identity

参数

是否必选

参数类型

描述

methods

是

array of strings

认证方法,该字段内容为["assume_role"]。

assume_role

是

object

assume_role的具体信息。

policy

否

object

用户自定义策略的信息,用于限制获取到的临时访问密钥和securitytoken的权限(当前仅obsj9九游会登录的服务支持该限制)。

如果填写此参数,则临时访问密钥和securitytoken的权限为:委托具有的权限和policy参数限制的权限交集。policy参数的字符个数不大于2048。

关于iam策略的格式和语法,请参考:。

表5 auth.identity.assume_role

参数

是否必选

参数类型

描述

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分钟。

session_user

否

object

委托方对应的企业用户信息。

表6 auth.identity.assume_role.session_user

参数

是否必选

参数类型

描述

name

否

string

委托方对应的企业用户名。

用户名需满足如下规则:长度5~64之间,只能包含如下字符:大小写字母、空格、数字或特殊字符(-_.)且只能以字母开头。

表7 auth.identity.policy

参数

是否必选

参数类型

描述

version

是

string

权限版本号,创建自定义策略时,该字段值填为“1.1”。

说明:

1.1:策略。iam最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。

statement

是

array of objects

授权语句,描述自定义策略的具体内容,不超过8个。

表8 auth.identity.policy.statement

参数

是否必选

参数类型

描述

action

是

array of strings

授权项,指对资源的具体操作权限。支持的授权项请参考各云服务《api参考》中“权限和授权项”章节。

说明:
  • 格式为:服务名:资源类型:操作,例:vpc:ports:create。
  • 服务名为产品名称,例如ecs、evs和vpc等,服务名仅支持小写。 资源类型和操作没有大小写,要求支持通配符号*,无需罗列全部授权项。

effect

是

string

作用。包含两种:允许(allow)和拒绝(deny),既有allow又有deny的授权语句时,遵循deny优先的原则。

取值范围:

  • allow
  • deny

condition

否

map>>

限制条件。了解更多相关参数,请参考:配置自定义策略。

说明:

以请求示例中的condition为例:条件键(obs:prefix)和字符串(public)需相等(stringequals)。

 "condition": {
              "stringequals": {
                "obs:prefix": [
                  "public"
                ]
              }
            }

resource

否

array of strings

资源。规则如下:

说明:
  • 格式为“服务名:region:domainid:资源类型:资源路径”,资源类型支持通配符号*,通配符号*表示所有。如"obs:*:*:bucket:*": 表示所有的obs桶。
  • region字段为*或用户可访问的region。service必须存在且resource属于对应service。
  • 其中,服务名、region、domainid、资源类型的格式为:由字母、数字、"_"、"-"、"*"组成,长度为1到50个字符;资源路径的格式为:不以":"开头,除";"、"^"、"|"、"~"、"`"、"{"、"}"、"["、"]"、"<"、">"以外的任意字符组成,长度为1到1200个字符。

响应参数

表9 响应body参数

参数

参数类型

描述

credential

object

认证结果信息。

表10 credential

参数

参数类型

描述

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

内部服务错误。

错误码

无

相关文档

网站地图