网站首页 > 技术服务 > 邮箱知识广场 > 北京阿里企业邮箱-使用OIDC进行角色SSO的示例
北京阿里企业邮箱-使用OIDC进行角色SSO的示例
发布时间:2025-11-26
本文提供一个Okta与阿里云进行OIDC角色SSO的示例,使Okta中的应用通过临时身份凭证(STS Token)安全访问阿里云资源。
前提条件
请提前在Okta中注册一个OIDC应用,并获取应用的颁发者URL和客户端ID(Client ID)。本示例中使用的数据如下:
1.颁发者URL:https://dev-xxxxxx.okta.com
2.客户端ID:0oa294vi1vJoClev****
步骤一:在阿里云创建OIDC身份提供商
本步骤中将创建一个名为TestOidcProvider的OIDC身份提供商。颁发者URL为https://dev-xxxxxx.okta.com,客户端ID为0oa294vi1vJoClev****。
1.使用RAM管理员登录RAM控制台。
2.在左侧导航栏,选择集成管理 > SSO管理。
3.在角色SSO页签,先单击OIDC页签,然后单击创建身份提供商。
4.在创建身份提供商页面,设置身份提供商信息。
5.单击创建身份提供商。
步骤二:在阿里云创建可信实体为OIDC身份提供商的RAM角色
本步骤中将创建一个名为testoidc的RAM角色,身份提供商选择步骤一创建的TestOidcProvider。
1.使用RAM管理员登录RAM控制台。
2.在左侧导航栏,选择身份管理 > 角色。
3.在角色页面,单击创建角色。
4.在创建角色页面的右上角,单击切换编辑器。
5.在编辑器中指定具体的OIDC身份提供商。
编辑器支持可视化编辑和脚本编辑两种模式,您可以任选其一。
1)可视化编辑:在主体中指定具体的OIDC身份提供商。
2)脚本编辑:在Principal的Federated字段中指定具体的OIDC提供商,同时配置Condition。
6.在编辑器中设置限制条件。
7.在创建角色对话框,输入角色名称,然后单击确定。
步骤三:为RAM角色授权
您可以根据实际需要,为步骤二创建的RAM角色testoidc授予访问阿里云资源的权限。
1.使用RAM管理员登录RAM控制台。
2.在左侧导航栏,选择身份管理 > 角色。
3.在角色页面,单击目标RAM角色操作列的新增授权。
您也可以选中多个RAM角色,单击角色列表下方的新增授权,为RAM角色批量授权。
4.在新增授权面板,为RAM角色授权。
1)选择资源范围。
a.账号级别:权限在当前阿里云账号内生效。
b.资源组级别:权限在指定的资源组内生效。
2)选择授权主体。
授权主体即需要添加权限的RAM角色。系统会自动选择当前的RAM角色。
3)选择权限策略。
权限策略是一组访问权限的集合。支持批量选中多条权限策略。
a.系统策略:由阿里云创建,策略的版本更新由阿里云维护,用户只能使用不能修改。
b.自定义策略:由用户管理,策略的版本更新由用户维护。用户可以自主创建、更新和删除自定义策略。
4)单击确认新增授权。
5.单击关闭。
步骤四:在Okta签发OIDC令牌(OIDC Token)
阿里云不支持使用OIDC登录控制台,所以您需要使用程序访问的方式完成OIDC SSO流程。
1.按照Okta的教程创建应用并完成项目配置。
2.在浏览器中测试项目,应用将自动重定向到Okta登录页面。完成登录和MFA认证后,页面将重定向至index.html。页面会显示当前登录用户的ID Token及其解析后的Claims信息。
3.复制页面中所展示的idToken并保存。
步骤五:使用OIDC Token换取STS Token
您可以直接调用AssumeRoleWithOIDC API,使用从步骤四中获取的OIDC Token(ID token)换取STS Token。
步骤六:使用STS Token访问阿里云资源
使用从步骤五获取的STS Token访问有权限的阿里云资源。



