tencent cloud

访问管理

产品简介
CAM 概述
产品功能
应用场景
基本概念
使用限制
用户类型
购买指南
快速入门
创建管理员用户
创建子账号并授权
子账号登录控制台
用户指南
概览
用户
访问密钥
用户组
角色
身份提供商
策略
权限边界
排除故障
下载安全分析报告
支持角色的业务
概览
计算
容器
微服务
基础存储服务
数据处理与分析
数据迁移
关系型数据库
企业级分布式数据库
NoSQL 数据库
数据库 SaaS 工具
数据库 SaaS 服务
网络
CDN与加速
网络安全
数据安全
应用安全
域名与网站
大数据
中间件
互动视频服务
实时互动
媒体点播
媒体处理服务
媒体处理
实时云渲染
游戏服务
云资源管理
管理与审计
开发者工具
监控与运维
其他文档
支持CAM的业务接口
概览
计算
边缘计算
容器
分布式云
微服务
Serverless
基础存储服务
数据处理与分析
数据迁移
关系型数据库
企业级分布式数据库
NoSQL 数据库
数据库 SaaS 工具
网络
CDN与加速
网络安全
终端安全
数据安全
业务安全
应用安全
域名与网站
办公协同
大数据
语音技术
图像创作
腾讯大模型
人工智能平台服务
自然语言处理
文字识别
中间件
通信服务
互动视频服务
实时互动
流媒体服务
媒体点播
媒体处理服务
媒体处理
实时云渲染
游戏服务
教育服务
医疗服务
云资源管理
管理与审计
开发者工具
监控与运维
其他文档
实践教程
安全实践教程
多身份人员权限管理
授予标签下部分操作权限
支持员工间资源隔离访问
企业多账号权限管理
查看员工腾讯云操作记录
使用 ABAC 管理员工资源访问权限
按标签鉴权时支持仅匹配标签键
商用案例
MySQL 相关案例
CLB 相关案例
CMQ 相关案例
COS 相关案例
CVM 相关案例
VPC 相关案例
云点播相关案例
其他案例
API 文档
History
Introduction
API Category
Making API Requests
User APIs
Policy APIs
Role APIs
Identity Provider APIs
Data Types
Error Codes
常见问题
角色相关问题
密钥相关问题
其他问题
CAM 用户与权限问题
词汇表

使用 OIDC 进行角色 SSO

PDF
聚焦模式
字号
最后更新时间: 2024-01-23 17:46:25
使用基于 OIDC 协议的角色 SSO 时,需要在腾讯云控制台创建身份提供商并为其创建角色,然后再使用身份提供商签发的 OIDC Token 换取腾讯云的 STS Token(角色的临时秘钥)。

一、创建 OIDC 身份提供商

1. 在 CAM 控制台的左侧导航栏,选择身份提供商 > 角色SSO。
2. 在角色 SSO 页面,单击新建提供商
3. 在新建身份提供商页面,选择提供商类型“OIDC”,并填写身份提供商信息:
身份提供商名称:自定义身份提供商的名称,同一个腾讯云账号下必须唯一。
身份提供商 URL:OIDC 身份提供商标识,由外部 IdP 提供,必须以 http 开头,符合标准 URL 格式。
客户端 ID:在 OIDC 身份提供商注册的客户端 ID,如果有多个应用需要访问腾讯云,可以配置多个客户端ID。
签名公钥:验证 OIDC 身份提供商 ID Token 签名的公钥。对应身份提供商提供的 OIDC 元数据文档中 "jwks_uri" 字段中链接的内容(在浏览器中打开链接获取内容)。为了您的账号安全,建议您定期轮换签名公钥。
备注信息:为身份提供商添加的备注信息。
4. 单击下一步进入信息审阅页面。
5. 确认信息无误后,单击完成保存。

二、为身份提供商创建角色

1. 在 CAM 控制台的左侧导航栏,单击角色
2. 在角色管理页面,单击新建角色
3. 选择角色载体为身份提供商。
4. 在新建自定义角色页面,选择身份提供商类型为 OIDC。
5. 选择已经创建好的身份提供商。
6. 设置角色的使用条件:
oidc:iss:OIDC 颁发者(Issuer),必填。该限定条件必须使用 string_equal,条件值只能是您在 OIDC 身份提供商中填写的身份提供商 URL。用来扮演角色的 OIDC 令牌中的 iss 字段值必须满足该限制条件要求,角色才允许被扮演。
oidc:aud:OIDC 受众(Audience),必填。该限定条件必须使用 string_equal,条件值只能使用在 OIDC 身份提供商中配置的一个或多个客户端 ID。用来扮演角色的 OIDC 令牌中的 aud 字段值必须满足该限制条件要求,角色才允许被扮演。
oidc:sub:OIDC 主体(Subject),选填。该限定条件可以使用任何 string 类的条件操作类型,且条件值最多可以设置10个 OIDC 主体。用来扮演角色的 OIDC 令牌中的 sub 字段值必须满足该限制条件要求时,角色才允许被扮演。
7. 单击下一步
8. 在配置角色策略页面,为角色关联权限策略,并单击下一步
9. 在审阅页面,输入角色名称和角色描述(选填),并单击完成保存。

三、在身份提供商签发 OIDC Token

腾讯云不支持使用 OIDC 登录控制台,需要使用程序访问的方式完成 OIDC SSO 流程(即通过调用 API 获取临时秘钥,再使用临时秘钥访问腾讯云)。由于生成 OIDC Token 本质上是个 OAuth 流程,所以需要通过标准的 OAuth 2.0流程从 OIDC 身份提供商(例如:Okta)获取OIDC Token,具体方式参见提供商的相关文档。

四、使用 OIDC Token 换取 STS 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 访问腾讯云资源

使用从上述步骤中换取的临时秘钥(STS Token)访问有权限的腾讯云资源。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈