火山引擎单点登录
# 应用简介
https://www.volcengine.com/
# 文档说明
本文介绍如何配置IDaaS与火山引擎基于SAML协议实现SSO集成。
火山引擎基于SAML协议有两种集成模式:
用户SSO:指完成IdP与SP双方互信配置后,当企业IdP用户登录,火山引擎通过IdP发送的SAML断言建立IdP用户与火山引擎IAM用户之间的对应关系,企业IdP用户即可通过对应的IAM用户进行火山引擎资源的访问。访问的权限范围在该IAM用户权限范围内。
角色SSO:指建立信任身份为对应IdP的角色并完成IdP与SP双方互信配置后,当企业IdP用户登录,该用户通过扮演IdP发送的SAML断言中指定的可用IAM角色进行火山引擎资源的访问。访问的权限范围在该IAM角色权限范围内。
身份提供商类型 | 登录火山引擎的身份 | 适用场景 |
---|---|---|
用户SSO | IAM用户 | 通用场景,企业用户与火山引擎用户一一映射等 客户使用SaaS产品时,推荐通过用户SSO实现单点登录 |
角色SSO | IAM角色 | 客户按照人员角色进行分工,例如IT部门统一按照IT_admin角色进行登录 |
# 前提条件
- 具备火山引擎租户环境
- 具备竹云IDaaS租户环境
- 具备上述两个环境的超级管理员账号
# 用户SSO集成配置说明
# 步骤概述
- 使用管理员登录火山引擎并新建身份提供商(类型选择:用户sso)
- 上传IDP元数据文件
- 使用管理员登录IDaaS并新建预集成应用【火山引擎用户SSO】
- 上传SP元数据文件并进行配置
- 授权后进行测试
# 详细集成步骤
步骤一:登录火山引擎,进入【访问控制】界面
步骤二:新建身份提供商
身份提供商名称:【IDaaS_User_SSO】
上传IDP元数据文件(在IDaaS企业中心【设置】->【服务配置】->【IDP配置】,点击下载后即可获得IDP元数据文件)
步骤三:获取SP元数据文件
上述地址可以用浏览器直接打开,打开后,复制到文本文件中,另存格式为:sp_usersso.xml
步骤四:新建预集成应用【火山引擎用户SSO】
步骤五:上传sp_usersso.xml(NAME ID 属性手动编辑选择【账号名】)
集成配置已结束。
# 测试验证
火山引擎和竹云IDaaS人员在单点登录时,依赖的火山引擎人员中的【用户名】属性字段和竹云用户进行的匹配登录
在IDaaS中创建用户并分配给火山引擎应用(确保火山引擎内已存在此用户)
- 从火山引擎登录访问(SP发起)
在火山引擎的登录页面中选择“企业联邦登录”登录方式,输入账号ID/主账号用户名后选择对应身份提供商IDaaS_User_SSO,跳转到IDaaS后进行帐密登录到验证。
如果登录后,火山引擎登录身份和IDaaS用户保持一致,则代表配置成功
- 从IDaaS用户中心访问(IDP发起)
登录IDaaS用户中心后,点击火山引擎对应的卡片,检查火山引擎登录后的身份,如果和IDaaS保持一致,则代表配置成功。
# 角色SSO集成配置说明
# 步骤概述
- 使用管理员登录火山引擎并新建身份提供商(类型选择:角色sso)
- 上传IDP元数据文件
- 使用管理员登录IDaaS并新建预集成应用【火山引擎用户SSO】
- 上传SP元数据文件并进行配置
- 授权后进行测试
# 详细集成步骤
步骤一:登录火山引擎,进入【访问控制】->【身份提供商】,新建类型为角色SSO的身份提供商
步骤二:上传IDP元数据文件,同时保存SP元数据文件sp_rolesso.xml(可参考用户SSO中步骤二和步骤三)
步骤三:火山引擎新建角色
角色对应的权限可自定义,新建完成显示如下
步骤四:新建预集成应用【火山引擎角色SSO】,并上传配置sp_rolesso.xml
步骤四:修改【映射配置】
添加如下两个配置
应用系统属性名 | 映射类型 | 固定属性值 | Attr Name Format |
---|---|---|---|
https://www.volcengine.com/SAML/Attributes/Identity | 固定属性值 | trn:iam::210059xxxxx:role/devRole,trn:iam::210059xxxxx:saml-provider/IDaaS_Role_sso(企业要自定义修改) | UNSPECIFIED |
https://www.volcengine.com/SAML/Attributes/SessionName | 用户属性 | 姓名 | UNSPECIFIED |
属性说明(更多详情参考火山引擎官方说明:https://www.volcengine.com/docs/6257/1130112)
https://www.volcengine.com/SAML/Attributes/Identity
属性的值用于声明用于SSO登录的IAM角色的信息。至少包含一个属性值,可包含多个属性值,即一个企业用户可映射多个角色,如有多个则会在登录页面上列出供选择。取值为角色Trn(可在角色详情界面获取角色TRN)。
格式为:trn:iam:: ${AccountID}:role/${RoleName},trn:iam:: ${AccountID}:saml-provider/ ${SAMLProviderName}。
其中AccountID为您的火山引擎账号ID,RoleName为IAM角色名称,SAMLProviderName为身份提供商名称。
示例:trn:iam::210059xxxxx:role/devRole,trn:iam::210059xxxxx:saml-provider/IDaaS_Role_ssohttps://www.volcengine.com/SAML/Attributes/SessionName
属性的值用于指定会话名称。必须包含一个属性值,属性值可自定义,用作登录后的名称展示和审计
# 测试验证
在IDaaS中创建用户并分配给火山引擎应用
- 从火山引擎登录访问(SP发起)
在火山引擎的登录页面中选择“企业联邦登录”登录方式,输入账号ID/主账号用户名后选择对应身份提供商IDaaS_Role_SSO,跳转到IDaaS后进行帐密登录到验证。
如果登录后,显示角色登录,则代表配置成功。
- 从IDaaS用户中心访问(IDP发起)
登录IDaaS用户中心后,点击火山引擎对应的卡片,检查火山引擎登录后的身份,显示角色登录,则代表配置成功。