文档中心>安全凭证服务>API文档>STS相关接口>获取联合身份临时访问凭证

获取联合身份临时访问凭证

最近更新时间:2024-03-12 01:48:30

我的收藏

1. 接口描述

接口请求域名: sts.tencentcloudapi.com 。

使用说明

返回一组临时访问凭证,典型的应用场景是代理应用程序集中申请临时访问凭证,下发给企业网络内其他分布式终端应用,比如终端应用上传文件到COS场景,本接口仅支持永久密钥调用。

最佳实践

  1. 临时访问凭据在有效期内都可以使用,建议在有效期内重复使用,以避免业务请求速率上升后被限频
  2. 授予临时访问凭证权限的CAM策略,建议按权限最小化原则
  3. 调用接口的永久密钥,建议不要使用主账号

默认接口请求频率限制:600次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:GetFederationToken。
Version String 公共参数,本接口取值:2018-08-13。
Region String 公共参数,详见产品支持的 地域列表
Name String 您可以自定义调用方英文名称,由字母组成。
示例值:test
Policy String 注意:
1、策略语法参照 CAM 策略语法
2、策略中不能包含 principal 元素。
3、该参数需要做urlencode,服务端会对该字段做urldecode, 并按处理后Policy授予临时访问凭证权限,请按规范传入参数。
示例值:%7B%22version%22%3A%222.0%22%2C%22statement%22%3A%5B%7B%22effect%22%3A%22allow%22%2C%22action%22%3A%22sts%3AAssumeRole%22%2C%22resource%22%3A%22%2A%22%7D%5D%7D
DurationSeconds Integer 指定临时证书的有效期,单位:秒,默认1800秒,主账号最长可设定有效期为7200秒,子账号最长可设定有效期为129600秒。
示例值:1800

3. 输出参数

参数名称 类型 描述
Credentials Credentials 临时访问凭证
ExpiredTime Integer 临时访问凭证有效的时间,返回 Unix 时间戳,精确到秒
示例值:1686664553
Expiration String 临时访问凭证有效的时间,以 iso8601 格式的 UTC 时间表示
注意:此字段可能返回 null,表示取不到有效值。
示例值:2023-06-13T13:55:53Z
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 获取临时访问凭证

授权临时访问凭证具有以下权限:
{"version":"2.0","statement":[{"effect":"allow","action":["name/cos:PutObject"],"resource":["qcs::cos:ap-beijing:uid/123456:prefix//123456/bucketA/*"]}]}

注意,因为GET请求需要给所有参数做urlencode,所以下面示例中的Policy参数是做了两次urlencode的结果。

输入示例

https://sts.tencentcloudapi.com/?Action=GetFederationToken
&Name=SUN
&Policy=%257B%2522version%2522%3A%25222.0%2522%2C%2522statement%2522%3A%255B%257B%2522effect%2522%3A%2522allow%2522%2C%2522action%2522%3A%255B%2522name%2Fcos%3APutObject%2522%255D%2C%2522resource%2522%3A%255B%2522qcs%3A%3Acos%3Aap-beijing%3Auid%2F123456%3Aprefix%2F%2F123456%2FbucketA%2F%2A%2522%255D%257D%255D%257D
&<公共请求参数>

输出示例

{
    "Response": {
        "Credentials": {
            "Token": "kTRt***Jb7m",
            "TmpSecretId": "AKID****CjE6",
            "TmpSecretKey": "Eo28***7ps="
        },
        "Expiration": "2023-06-14T05:06:57Z",
        "ExpiredTime": 1686719217,
        "RequestId": "59a5e07e-4147-4d2e-a808-dca76ac5b3fd"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
InternalError.DbError DB错误。
InternalError.EncryptError 加密失败。
InternalError.GetAppIdError 获取appid错误。
InternalError.GetSeedTokenError 获取token失败。
InternalError.SystemError 系统内部错误,如网络错误。
InvalidParameter.AccountNotAvaliable 账号不存在或不可用。
InvalidParameter.ExtendStrategyOverSize 扩展策略过大。
InvalidParameter.GrantOtherResource 越权访问资源。
InvalidParameter.OverTimeError 过期时间超过阈值。
InvalidParameter.ParamError 参数错误。
InvalidParameter.PolicyTooLong 策略过长。
InvalidParameter.ResouceError 策略资源六段式错误。
InvalidParameter.StrategyFormatError 策略语法错误。
InvalidParameter.StrategyInvalid 非法策略。
InvalidParameter.TempCodeNotAvaliable 临时Code无效。
ResourceNotFound.RoleNotFound 账号对应的角色不存在。
UnauthorizedOperation 未授权操作。
UnsupportedOperation 操作不支持。