断言是安全断言标记语言(SAML 2.0)最强大的功能之一,使中小企业能够采用单点登录(SSO),平衡了用户体验的便捷性和对 Web 应用的精细化用户权限控制。这些对于具有严格数据安全监管要求的行业都至关重要。本文将介绍断言的基本概念、运行原理、应用方法,以及断言中包含的特定语句。
01
什么是 SAML 断言?
SAML 断言是身份提供程序(IdP)和服务提供程序(SP)之间交换的消息,可以秘密识别用户身份、存在哪些相关信息以及授权访问内容。这些信息既充当了安全条件(如断言的来源),也保证了断言的有效性。断言的编写要用到 XML 模式,该模式提供了画布来明确具体条件,这些条件在 SAML 请求验证成功后会经通信发送,而 SAML 的响应会代替网络共享的用户名和密码发出。
02
XML 文档
断言以 XML 文档的形式进行记录,并在 IdP 和 SP 之间进行标准化通信传输。XML 文档的构成包含针对断言和协议的模式。
断言的编写是一项需要测试和质量保证的编码活动。为此,企业应在单点登录系统的全生命周期维护断言的构成模式。不支持自定义开发的企业可以使用预构建的连接器。
03
SAML 断言语句的类型
断言中的语句可以被分解为特定函数。SAML 2.0 开放标准规定了三种类型的语句:
-
认证语句
-
属性语句
-
授权决策语句
这些语句都封装在 SAML 断言中,为身份和访问管理(IAM)的上线和治理提供了极大的灵活性。下面是三种语句的具体说明。
1)认证语句
认证语句由用户认证系统生成,包含身份验证决策产生的相关信息以及时间戳等日志信息。
2)属性语句
SAML 能传递有关用户的信息,包括所属部门、是否属于具有访问特权的的“VIP”组,以及邮箱等基本联系信息。属性语句可以在自定义应用中创建,并映射回预定义的值。
3)授权决策语句
授权决策语句提供用户的操作权限等详细信息,这里的操作权限包括访问特定网页或应用安全区。举例来说,企业应限制员工隐私信息的访问权限。这也使 SAML 协议独有的功能,OIDC 等其他身份验证协议都不支持这一功能。
04
如何使用断言语句?
断言包含一个或多个不同类型的语句,具体取决于配置目的是只有身份验证还是验证加授权。此外也会有用户定义的语句。断言语句允许系统进行跨域的交互操作,支持为网站创建单点登录 SSO 和基于属性的用户身份认证等服务,并通过在简单对象访问协议(SOAP)消息中共享安全信息来保护 Web 服务。
宁盾内置SSO应用库,简化应用添加。宁盾单点登录 SSO 系统不仅支持 SAML 2.0、OIDC、OAuth 2.0 等国际标准化协议,同时自研 Easy SSO 协议,满足企业 B/S 应用、C/S 应用、无接口应用、不可改造应用或自研应用的单点登录连接,标准化产品交付,最快1天内完成部署。