宁盾统一身份认证与终端准入解决方案.docx
- 文档编号:25331867
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:21
- 大小:699.27KB
宁盾统一身份认证与终端准入解决方案.docx
《宁盾统一身份认证与终端准入解决方案.docx》由会员分享,可在线阅读,更多相关《宁盾统一身份认证与终端准入解决方案.docx(21页珍藏版)》请在冰豆网上搜索。
宁盾统一身份认证与终端准入解决方案
一、项目背景
1.概述
统一身份认证并不是什么新概念,它在企业信息化建设过程中一直被提及,是企业不断发展的必然结果。
粗浅来说,统一身份认证是在企业多应用系统并存的环境下,减少用户在各个独立的应用系统中登录次数的技术。
但因各业务系统建设时间各不相同,再加上系统架构等技术实现问题,很难简单地做统一规划。
在企业高速发展阶段,考虑到耗资不小的系统集成和管理、数据改造、用户培训等方面的成本,企业往往选择暂时搁置统一身份认证问题,而是沿袭传统的系统建设模式,即各业务系统独立用户认证模块,并使用独立的认证机制在各自的数据库中进行用户认证,即便这种系统建设模式有很多弊端。
在企业发展进入稳定期后,各业务系统独立分散的局面所带来的弊端逐渐突出,用户身份分散隔离,用户账号管理不方便、用户资料不统一等等不一而足,造成企业身份管理成本和管控风险的几何倍增加、员工登录各业务系统操作繁琐。
为了能使用这些应用服务,同一用户必须申请多套账号和密码,这不仅登录麻烦而且容易出现账号密码丢失、泄露等安全问题。
且随着互联网发展,安全边界日益扩大,员工、外包、合作伙伴、供应商混杂,账号安全风险日益增加,业务系统身份安全要求越来越高。
而对于管理员来说,需要不断来维护所有系统中分散着的账号。
这意味着每当有新入职或岗位调动,就必须在对应的每个应用中分别创建/修改账号,分配用户权限,而企业应用系统还会增加,所带来的身份管理工作还会不断增加。
应用越多则账号创建和维护的成本就越高。
企业寻求能解决以上多应用系统并行、多账号源共存所带来的操作不便、账号安全、管理困难等一系列问题的有效方案。
统一身份认证和单点登录作为目前主流的业务整合解决方案,被企业正式提上了日程。
2.关键点
统一身份管理将分散在各业务系统中的用户和权限资源进行统一、集中的管理,用户的统一认证和单点登录改变原本孤立化的身份认证及授权管理,方便管理员进行运维管理工作,简化用户访问内部各系统的过程,使得用户只需要通过一次身份认证过程就可以访问具有相应权限的所有资源。
统一身份认证方案主要解决如下关键问题:
单点登录
用户在访问整个网络中的业务系统时,只有一次主动地身份认证过程,之后就可以自如地在各业务系统中自由切换,省去多次输入用户名和密码进行身份认证的操作过程。
用户存储
将各应用系统中的用户信息进行集中管理,建立一个统一的用户身份信息存储库,避免多套账号密码造成的用户信息的冗余,也方便管理员做管理和维护。
主要采用的方式是目录服务。
业务系统整合
整合所有业务系统,提供统一的身份认证,由统一身份认证系统将用户的登录信息与身份信息存储库(目录服务)做比对,以认证用户身份。
各应用系统无需再独立开发用户认证模块以及建立各自的身份信息库。
统一身份认证系统还应负责检验单点登录用户token的合法性。
安全认证
提供安全的身份认证机制,确保拥有访问权限的用户才能进入业务系统,减少未授权用户盗取、破坏企业业务信息的可能性,最常见的方式是借助双因素认证技术来保障用户登录身份安全。
权限管理
对各应用系统中的用户权限进行统一管理,而不是直接在各业务系统内分别进行授权。
按照权限将用户划分成不同的角色、用户组等,对角色、用户组进行集中授权。
生命周期管理
良好的身份管理系统,建立在账号生命周期管理之上。
账号生命周期管理是指从新用户进入后的账号新建、启用、分组、分角色、权限申请、审批、更改等,到人员离开后账号的冻结、注销,形成一个完整的管理流程。
二、身份管理方案
1.方案概述
身份管理这一概念自提出起主要涉及三个主题:
认证、存储以及管理,依次解决的是判断一个用户是否为合法用户、如何存储用来判断用户合法性的身份信息、如何管理这些身份信息等问题。
相对应的,在业务场景下,统一身份管理主要探讨的仍然是以上三个问题,但要求实现“统一”,即整合认证、统一身份信息存储及账号生命周期管理。
整合认证是指整合各独立应用系统的认证方式及分离于各应用的身份认证过程,实现统一认证;统一身份信息存储是指建立一个统一的用户身份信息库,负责存储分散在各应用中的用户身份信息;账号生命周期管理是指建立用户账号的创建、变更到注销/冻结的完整统一的管理流程。
这就好比我们每个人刚出生时派出所户籍管理处会其编制一个独一无二的公民身份证号码,作为唯一身份标识。
以后该公民银行开户、办理护照等都需要核验身份证来证明其身份。
而大家的身份信息
都统一存储在全国公民身份信息系统中。
如果身份信息发生更改,如户籍地址(也是身份证上的“住址”),需要到派出所办理相应手续后领取新的身份证,而被更改的信息也会在全国公民身份信息系统做相应的更新。
在上述描述中,我们去银行开户、办理护照等用身份证来证明身份,就是一次次身份认证的过程。
而身份证号码作为唯一的身份标识、身份证作为唯一的证明工具,可以既能用于办理银行开户又能办理出入境手续,就是整合认证(当然并非IT意义上的)。
全国公民身份信息系统用来统一存储大家的身份信息,也就是建立了统一的用户身份信息库。
而我们自出生起伴随一生的公民身份证号码按国家标准被编制生成、以及按照预先规定好的流程办理户籍地址更改,就是账号生命周期管理的具体体现。
集中解决业务场景下统一身份管理的整合认证、身份信息存储、账号生命周期管理三大问题,来建立完整、持续的统一身份认证和管理体系。
1)方案架构
整合认证:
不论企业总部还是分支,所有终端用户访问各业务系统,统一通过Portal门户来进入。
用户操作平台(UserCenter)向身份认证平台(DKEYAM)发送认证请求。
身份认证平台(DKEYAM)调取LDAP服务器/DB数据库中存储的身份信息并进行验证。
仅一次身份验证通过后,用户即可访问所有业务系统,而不需要切换到每个业务系统中做多次重复验证。
身份信息存储:
借助LDAP或DB数据库存储用户身份信息,形成身份信息库,包含了用户基本信息(如工号、姓名、性别等)、用户类型(如员工、代理商、外包等)、职能信息(如岗位、部门、职级等)、属性信息(如身份证号、家庭地址等)、认证信息(如账号密码等)、授权信息(如角色、分组等)。
企业一般采用身份信息库的工号/用户ID等作为用户的唯一身份标识,映射到各应用系统中。
账号生命周期管理:
借助流程引擎,如BPM(BusinessProcessManager业务流程管理)或OA(OfficeAutomation办公自动化),连接HR及其他各业务系统,为不同类型的用户(如员工、外包、供应商等)自定义账号创建、审批等业务流,形成与企业自身业务相匹配的生命周期管理流程。
当有新人员进入时,企业为其在HR系统中新增一条身份数据,这时针对该用户的账号生命周期管理流程启动。
流程引擎在探测到该数据后,驱动LDAP或类似服务创建对应账号并存储在用户身份信息库中。
然后各业务系统根据流程引擎的预定义,以用户的唯一身份标识来创建各自的账号。
同理,流程引擎探测到该用户的身份信息发生变更,会驱动各业务系统自动/半自动同步更新。
后文会详细说明流程引擎的概念和作用。
账号生命周期管理的自动化程度,受制于企业当前业务逻辑、各业务系统弹性、企业信息化程度等诸多现实因素。
2)方案组件
架构中各组件之间相互支撑协作,主要负责:
DKEYAM:
基于SSO协议(如标准OAuth2.0、SAML、CAS、OIDC及
EasySSO协议等)与各业务系统对接,接管各业务系统身份认证;通过LDAP目录服务或DB中存储的用户数据和权限,并为用户提供统一认证、访问控制、授权管理及双因素认证等服务。
LDAPServer/DB数据库:
是整个方案的身份信息数据中心,作为账号源负责账号的统一存储(如AD、IBMTDS等),为DKEYAM提供用户身份数据源并提供同步服务。
UserCenter:
作为用户登录认证门户Portal的后端服务器,提供各应用系统的统一登录,为终端用户存储应用列表及提供如账号密码修改、令牌绑定等自助服务。
门户Portal为终端用户提供多业务系统的SSO单点登录入口,并负责传递单点登录用户token,是统一身份认证过程中终端用户唯一能直观感知到的。
方案中DKEYAM作为身份管理的核心组件,必须由提供。
UserCenter也是由提供,在企业已有Portal门户的情况下可根据需求沿用原有组件。
其他组件可灵活配置,具体在后文会有针对性地做描述。
方案将UserCenter分离在DMZ区,其他组件放置在内网,目的是分离账号/业务系统的非关键数据及核心数据,从而提高系统的安全性,也有利于执行负载均衡和高可靠的实现。
2.名词解释
1)单点登录(SingleSignOn)
在跨业务系统访问中,用户只需登录一次,认证通过后就可以访问权限内的其他所有业务系统的机制,即单点登录。
在单点登录流程中,当用户第一次
主动访问时,需要做身份信息认证,如果认证通过则AM认证系统返回一个token给用户,用户访问其他应用时,只需要带上这个token作为自己的凭证即可,AM认证系统负责检查该token的合法性,如果合法,则用户不需要重演登录过程就可以访问。
为了实现SSO则必须为多应用统一提供一个的单一登陆点,即SSO单点登录门户Portal。
在统一身份认证过程中,SSO门户是用户访问各应用并进行身份认证的唯一入口,给出用户访问登录页面,依据用户身份授权信息显示用户能够访问的所有应用,并负责各应用间传递单点登录token。
2)轻量级目录访问协议(LDAP)
要实现统一身份认证系统,就需先解决用户账号信息、授权信息的统一存储和管理。
目录服务很好地解决了这个问题,它就像一部字典,能够对公司中的人员身份进行结构化存储,并提供快速的查询,有了它可以统一管理大量用户。
轻量级目录访问协议LDAP(LightweightDirectoryAccessProtocol),是基于X.500标准的轻量级的目录服务,以树形结构存储信息,实现对组织、部门、人员、策略及其他资源的集中、分层、分组管理,具备访问控制灵活、查询效率高等特点。
作为一个开放的目录服务标准,LDAP已成为企业身份管理的事实性标准。
LDAP优越的互操作性和兼容性,可以帮助企业搭建一个统一的身份管理框架,并具有强大的跨应用管理能力,为企业其他系统共享资源提供基础。
市面上主流的目录服务产品有IBMTivoli、MicrosoftAD、NovelleDirectory、ForgeRockOpenDJ等。
3)单点登录协议
企业迫切要求将繁多的业务系统进行整合,实现统一管理、统一认证。
必须具有一套标准,来实现各个应用与门户的集成,这就是单点登录协议。
不同的应用系统支持的SSO协议也会有差异。
目前市面上主流的标准化SSO协议有OAuth2.0、SAML、CAS、OIDC等。
一般商用应用软件在设计之初就考虑到了未来的单点登录需求,能支持至少一种标准SSO协议。
也建议尽量采用标准协议来对接。
但并不是所有的应用系统都能够实现标准SSO,对那些不符合SSO规范的应用系统,也需要提供相应的集成办法。
总的来说,统一身份认证系统必须能提供对各业务系统的对接集成,不论是外采的还是企业自建的、遗留的还是新建的,后文会具体说明是如何解决业务系统对接。
4)双因素认证
身份认证(Authentication)是对用户身份进行认证的过程,以判断出该用户是否可以访问或使用某些系统资源。
身份认证在整个信息安全中占据着很重要的位置,是其他安全机制的基础。
SSO门户作为用户访问所有业务系统的唯一入口,一个账号打通所有应用,账号安全的重要性可想而知。
再加之为适应包括供应商、外包、合作伙伴、员工移动办公等多类型人员的访问需求,SSO门户通常直接暴露至公网,账号密码泄露、破解风险时刻存在。
为使用户身份得到更高的安全性,在用户输入账号密码登录门户时,通常会借助双因素认证技术,额外增加一层认证因子,如动态口令令牌、扫二维码等。
动态口令双因素认证,通过为用户提供随机的数字密码来二次验证用户身份,该密码随着时间自动变化,具有唯一性,从而加固了用户账户安全。
5)权限管理
身份与权限相伴而生。
谈到身份,必然会涉及权限。
在系统中预设安全规则或者安全策略,从而使用户可以访问且只能访问自己被授权的资源,就是权限管理。
分散的多业务系统下,其权限管理也是分散的,这势必给系统管理员带来大量不必要的管理操作。
因此统一身份认证系统应支持对各业务系统的资源访问权限控制,利用集中的用户及相关应用信息,实现集中的访问控制管理、策略下发。
统一权限管理分为三个等级。
一级权限管理仅实现对用户的粗粒度控制,即用户是否具有访问某应用的权限,形成用户在Portal门户的应用列表。
二级权限管理基于RBAC模型(基于角色的访问控制Role-BasedAccessControl),身份管理系统通过向各业务系统返回用户角色,角色与权限匹配,实现中粒度权限。
三级权限管理需要梳理各业务系统建立统一的权限管理策略标准,并将权限粒度精确到对象,实现细粒度权限。
越高级别的权限管理,企业对应用系统的管控力度越强,但要求对应用系统的改造量越大、实施周期更长,项目风险也就越大。
在实际业务模型中,大多数统一身份认证系统能做到的,是基于用户角色/用户组的中粗粒度的权限控制。
如可以授予角色为“管理员”的用户在相应的业务系统中拥有管理员权限,或设置仅在“财务”组的用户可访问那些财务部门内的应用系统。
大型企业系统业务场景多变、业务对象庞杂,业务系统的功能和数据可能不断新增和变更,权限也在随之变化,存在许多业务系统自身独有的权限术语或者自定义的权限对象(如HR的人事层级关系、VPN的网段),难以统一地规整到一个身份管理系统中去,因此更细粒度的权限管理需要在各业务系统内单独设定。
6)流程引擎(WorkFlowEngine)
企业级的工作流体系,往往需要跨越多个服务器或业务系统。
流程引擎(如BPM、OA)连接各业务系统,根据业务逻辑定义工作流流程,并负责驱动流程流动和控制流动路径。
在身份管理中,流程引擎负责身份管理业务流、审批流的设计和执行,可将多业务系统的身份管理工作集成起来,针对企业业务逻辑,根据角色、分工和条件或其他决定信息的不同,设计不同的身份管理流程标准,以适应多变的流程需求,帮助企业形成账号生命周期管理体系,并实现身份管理工作的自动化/半自动化。
企业未来还将有越来越多的应用系统加入到统一身份认证系统中,借助流程引擎建立账号生命周期管理流程对此也具有相当的积极意义。
标准架构下借助流程引擎实现的账号管理流程:
上图并不能完全体现真实的账号管理流程,企业实际业务流往往千变万化,如账号创建需经过若干层的审批、通知员工的过程也许是口头或其他线下方式、不同员工离职需办理不同手续并走审批流程,凡此种种,不一而足。
并非所有账号管理流程都可以经过BPM/OA,实现自动化流转。
在已具备流程引擎的企业,统一身份认证系统需其对接,结合企业各系统资源,灵活配合和优化身份管理。
在尚未引入流程引擎的企业,统一身份认证系统应具备自定义开发能力,切入企业实际账号生
命周期管理工作中,连接各业务系统,承担流程引擎的工作,帮助企业建立合理、有效的身份管理流程体系。
3.身份管理系统
1)产品组成
身份管理系统旨在通过简单有效的方法,将企业各个业务系统进行集成,统一用户身份管理,并提供统一的登录认证入口,实现用户只要一次登录就能访问系统权限范围内的所有业务系统。
系统共包含两个组件,统一身份管理平台(DKEYAM)及终端用户操作平台(UserCenter)。
DKEYAM为运维及开发人员提供身份管理平台,负责统一对接所有业务系统,实现统一的登录认证,并负责账号统一管理、账号映射、权限管控及安全认证。
UserCenter作为SSO单点登录门户,负责为用户终端提供统一的web访问页面,门户内存储该用户访问权限内的各应用访问链接,是用户统一登录、访问各应用、实现单点登录的系统。
DKEYAM和UserCenter可帮助企业实现多业务系统集成和单点登录,简化用户登录过程,在方便用户使用的同时,也减轻了系统管理的工作负担,借双因素认证还极大地保障了系统的安全性,解决了复杂应用环境下用户来回切换应用登录不方便(多次登录)、登录不安全(多套账号/密码)的问题。
使用身份管理前,用户需输入对应的帐号密码分别登录各业务系统;
使用身份管理后,用户一次认证即可实现所有业务系统的登录。
双因素认证可提供动态密码加固用户访问安全。
2)认证逻辑
用户首次访问认证系统某应用的流程是:
1用户在浏览器登录Portal门户;
2UserCenter向DKEYAM认证服务器发送登录认证请求;
3AM认证服务器向LDAP目录服务器查询用户信息;
4LDAP目录服务将用户身份信息返回给AM认证服务器;
5AM认证服务器向用户返回认证结果、授权信息及SSOtoken;
6认证通过后,用户进入Portal门户,获得权限范围内的应用登录入口;
7用户从门户点击具体某个应用的访问入口,Portal门户传递token;
8DKEYAM验证应用所携带的token及用户信息;
9验证通过,用户获得对该应用的访问权限,至此完成单点登录过程。
3)功能模块
身份管理系统设计
a)统一认证门户
单点登录Portal门户集中展示了企业所有业务系统,是最终用户访问各应用并单点登录的唯一入口。
用户在门户内可以看到其有权访问的应用列表,直接点击应用图标就可实现访问。
通过以下三种方
式提供Portal门户:
1系统自带门户,为默认的通用门户,Portal界面简洁,支持个性化图标排序,并支持应用归类分组,企业LOGO可替换。
保障了访问的便利性,也满足了企业的一些个性化使用需求。
2与企业内部自建办公网站/web应用进行整合,将其他业务系统集成到该网站/web应用,形成企业自建Portal门户。
3与专业的商用portal系统整合,如IBM、ForgeRock、Oracle等,在原有Portal门户系统中实现单点登录功能。
另外,可与企业现有的钉钉/企业微信或自开发的移动办公平台对接,嵌入SSO门户,实现移动端用户的统一认证。
对接企业微信范例:
不论是哪种Portal门户,都会面临如何以尽量少的改造成本将
老的、未纳入的应用集成在Portal门户中的问题。
b)统一应用接入
身份管理通过单点登录协议与不同的业务系统对接,建立信任关系,使用户在一个应用登录后,可以访问相应的应用系统群,而无需每次访问业务系统都要使用不同的账号和密码进行一次登录。
支持主流SSO标准,并提供自研EasySSO协议,降低应用对接成本,实现本地、云应用及企业自研发等所有应用系统的统一接入和认证。
具体按应用自身情况以下面三类方式进行对接:
对接方式
说明
标准协议
一般商业软件会采用如OAuth2.0、SAML、CAS、OIDC等标准协议对接,如泛微OA、北森HR、帆软报表系统、阿里钉邮、ERP(SAP、Oracle)、财务(用友、金碟)、办公(Office365)
EasySSO
对于不支持标准协议,但具备二次开发能力的,建议通过EasySSO对接。
EasySSO是自研的的简单SSO对接协议。
与SAML对比,更灵活更方便。
密码代填
对于不支持标准协议以及无法二次开发的老旧应用,通过密码代填方式对接。
缺点是需要管理各个业务系统密码。
c)统一账号存储
简单来说,身份管理实现了一个账号打通企业多业务系统的过程,从而使最终用户无需再记忆多套账号和密码。
在企业内已运行着一套相对良好的账号存储、管理工作体系的情况之下,通常建议客户借助轻量级目录服务LDAP来构建统一的用户身份信息库,与企业的各应用系统账号关联,来实现账号的打通过程。
(实际上大型企业一般都建设了AD或其他LDAP目录服务)这时能通过同步AD/LDAP账号源,为企业提供账号改密、令牌绑定等自服务管理,从而节约账号及密码管理成本。
但这是较为理想的状况。
在实际业务场景中,企业当前的账号往往零散在各处、账号管理毫无章法、各应用间账号关联很弱。
梳理账号并建立相对完善的统一存储体系对企业来说工作量巨大、代价极高。
这时会通过账号映射,来承担起账号存储工作。
具体见下一小节。
d)统一账号映射
身份管理可创建一个唯一一个主账号源体系,并通过姓名、手机号、邮箱、身份证号等属性与各应用之间的账号身份进行关联映射,以达到统一身份和单点登录的效果。
主账号源根据企业实际情况而定,选取的标准有:
覆盖面较广,能囊括多数用户;身份信息较全,有更多的关联属性。
从预先选定好的用户数据较全面的应用系统或HR系统或
AD/LDAP中同步用户信息作为主账号源。
再根据定义好的策略,实现与其他应用系统的用户属性字段的映射匹配,支持批量自动映射或单个映射。
可同步用户分组/角色等信息,实现用户权限自动分配,从而方便对单点登录认证的授权和各应用系统权限的授权。
当用户使用尚未同步至系统的账号初次登录时,会自动为该用户创建账号作为主账号源,这样在系统运行后逐步地消除零散账号,从而建立统一的用户身份信息库。
在账号源上,支持本地账号,兼容企业AD/LDAP等外部账号源,支持关联微信、钉钉等社交账号,及SAAS和公有云应用账号。
以LDAP目录服务或以平台来作为用户身份信息库,这二者互不冲突,企业可以选择并行,保留当前已建立的AD/LDAP或类似系统,渐进式地平滑过渡到,减轻对现有业务流的挫伤,减少企业整改成本。
e)账号生命周期管理
账号生命周期,是指用户从进入到离开的整个过程中,用户身份信息及账号的创建、变更、注销/冻结的完整过程。
更建议企业借助专业的流程引擎,将多业务系统的身份管理流程一体化集成起来,建立
身份管理流程体系,实现账号全生命周期管理。
以账号的创建流程为例,员工刚入职时企业会在HR或类似系统中建立员工信息,流程引擎可将HR系统中的员工信息流转至AD/LDAP目录服务或其他统一身份信息库中,AD/LDAP为员工创建在目录中的唯一身份及相应的权限。
根据此唯一身份标识,通过流程引擎预先设计好的后续流程,可全自动、或走申请-审批流程后半自动地为用户在各业务系统中创建账号与做相应的授权。
身份管理可对接流程引擎,成为企业身份管理流程中的一环。
如可在新进人员的账号创建后,为该账号自动绑定动态令牌,提供用户身份的二次验证,实现安全加固。
在人员离开/员工离职后,当企业内部对用户身份做变更后,可自动更改员工账号状态为“无效”,用户对所有应用的访问权限同时失效,实现自动禁用。
另外,UserCenter可为用户提供密码修改、激活动态令牌等自助服务,减轻企业的账号管理劳动。
对尚不具备流程引擎的企业,支持二次开发以代替流程引擎,结合企业当前账号管理模式,在为企业建立统一的用户身份信息库的基础上,帮助企业建立身份管理流程标准和实现账号生命周期管理。
4)负载均衡与高可用
利用Heartbeat/Keepalive服务为DKEYAM认证服务进行高可用部署。
DKEYAM之间通过主从复制方式进行数据的实时同步。
在正常情况下,当主机出现异常时,服务ip自动切换到备机进行工作,对业务不产生影响。
UserCenter提供无状态服务,本身不存储任何关键业务信息,利用负载均衡器实现系统负载均衡。
部署架构:
4.方案优势
1)安全认证
提供完善的双因素认证产品,帮助企业加强用户身份安全。
动态密码安全认证:
在单点登录过程中,通过在账号密码认证的基础上增加动态密码,形成身份认证安全加固。
动态令牌支持手机令牌、企业微信/钉钉H5令牌、硬件令牌、短信令牌等多令牌形式。
还可兼容第三方令牌形式(如RSASecurID、GoogleAuthentication等),接管第三方令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统一 身份 认证 终端 准入 解决方案