1. 单点登录配置指南
专属集成平台
  • 快速开始
    • 集成平台概览
  • 身份与用户管理
    • 用户管理
      • 用户与组织架构管理
    • 角色管理
      • 角色管理配置说明
    • 属性管理
      • 属性管理配置说明
      • IDAAS 扩展物理字段使用说明
    • 上游身份数据集成
      • 通讯录身份集成概述
      • 集成连接器配置指南
        • 通讯录集成-泛微
        • 通讯录集成-飞书
        • 通讯录集成-企业微信
        • 通讯录集成-AD
        • 通讯录集成-睿人事
        • 通讯录集成-北森
        • 通讯录集成-SCIM
        • 通讯录集成-用友EHR
        • 通讯录集成-Azure AD
        • 通讯录集成-致远
        • 通讯录集成-LDAP
        • 通讯录集成-数据库
        • 通讯录集成-钉钉
          • 基础说明
          • 钉钉集成连接器如何配置属性映射
      • 通过连接流实现身份集成
        • 在连接流画布中完成身份集成配置
      • 身份集成常见问题
        • 常见问题 & 排错指南
    • 下游身份数据同步
      • 通讯录同步概述
      • 同步连接器配置指南
        • 通讯录同步-企业微信
        • 通讯录同步-AD
        • 通讯录同步-用友U8C
        • 通讯录同步-钉钉
          • 基础说明
          • 如何配置部门职位扩展字段
      • 通过连接流实现身份同步
        • 使用连接流实现身份下游同步
      • 身份同步常见问题
        • 常见问题 & 排错指南
        • 使用代理网关进行身份同步
  • 认证源管理
    • 认证源基础说明
      • 认证源选型说明
      • 认证源管理概述
    • 认证源配置指南
      • 基础协议配置
        • 认证源-CAS协议
        • 认证源-OIDC协议
        • 认证源-OAuth2协议
      • 三方认证源配置手册
        • 认证源-钉钉
        • 认证源-AD
        • 认证源-飞书
        • 认证源-LDAP
        • 认证源-微信
        • 认证源-微信公众号
        • 认证源-Google Workspace
        • 认证源-AD Azure
        • 认证源-美云智数
        • 认证源-企业微信
  • 应用管理
    • 基础说明
      • 应用管理概述
      • 应用创建与配置
    • 应用单点登录
      • 单点登录概述
      • 单点登录配置
      • 单点登出配置
      • 授权范围配置
      • 自定义集成单点登录配置说明
      • 应用密码代填
      • 应用网关
      • 单点登录配置指南
        • 单点登录-OIDC
        • 单点登录-SAML协议
        • 单点登录-OAuth2
        • 单点登录-CAS协议
        • 单点登录-钉钉SSO
        • 单点登录-分贝通
        • 单点登录-用友NCC
        • 单点登录-宜搭
        • 单点登录-泛微OA
        • 单点登录-致远OA
        • 单点登录-金蝶云星空
        • 单点登录-中国电子云邮箱
        • 单点登录-阿里云控制台(RAM)
        • 单点登录-纷享销客应用
        • 单点登录-纷享销客待办
        • 单点登录-Exchange
        • Exchange-双入口配置指南
    • 应用授权管理
      • 应用授权概述
      • 基于组织架构和用户授权
      • 基于角色授权(RBAC)
      • 基于用户属性授权(ABAC)
      • 用户自主申请应用(OA审批授权)权限
    • 应用分发
      • 企业应用分发
      • ABM应用分发
    • 使用应用调用集成平台 OPENAPI
      • M2M接口授权
      • 接口调用权限配置说明
  • 连接中心
    • 产品概述
      • 什么是 AI 连接流
      • AI 连接流的典型使用场景
    • 基础功能
      • 流程运行日志
      • 功能概览
      • 如何创建 AI 工作流
      • 授权凭证管理
      • 错误处理
    • 节点说明
      • 节点基础类型说明
      • 数据处理节点
        • 文本处理节点
        • 数组处理
        • 数据集合节点
      • 文件处理节点
        • 「Base64 转 URL」动作说明
        • 「PPT分页切割」动作说明
      • 应用节点
        • Teambition
        • 金蝶云 K3Cloud
      • 内置节点
        • 子流程调用
        • 缓存处理
        • 分支节点
        • 循环执行
        • MYSQL 触发动作说明
        • 数字签名
        • Webhook触发
        • 缓存列表处理
        • 条件分支
        • FTP
        • 延时节点
        • 模型子节点
        • MCP SERVER 工具
        • 邮件发送
        • 存储子节点
        • 工具子节点
        • HTTP 请求
        • 变量节点
        • 加解密节点
        • 返回变量
      • 运维管理节点
        • 数据校验节点
      • AI节点
        • 构建你的第一个 AI Agent
        • AI 浏览器操作节点
        • AI Agent节点使用指南
        • AI 消息对话节点 & 组件嵌入
  • 审计日志
    • 管理员行为日志
    • 用户变更日志
    • 接口调用日志
    • 用户行为日志
    • 消息发送日志
  • 权限中心
    • 管理员账号管理
    • 管理员角色管理
  • 品牌设置
    • 登录页设置
      • 登录页面配置
      • 登录页CSS自定义页面样式
      • CSS定制页面内容:样式修改指南及故障排除
    • 短信设置
      • 短信模板配置
      • 短信服务使用及签名修改使用指南
      • 短信服务-自定义连接流配置
      • 阿里云短信网关配置指引
    • 邮件设置
      • 邮件模板配置
      • 通过自定义连接流发送邮件
      • SMTP 配置与测试支持文档
    • 企业消息设置
      • 企业消息配置
      • 企业消息(钉钉_飞书)配置
    • 分发页面设置
      • 分发页面设置
  • 平台设置
    • 功能概述
    • 授权管理
    • 代理网关
    • 授权信息
    • 登录策略配置
      • 弱密码检测功能说明
      • 登录流程配置
      • 自动登录功能配置
    • MFA 配置
      • MFA基础配置
      • 使用连接流自定义 MFA 策略
    • 运维日志
      • 运维日志下载
  • 最佳实践
    • AD-LDAP接入指南
    • 第三方平台应用创建指南
      • 钉钉
        • 钉钉全套集成指南
        • 创建钉钉开放平台应用
      • 飞书
        • 飞书全套集成指南
        • 创建飞书开放平台应用
      • 企微
        • 企业微信全套集成指南
        • 创建企业微信开放平台应用
  • 开放接口
    • 鉴权认证
      • 获取access_token(请求体方式)
      • 获取access_token(Basic认证方式)
    • 用户管理
      • 查询用户
      • 创建用户
      • 根据多个条件过滤并查询用户信息
      • 根据用户帐号获取用户信息
      • 修改用户
      • 启用/禁用用户
      • 删除用户
      • 修改用户密码
    • 组织部门
      • 获取组/部门的列表
      • 创建组/部门
      • 根据组/部门ID获取组/部门的信息
      • 修改组/部门
      • 删除组/部门
      • 根据组/部门ID获取下级组/部门信息
      • 过滤部门信息
    • 角色管理
      • 创建角色
      • 获取单个角色详情
      • 修改角色
      • 删除角色
      • 查询角色列表
      • 根据应用ID和用户ID获取角色列表
      • 查看角色所对应的用户列表
      • 给多个用户添加静态角色
      • 删除用户静态角色
      • 获取用户的角色信息
    • 连接中心
      • Webhook启动连接流
    • 事件通知
      • 连接器事件通知
  1. 单点登录配置指南

单点登录-SAML协议

概述#

SAML(Security Assertion Markup Language,安全断言标记语言)是一种基于XML的开放标准,用于在不同安全域之间交换认证和授权数据。SAML协议是实现跨域单点登录(SSO)的主流技术标准之一,被广泛应用于企业级身份认证系统中。

核心概念#

身份提供商(IdP, Identity Provider): 负责对用户进行认证并发布身份断言的系统,如专属集成平台
服务提供商(SP, Service Provider): 接受身份断言并提供服务的系统,如阿里云控制台
断言(Assertion): 包含用户身份和属性信息的XML文档
元数据(Metadata): 描述SAML实体(IdP或SP)配置信息的XML文档
绑定(Binding): 定义SAML消息如何通过底层传输协议(如HTTP)进行传输
配置文件(Profile): 定义如何使用和组合SAML断言、协议和绑定来支持特定用例

工作流程#

1.
用户访问SP: 用户尝试访问受保护的服务提供商资源
2.
SP重定向到IdP: SP生成SAML认证请求并将用户重定向到IdP
3.
用户在IdP认证: 用户在IdP完成身份验证
4.
IdP返回断言: IdP生成包含用户身份信息的SAML断言
5.
SP验证断言: SP验证断言的有效性和用户权限
6.
授予访问权限: 验证成功后,SP授予用户访问受保护资源的权限

SAML单点登录的优势#

标准化: 基于开放标准,兼容性好
安全性高: 采用XML签名和加密保证数据完整性和机密性
减少密码疲劳: 用户只需记住一套凭证
简化用户管理: 集中管理用户身份和权限
增强合规性: 提供审计日志和集中式访问控制

配置流程#

本节以专属集成平台(IdP)与阿里云RAM(SP)之间的单点登录配置为例,详细说明SAML协议的实施步骤。

前提条件#

拥有专属集成平台管理员账号
拥有阿里云账号,并具备管理RAM的权限
确保专属集成平台中已创建相应用户
阿里云中已创建RAM用户,且用户信息与专属集成平台保持一致

配置概览#

配置SAML单点登录的主要步骤包括:
1.
获取服务提供商(SP)的SAML配置信息
2.
在身份提供商(IdP)中创建和配置应用
3.
获取IdP的SAML元数据
4.
在SP中配置IdP信息
5.
配置用户映射关系
6.
设置授权范围
7.
测试单点登录

获取服务提供商SAML配置信息#

以阿里云RAM为例:
1
访问阿里云RAM控制台
访问阿里云RAM控制台:https://ram.console.aliyun.com/providers
2
导航到SSO管理
在左侧导航栏,选择"SSO管理",切换到"用户SSO"选项卡
3
查看元数据
找到并点击"SAML服务提供方元数据URL"查看配置元数据
4
记录关键信息
记录以下关键信息:
entityID:阿里云的SAML实体ID
SSO URL:阿里云的单点登录服务地址
image.png
image.png

在身份提供商中创建SAML应用#

在专属集成平台中:
1
登录管理控制台
登录专属集成平台管理控制台
2
导航到应用市场
导航至"应用管理"→"应用市场"
3
添加应用
搜索并添加相应的应用(如"阿里云控制台")
4
配置SAML参数
配置SAML应用参数

基本配置#

填写应用名称、选择应用分类
配置首页地址、应用图标等基本信息

SAML登录配置#

关键参数说明:
参数名称配置来源说明
SSO URLSP元数据服务提供商单点登录服务地址
接受者URLSP元数据通常与SSO URL相同
目的URLSP元数据通常与SSO URL相同
SP实例IDSP元数据服务提供商的entityID
用户ID格式自定义选择建议选择"邮箱"
应用用户名自定义选择选择与SP用户标识匹配的字段
image.png
image.png

属性映射#

配置传递给SP的用户属性:
配置项说明配置建议
属性值选择IdP中的用户属性源选择能唯一标识用户的属性
属性名称传递给SP的属性名称根据SP要求设置
属性格式数据格式规范通常选择"不指定"
重写值可选的固定值替换通常留空,使用实际用户属性值

常见属性映射场景#

1.
基本身份映射:传递用户邮箱作为唯一标识
2.
角色映射:传递用户角色信息,用于基于角色的访问控制
3.
组织架构映射:传递部门、职位等组织信息
4.
自定义属性映射:根据业务需求传递特定属性

获取身份提供商的SAML元数据#

1
访问Metadata URL
在完成应用配置后,找到并访问该应用的Metadata URL
2
保存元数据文件
将打开的元数据内容保存为XML文件(如:digitalsee_metadata.xml)

在服务提供商中配置身份提供商#

以阿里云RAM为例:
1
返回阿里云RAM控制台
返回阿里云RAM控制台的"SSO管理"→"用户SSO"页面
2
编辑SSO设置
点击"编辑"按钮,打开SSO设置面板
3
启用SSO
将SSO功能状态设置为"开启"
4
上传元数据
在"元数据文档"部分,点击"上传文件"按钮,上传之前保存的SAML元数据XML文件
5
保存配置
点击"确定"保存配置
image.png

配置用户映射关系#

1
确认用户标识一致
确保IdP用户与SP用户之间的映射关系正确:在服务提供商中,确保用户标识(如登录名、邮箱)与IdP中发送的用户标识一致
2
创建RAM用户
在阿里云RAM中,新建或编辑RAM用户,确保其登录名称与专属集成平台中对应用户的标识(如邮箱地址)一致
3
分配权限
为用户分配适当的权限策略

配置授权范围#

1
进入授权范围
在应用详情页,切换到"授权范围"选项卡
2
选择授权方式
可通过以下方式进行授权:
基于组织架构和用户授权:授权特定部门或用户
基于角色授权(RBAC):通过静态标签(角色)授权
基于用户属性授权(ABAC):通过动态标签(用户属性)授权
3
保存配置
根据企业需求选择合适的授权方式并配置授权范围,保存配置

测试与验证#

测试登录流程#

1
访问SP登录页面
访问服务提供商登录页面(如阿里云RAM用户登录页面)
2
选择企业账号登录
选择"企业账号登录"或同等选项
3
完成认证
系统应自动跳转到身份提供商的登录页面,在身份提供商完成身份认证
4
验证结果
认证成功后,应自动跳回服务提供商控制台

常见问题排查#

问题现象可能原因解决方案
无法跳转到IdPSP的SSO配置未生效检查SP中的SSO设置是否已启用
无法登录到SP用户映射不匹配确认IdP用户标识与SP用户标识一致
权限不足错误SP用户权限配置问题检查SP用户的权限策略配置
SAML响应验证失败元数据配置错误重新上传最新的元数据文件到SP
断言过期IdP与SP时钟不同步同步服务器时间,调整断言有效期

最佳实践#

安全建议#

定期更新SAML元数据,确保签名证书的有效性
使用强密码策略并考虑启用多因子认证
使用HTTPS保护所有SAML通信
加密敏感的SAML断言内容
设置合理的断言有效期限制
严格控制授权范围,只向必要的用户授予访问权限
定期审计访问日志,监控异常登录行为

用户体验优化#

在企业门户中添加应用的明显入口
为用户提供清晰的使用指南
设置合理的会话超时时间
配置友好的错误提示信息
实现无缝的登录体验,减少用户等待时间

管理建议#

建立用户生命周期管理流程,确保员工离职时同步撤销访问权限
实施最小权限原则,根据用户职责分配适当的资源访问权限
定期同步IdP与SP的用户数据,保持一致性
维护配置文档,记录所有关键参数和变更历史
制定应急响应计划,确保SSO故障时仍能维持业务运行

高级特性#

IdP发起与SP发起的SSO#

IdP发起的SSO: 用户先在IdP认证,然后访问SP资源
SP发起的SSO: 用户先访问SP资源,然后被重定向到IdP进行认证
image.png

断言加密#

为保护敏感信息,SAML支持对断言进行加密:
加密整个断言
只加密断言中的特定属性
使用不同的加密算法和密钥长度

会话管理#

SAML提供多种会话管理机制:
全局登出(Single Logout)
会话超时设置
会话状态查询

多IdP与多SP场景#

复杂企业环境中的实施策略:
联邦身份管理
身份代理
元数据聚合与分发

常见问题#

Q:SAML与其他SSO协议(如OAuth2, OpenID Connect)有什么区别?
Q:配置SAML后,是否还能使用用户名密码直接登录服务提供商?
Q:如何处理IdP与SP用户的同步问题?
Q:如果SAML配置有误,如何恢复访问?
Q:SAML是否支持通过角色(Role)进行更细粒度的权限控制?
Q:SAML单点登录是否需要用户在企业网络内才能使用?

附录#

SAML断言示例#

<saml:Assertion
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="_3c39bc0fe7ab" Version="2.0"
    IssueInstant="2024-01-01T12:00:00Z">
    <saml:Issuer>https://idp.example.org</saml:Issuer>
    <saml:Subject>
        <saml:NameID>john.doe@example.org</saml:NameID>
        <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
            <saml:SubjectConfirmationData
                Recipient="https://sp.example.com/acs"
                NotOnOrAfter="2024-01-01T12:10:00Z" />
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Conditions
        NotBefore="2024-01-01T11:55:00Z"
        NotOnOrAfter="2024-01-01T12:10:00Z">
        <saml:AudienceRestriction>
            <saml:Audience>https://sp.example.com</saml:Audience>
        </saml:AudienceRestriction>
    </saml:Conditions>
    <saml:AuthnStatement
        AuthnInstant="2024-01-01T12:00:00Z"
        SessionIndex="_be9967abd904e">
        <saml:AuthnContext>
            <saml:AuthnContextClassRef>
                urn:oasis:names:tc:SAML:2.0:ac:classes:Password
            </saml:AuthnContextClassRef>
        </saml:AuthnContext>
    </saml:AuthnStatement>
    <saml:AttributeStatement>
        <saml:Attribute Name="email">
            <saml:AttributeValue>john.doe@example.org</saml:AttributeValue>
        </saml:Attribute>
        <saml:Attribute Name="role">
            <saml:AttributeValue>admin</saml:AttributeValue>
        </saml:Attribute>
        <saml:Attribute Name="department">
            <saml:AttributeValue>IT</saml:AttributeValue>
        </saml:Attribute>
    </saml:AttributeStatement>
</saml:Assertion>

实用工具与资源#

SAML调试工具:
SAML-tracer (浏览器插件)
SAML Developer Tools (online)
SAML规范文档:
OASIS SAML v2.0规范
参考文档:
阿里云RAM SSO官方文档

术语解释#

RAM: Resource Access Management,阿里云的资源访问管理服务
SAML: Security Assertion Markup Language,安全断言标记语言,用于在不同系统间传递身份认证信息
IdP: Identity Provider,身份提供商,本场景中为专属集成平台
SP: Service Provider,服务提供商,本场景中为阿里云RAM
SSO: Single Sign-On,单点登录
修改于 2026-05-06 13:02:30
上一页
单点登录-OIDC
下一页
单点登录-OAuth2
Built with