根据 SAML 断言申请角色临时凭证

最近更新时间:2024-11-05 09:31:11

接口描述

本接口(AssumeRoleWithSAML)用于根据 SAML 断言申请角色临时凭证。
请求域名:sts.api.qcloud.com
请求方式:HTTP POST

输入参数

以下请求参数列表仅列出了接口请求参数,其余公共参数列表见 公共请求参数

参数名称 必选 类型 描述
SAMLAssertion String base64 编码的 SAML 断言信息
PrincipalArn String 扮演者访问描述名
RoleArn String 角色访问描述名
RoleSessionName String 会话名称

输出参数

参数名称 类型 描述
credentials credentials 对象里面包含 token,tmpSecretId,tmpSecretKey 三元组
expiredTime Integer 证书无效的时间,返回 Unix 时间戳,精确到秒
expiration String 证书无效的时间,以 ISO8601 格式的 UTC 时间表示

Credentials 数据结构

字段 类型 描述
token String token 值
tmpSecretId String 临时安全证书 ID
tmpSecretKey String 临时安全证书 Key

示例

创建一个名称为 IdP 的 SAML 身份提供商。

输入示例:

POST /v2/index.php HTTP/1.1
Host: sts.api.qcloud.com
Accept: */*
Content-Length: 3927
Content-Type: application/x-www-form-urlencoded

Action=AssumeRoleWithSAML
&PrincipalArn=qcs::cam::uin/798950673:saml-provider/OneLogin
&RoleArn=qcs::cam::uin/798950673:roleName/OneLogin-Role
&RoleSessionName=test
&SAMLAssertion=c2FtbCBhc3NlcnRpb24=
&<公共请求参数>

输出示例:

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "data": {
        "credentials": {
            "sessionToken": "d154fa74af184dfac3deb3a729c103a3003d52f840001",
            "tmpSecretId": "************************************************************",
            "tmpSecretKey": "***********************************************************"
        },
        "expiredTime": 1541594376,
        "expiration": "2018-11-07T12:39:36Z"
    }
}

错误码

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

错误码 描述
InvalidParameter.ProviderNotExist 身份提供商已存在
InvalidParameter.SAMLResponse 无效的 SAML 断言响应
InvalidParameter.InvalidRoleArn 无效的角色访问描述名