宁盾身份域管是宁盾自主研发、兼容微软 AD、遵循标准 LDAP 协议的国产化 AD 替代产品,帮企业建立国产化数字身份底座,提供终端、应用和网络的统一访问控制,在提升身份管理效率与安全的同时满足国产化政策要求。
| ND域控 | 宁盾身份域管,是宁盾自主研发、遵循标准 LDAP 协议、兼容微软 AD 的国产化 AD 替代产品。 |
|---|---|
| AM | 是宁盾一体化统一认证系统的缩写,也可称为宁盾身份认证服务,是身份域管的服务端,可作为运维和开发人员的管理平台,是ND域控的“总控”。提供用户身份统一管理、LDAP服务、应用集成、网络接入、安全认证等核心能力。 |
| UC | 用户中心,也叫 "宁盾域控连接服务",是宁盾身份域管的三大组件之一,扮演两个角色:一是 NDA与 AM之间的 "连接中转站",二是员工的 "自助服务门户"。 |
| NDA | 宁盾域控客户端,终端需要安装ndsc才能正常加入nd域控,并且进行终端域身份登录、信息上报、权限管控、组策略等相关管控。 |
| LDAP | 轻量级目录访问协议,用于通过网络访问和维护目录服务中的信息,比如用户、组织、角色等。它的核心是把数据组织成一棵“目录树”,专门优化了“读”操作,特别适合和其他应用对接做统一身份认证。 |
| NDCA | 宁盾证书服务,是宁盾国产域控内置的 CA 机构(证书中心),提供证书管理、证书颁发、证书自动续签、证书吊销等完整的 CA 能力,支持 pfx、cer、crt 等多种证书格式,为网站访问、邮件加密、身份认证提供保护 |
请参考用户管理页面。
自定义属性是位于 "用户" 体系下的一个功能模块,核心作用是对用户、组织、角色三类主体的属性进行扩展。
它支持三类可配置的属性值类型:
string:普通字符串。
布尔:true / false。
long:整数(如 123456)。
另外还提供6种自定义属性生成器,可以生成 UUID、SID 或固定值等类型的属性值:
RandomNumberGenerator:范围内的随机整数。
UUIDGenerator:随机UUID,例如550e8400-e29b-41d4-a716-446655440000。
SidGenerator:AD 风格的随机SID,S-1-5-21开头。
FixedValueGenerator:固定不变的值(所有用户都一样)。
GUIDGenerator:随机GUID。
NULL:不生成任何值,留空。需要自行修改或者同步器同步进来值。
外部系统的字段和本地字段不一定对得上。比如对接 AD、飞书这些外部系统时,它们的字段含义可能和宁盾本地不一样,有些字段含义很重要,但本地没有一个现成字段能承载它的意思—— 拉过来的数据没地方放,就需要放到自定义属性上。
定位到【用户&终端】-【自定义属性】
点击【操作--新增属性组】,名称自定义,类型选择【自定义属性组】,点击【确定】。
创建自定义属性组之后,可以在【用户】、【组织】、【角色】这三个维度来创建自定义属性
在维度内选择【新增属性】来创建自定义属性,
【属性名称】自定义,【类型】和【属性生成器】根据需要选择
创建后会在相关维度属性中看到创建的自定义属性
同样可以在用户、用户组、角色的自设属性中找到该属性
对接 AD、飞书等外部系统时,把系统原生字段无法匹配的拉取数据存储到自定义属性(配合连接器的属性映射使用)。
根据用户、组织、角色维度选择相应的属性映射
点击【新增属性映射】
左边为外部系统的属性名,例如mobile一般是AD类型LDAP中的手机号属性名,右边为对应的AM的本地属性,例如上一步创建的自定义属性value。
在发布ldap服务时,直接为第三方应用对接所需的专属字段提供承载空间。
定位到【ldap服务】-【编辑】相应的LDAP服务-【映射】,展开相应的维度,User对应【用户】,Organization对应【组织】,Role对应【角色】
之后在【Attribute Mapping】中点【+】添加属性对应,左边是发布的LDAP服务中的属性名,右边是对应AM的自定义属性名
objectClass:LDAP 目录中定义「用户类型条目」的对象类,规定了用户条目必须具备的属性集合,是筛选用户类数据的核心条件。user是微软 Active Directory(AD)域的标准用户对象类。一般无需修改。
KeyAttribute:用户条目的唯一标识属性,系统通过该属性定位、匹配单个用户账号。默认为CN,一般无需修改。
Attribute Mapping:属性映射,建立 LDAP 目录属性与AM中字段的对应关系,一般如果需要修改是修改的这个。
| 属性名 | 对应AM属性 | 备注 |
|---|---|---|
| whenCreated | 本地属性 - createTime | 用户创建时间戳。 |
| 本地属性 - email | 用户邮箱。 | |
| uSNChanged | 本地属性 - UpdateTime |
用户更新时间,AM web界面不支持查看。只增大的整数。 |
| sAMAccountName | 本地属性 - loginName | 登录名。 |
| displayName | 本地属性 - personalName | 姓名。 |
| accountExpires | 本地属性 - endTime | 用户的到期时间,时间戳,如果永久有效那就是0 |
| mobile | 本地属性 - mobile | 手机号。 |
| cn | 本地属性 - loginName | 登录名。 |
| title | 本地属性 - title | 岗位。 |
| employeeNumber | 本地属性 - number(工号) | 工号。 |
| modifyTimestamp | 本地属性 - UpdateTime | 用户更新时间,AM web界面不支持查看。时间戳。 |
| whenChanged | 本地属性 - UpdateTime | 用户更新时间,AM web界面不支持查看。时间戳。 |
| company | 本地属性 - company(公司) | 公司。 |
| gidNumber | 本地属性 - gidNumber | 根据用户所属角色的gidNumber决定。 |
| department | 本地属性 - department(部门) | 部门。 |
| userAccountControl | 本地属性 - enabled | 用户是否启用,启用是512,禁用是514。 |
| pwdLastSet |
本地属性 - changePasswordAtNextLogin | 值为时间戳代表密码最后修改时间,值为0代表下次登录需要修改密码。 |
| entryId | 本地属性 - userId | 创建用户时生成的userId,无法在web界面进行修改。 |
| userPassword | 本地属性 - 用户密码 | 用户密码通过ssha256算法计算出的,不可逆。 |
| countryCode | 自定义属性 - countryCode | 国家代码,默认为0。 |
| entryUUID | 自定义属性 - entryUUID | 自动生成,不建议修改,和应用做对接之后如果修改,可能导致用户被应用识别为新用户。 |
| objectGUID | 自定义属性 - objectGUID | 自动生成,同样对接应用后不建议修改。 |
| objectSid | 自定义属性 - objectSid | 自动生成,三部分组成,S-1-5-21是固定的,中间部分同一个ldap服务一致,最后部分和AM中用户的自定义属性objectSid一致。 |
| distinguishedName | 根据用户组织架构自动生成 | 简称DN,用户的绝对路径。 |
| memberOf | 根据用户所属的角色自动生成 | 用户在AM里面属于多少个角色,就有多少条memberOf,是角色的绝对路径(DN)。 |
objectClass:organizationalUnit代表这个是用户组,一般无需修改。
KeyAttribute:系统用来识别「同一个组织单元」的属性。默认为OU,一般无需修改。
Attribute Mapping:属性映射,建立 LDAP 目录属性与AM中字段的对应关系,一般如果需要修改是修改的这个。
| 属性名 | 对应AM属性 | 备注 |
|---|---|---|
| whenChanged | 本地属性 - UpdateTime | 用户组更新时间,AM web界面不支持查看。时间戳。 |
| whenCreated | 本地属性 - createTime | 用户组创建时间,时间戳。 |
| uSNChanged | 本地属性 - UpdateTime | 用户组更新时间,AM web界面不支持查看。只增大的整数。 |
| ou | 本地属性 - name | 用户组名称。 |
| modifyTimestamp | 本地属性 - UpdateTime | 用户组更新时间,AM web界面不支持查看。时间戳。 |
| entryId | 本地属性 - group-id | 创建用户组时生成的group-id,无法在web界面进行修改。 |
| entryUUID | 自定义属性 - entryUUID | 自动生成,不建议修改。 |
| objectGUID | 自定义属性 - objectGUID | 自动生成,不建议修改。 |
| distinguishedName | 根据组织架构自动生成 | 用户组的绝对路径。 |
objectClass:group代表这个是角色,就是AD里面的安全组,一般无需修改。
KeyAttribute:系统用来识别同一个角色的属性。默认为CN,一般无需修改。
Attribute Mapping:属性映射,建立 LDAP 目录属性与AM中字段的对应关系,一般如果需要修改是修改的这个。
| 属性名 | 对应AM属性 | 备注 |
|---|---|---|
| whenChanged | 本地属性 - updateTime | 角色更新时间,AM web界面不支持查看。时间戳。 |
| whenCreated | 本地属性 - createTime | 角色创建时间,时间戳。 |
| uSNChanged | 本地属性 - updateTime | 角色更新时间,AM web界面不支持查看。只增大的整数。 |
| name | 本地属性 - name | 角色名称。 |
| description | 本地属性 - description | 角色描述。 |
| cn | 本地属性 - name | 角色名称。 |
| modifyTimestamp | 本地属性 - updateTime | 角色更新时间,AM web界面不支持查看。时间戳。 |
| entryId | 本地属性 - role-id | 角色ID,创建角色时自动生成,无法在AM web界面修改。 |
| entryUUID | 自定义属性 - entryUUID | 自动生成,不建议修改。 |
| gidNumber | 自定义属性 - gidNumber | 和用户gidNumber属性有联动。 |
| objectGUID | 自定义属性 - objectGUID | 自动生成,不建议修改 |
| objectSid | 自定义属性 - objectSid | 自动生成,三部分组成,S-1-5-21是固定的,中间部分同一个ldap服务一致,最后部分和AM中角色的自定义属性objectSid一致。 |
| groupType | 自定义属性 - groupType | 安全组标记,根据最后一位分类 -2147483646:全局安全组 -2147483644:域本地安全组 -2147483640:通用安全组 AM创建角色默认为全局安全组 |
| distinguishedName | 根据角色组织架构自动生成 | 角色的绝对路径。修改需要在AM的用户源中修改角色路径。 |
| member | 根据这个角色的用户和附属角色自动生成 | 比如test1有用户test和附属角色test2,那么就有两条member,是用户和附属角色的绝对路径(DN)。 |
| memberOf | 根据角色所属的角色自动生成 | 比如test2是test1的附属角色,那么test2的memberOf就是test1的绝对路径(DN)。 |
objectClass:LDAP 目录中定义「用户类型条目」的对象类,规定了用户条目必须具备的属性集合,是筛选用户类数据的核心条件。intOrgPerson是OpenLdap的标准用户对象类。一般无需修改。
KeyAttribute:用户条目的唯一标识属性,系统通过该属性定位、匹配单个用户账号。默认为cn,但是OpenLdap类型也有用uid的,可以根据情况按需修改。
Attribute Mapping:属性映射,建立 LDAP 目录属性与AM中字段的对应关系,一般如果需要修改是修改的这个。
| 属性名 | 对应AM属性 | 备注 |
|---|---|---|
| uid | 本地属性 - loginName | 登录名。 |
| 本地属性 - email | 用户邮箱。 | |
| displayName | 本地属性 - personalName | 姓名。 |
| shadowExpire | 本地属性 - endTime | 用户的到期时间天数,如果是-1为永不过期。 |
| mobile | 本地属性 - mobile | 手机号。 |
| cn | 本地属性 - loginName | 登录名。 |
| sn | 本地属性 - loginName | 登录名。 |
| employeeNumber | 本地属性 - number(工号) | 工号。 |
| userAccountControl | 本地属性 - enabled | 用户是否启用,启用是512,禁用是514。 |
| entryId | 本地属性 - userId | 创建用户时生成的userId,无法在web界面进行修改。 |
| userPassword | 本地属性 - 用户密码 | 用户密码通过ssha256算法计算出的,不可逆。 |
| entryUUID | 自定义属性 - entryUUID | 自动生成,不建议修改,和应用做对接之后如果修改,可能导致用户被应用识别为新用户。 |
| entryDN | 根据组织架构自动生成 | 用户的绝对路径。 |
| memberOf | 根据用户所属的角色自动生成 | 用户在AM里面属于多少个角色,就有多少条memberOf,是角色的绝对路径(DN)。 |
objectClass:organizationalUnit代表这个是用户组,一般无需修改。
KeyAttribute:系统用来识别「同一个组织单元」的属性。默认为ou,一般无需修改。
Attribute Mapping:属性映射,建立 LDAP 目录属性与AM中字段的对应关系,一般如果需要修改是修改的这个。
| 属性名 | 对应AM属性 | 备注 |
|---|---|---|
| ou | 本地属性 - name | 用户组名称。 |
| entryId | 本地属性 - group-id | 创建用户组时生成的group-id,无法在web界面进行修改。 |
| entryUUID | 自定义属性 - entryUUID | 自动生成,不建议修改。 |
| entryDN | 根据组织架构自动生成 | 用户组的绝对路径。 |
objectClass:posixGroup代表这个是角色,一般无需修改。
KeyAttribute:系统用来识别同一个角色的属性。默认为cn,一般无需修改。
Attribute Mapping:属性映射,建立 LDAP 目录属性与AM中字段的对应关系,一般如果需要修改是修改的这个。
| 属性名 | 对应AM属性 | 备注 |
|---|---|---|
| cn | 本地属性 - name | 角色名称。 |
| entryId | 本地属性 - role-id | 角色ID,创建角色时自动生成,无法在AM web界面修改。 |
| entryUUID | 自定义属性 - entryUUID | 自动生成,不建议修改。 |
| entryDN | 根据角色组织架构自动生成 | 角色的绝对路径。修改需要在AM的用户源中修改角色路径。 |
| member | 根据这个角色的用户和附属角色自动生成 | 比如test1有用户test和附属角色test2,那么就有两条member,是用户和附属角色的绝对路径(DN)。 |
| memberOf | 根据角色所属的角色自动生成 | 比如test2是test1的附属角色,那么test2的memberOf就是test1的绝对路径(DN)。 |
定位到【策略&设备】-【策略】
点击【新增】
【名称】自定义,【类型】选择LDAP,【用户源】根据需要选择,点击【保存】完成
定位到【用户&终端】-【LDAP服务】
点击【新增】
【名称】自定义;【认证策略】选择之前创建的LDAP类型策略;【Base DN】根据客户需求填写,例如:DC=nington,DC=com;【LDAP类型】根据对接应用情况决定,分为AD和OpenLdap两种;【登录名后缀】可以用于辅助登录,建议设置,比如nington.com;【优先地址段】根据环境设置,建议包含对接应用的IP地址;其余配置如果没有特殊情况说明保持默认即可。之后点下一步即可。
【属性】一般无需修改,直接点击【下一步】
【ObjectClass】一般无需修改,直接点击【下一步】
点击时AD类型LDAP服务会提示自动创建属性,点击【创建】即可
点击【完成】开始进行发布LDAP服务
之后会进入【权限管理】界面,具体权限可以根据客户需求来,建议一开始给所有用户【只读】权限
| 操作系统 | 版本 | 组策略支持状态 | 备注 |
|---|---|---|---|
| windows | win7/10/11 | 支持 | |
| winserver | Winserver 2012及以上 | 支持 | |
| 麒麟 | V10桌面版 | 支持 | |
| 统信 | V20桌面版 | 支持 | |
| 鸿蒙 | 6.1.0以上 | 支持 | 支持锁屏和桌面壁纸 |
安装UC,安装完成后修改uchome/local/defaultApp.conf,修改address为AM的IP,进入站点内-应用-用户中心-基本配置,修改tenant.id为用户中心-基本配置里的站点ID,修改tenant.sharedSecret为应用-用户中心-基本配置的共享密钥
进入站点内-应用-用户中心-访问配置-UC服务器列表,配置UC服务器,地址为UC服务器的地址
域控计算机系统支持说明:
Windows 10及以上、麒麟 V10及以上、统信OS V10及以上
Windows系统详细版本要求:win 10 2000及以上
麒麟系统详细版本要求: 2303及以上
统信系统详细版本要求:1050及以上
麒麟终端注意点:因当前安装包未公开签名,所以请在“配置-安全中心”中关闭下图的两个选项。
在需要被管控的计算机中安装NDA客户端;
安装完成后,弹窗提示需要输入加域码:
入口
创建计算机数据
创建完成后,未加域
见上图“创建计算机数据”,策略组默认用户关联策略为:“加域时绑定”,所以提前配置过绑定用户,加域后该用户可登录该计算机。
可通过该页面确定可登录用户,且可以编辑可登录用户账号。
在计算机中,打开NDA的面板,选择管理员加域。
输入上一步创建的账号和密码,验证成功后,完成加域。
加域成功后,将自动在ND域控管理平台的计算机列表中创建计算机,使用A-hostName-四位随机数 组成名称。
进入计算机详情中,添加关联用户,可以登录该计算机。 (可在本地权限处设置其登录计算机后是否拥有管理权限)
稍等是为了保证,计算机证书可以顺利下发。
在策略信息页面,点击刷新配置,确认是否有报错,如果没有报错说明Https配置无误;
刷新成功后,最新的组策略和UC连接配置,将下发到该计算机。
注意点:
!!!加域完成后,请重启计算机。
麒麟系统请使用注销当前用户。
终端请记得关闭自动登录选项。
前提:
计算机已加域;
计算机已重启;
用户已与计算机建立绑定关系;
排错进阶:手动在计算机详情中,再关联一个用户,进行登录尝试;
排错进阶:确认计算机关联的策略组中认证策略中的用户源和策略的正确性;
重启计算机后,使用关联的宁盾域账号即可进行登录。
注意:重启后,判断页面是否被宁盾域控接管。
windows接管登录页
麒麟kylin接管登录页
统信uos接管登录页
相关内容待更新。
| 操作系统 | 系统日志路径 | 登录日志路径 | dump数据路径 | 数据库路径 | Gui日志路径 |
|---|---|---|---|---|---|
| Windows | C:\Windows\Temp\nda.log |
C:\Windows\Temp\nda-syslogin.log |
C:\ProgramData\nda\crashdump |
C:\ProgramData\nda\database | C:\Users\登录名\AppData\Local\Temp\nda-gui-登录名.log |
| Kylin | /var/log/nda.log |
/var/log/nda-syslogin.log | 无 | /var/lib/nda/database |
/tmp/nda-gui-登录名.log |
| Uos | /var/log/nda.log | /var/log/nda-syslogin.log | 无 | /var/lib/nda/database | /tmp/nda-gui-登录名.log |
也可通过NDA页面,一键上传日志后,从AM-运维中心下载日志。