使用基于 OIDC 协议的角色 SSO 时,需要在腾讯云控制台创建身份提供商并为其创建角色,然后再使用身份提供商签发的 OIDC Token 换取腾讯云的 STS Token(角色的临时秘钥)。
腾讯云不支持使用OIDC登录控制台,需要使用程序访问的方式完成OIDC SSO流程(即通过调用 API 获取临时秘钥,再使用临时秘钥访问腾讯云)。由于生成OIDC Token本质上是个OAuth流程,所以需要通过标准的OAuth 2.0流程从 OIDC 身份提供商(例如:Okta)获取OIDC Token,具体方式参见提供商的相关文档。
从身份提供商处获取到 OIDC Token 后,可以直接调用 AssumeRoleWithWebIdentity API 以换取可以访问腾讯云的 STS Token。
请求示例:
POST / HTTP/1.1
Host: sts.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AssumeRoleWithWebIdentity
<公共请求参数>
{
"DurationSeconds": "5000",
"RoleSessionName": "test_OIDC",
"WebIdentityToken": "eyJraWQiOiJkT**********CNOQ",
"RoleArn": "qcs::cam::uin/798950673:roleName/OneLogin-Role",
"ProviderId": "OIDC"
}
返回示例:
{
"Response": {
"ExpiredTime": 1543914376,
"Expiration": "2018-12-04T09:06:16Z",
"Credentials": {
"Token": "1siMD5r0tPAq9xpR******6a1ad76f09a0069002923def8aFw7tUMd2nH",
"TmpSecretId": "AKID65zyIP0mp****qt2SlWIQVMn1umNH58",
"TmpSecretKey": "q95K84wrzuE****y39zg52boxvp71yoh"
},
"RequestId": "f6e7cbcb-add1-47bd-9097-d08cf8f3a919"
}
}
使用从上述步骤中换取的临时秘钥(STS Token)访问有权限的腾讯云资源。
本页内容是否解决了您的问题?