9.2. 自动注册
在自动注册中,用户已成功通过身份验证插件模块中设定的方法验证验证后,会立即处理终端注册请求;不需要代理批准。提供了以下身份验证插件模块:
- 基于目录的注册。最终实体使用其用户 ID 和密码其 DN 和密码通过 LDAP 目录进行身份验证。请参阅 第 9.2.1 节 “设置基于目录的身份验证”。
- 基于 PIN 的注册。使用其目录 ID、密码和 PIN 在目录条目中设置的 PIN,对最终用户实体进行身份验证。请参阅 第 9.2.2 节 “设置基于 PIN 的注册”。
- 基于证书的身份验证.某种实体(如服务器或令牌)的实体使用 CA 发布的证书向 CA 进行身份验证,该实体证明其身份。这最常用于续订,其中显示原始证书以验证续订过程。请参阅 第 9.2.3 节 “使用基于证书的验证”。
- AgentCertAuth.如果提交请求的实体作为子系统代理进行身份验证,此方法会自动批准证书请求。用户通过提供代理证书作为代理进行身份验证。如果所提供的证书由子系统识别为代理证书,则 CA 会自动处理证书请求。此形式的自动身份验证可与用于注册服务器证书的证书配置集关联。此插件默认启用,且没有参数。
- 基于文件格式的注册.用于路由器(SCEP)注册,会使用一个文本文件,其中包含 IP 地址、主机名或其他标识符列表,它是一个随机的 PIN。路由器使用其 ID 和 PIN 验证 CA,然后 CA 会将提供的凭证与文本文件中的身份列表进行比较。请参阅 第 9.2.4 节 “配置平面文件身份验证”。
9.2.1. 设置基于目录的身份验证
UidPwdDirAuth 和 UdnPwdDirAuth 插件模块实现基于目录的身份验证。最终用户通过在 LDAP 目录中提供用户 ID 或 DN 和密码来注册证书。
- 创建 UidPwdDirAuth 或 UdnPwdDirAuth 身份验证插件模块并配置实例的实例。
- 打开 CA 控制台。
pkiconsole https://server.example.com:8443/ca
- 在 Configuration 选项卡中,在导航树中选择 Authentication。注意UidPwdDirAuth 插件默认启用。
- 点。此时会出现 Select Authentication Plug-in Implementation 窗口。
- 为用户 ID 和密码身份验证选择 UidPwdDirAuth,或者选择 UdnPwdDirAuth 用于 DN 和密码身份验证。
- 在 Authentication Instance Editor 窗口中填写以下字段:
- 身份验证实例 ID。接受默认实例名称,或输入新名称。
- dnpattern.指定一个字符串,代表主题名称模式,以便根据目录属性和条目 DN 进行公式限制。
- ldapStringAttributes.指定端点实体应被视为身份验证的 LDAP 字符串属性列表。如果指定,与这些属性对应的值将从身份验证目录中复制到身份验证令牌,并由证书配置集用于生成主题名称。此参数输入值是可选的。
- ldapByteAttributes.指定端点实体应被视为身份验证的 LDAP 字节(二进制)属性列表。如果指定,与这些属性对应的值将从身份验证目录中复制到身份验证令牌,供其他模块使用,如向用户证书添加额外信息。此参数输入值是可选的。
- ldap.ldapconn.host.指定身份验证目录的完全限定 DNS 主机名。
- ldap.ldapconn.port.指定验证目录侦听请求的 TCP/IP 端口;如果选择了 ldap.ldapconn.secureConn. 复选框,则应为 SSL 端口号。
- ldap.ldapconn.secureConn.指定身份验证目录监听来自证书证书系统nbsp 的请求的端口类型 SSL 或非 SSL;系统.如果这是 SSL 端口,请选择此项。
- ldap.ldapconn.version.指定 LDAP 协议版本,可以是 2 或 3。默认值为 3,因为版本 3.x 以后所有目录服务器都是 LDAPv3。
- ldap.basedn.指定用于搜索身份验证目录的基本 DN。服务器使用 HTTP 输入的 uid 字段的值(用户在注册表单中输入的用户)和基本 DN 来构造 LDAP 搜索过滤器。
- ldap.minConns.指定身份验证目录允许的最小连接数。允许的可能值为 1 到 3。
- ldap.maxConns.指定身份验证目录允许的最大连接数。可见的值有 3 到 10。
- 点击。身份验证实例已设置并启用。
- 通过为特定证书设置策略,设置证书配置集用于注册用户。通过在证书配置集中配置输入来自定义注册表单,并包括插件验证用户身份所需的信息输入。如果默认输入不包含需要收集的所有信息,请提交使用第三方工具创建的请求。有关配置配置集的详情请参考 第 3.7.2 节 “在 Subject Alt Name 中插入 LDAP 目录属性值和其他信息”。
设置绑定 LDAP 连接
有些环境需要禁止匿名绑定用于身份验证的 LDAP 服务器。要在 CA 和 LDAP 服务器之间建立绑定连接,您需要进行以下配置更改:
- 根据
CS.cfg
中的以下示例设置基于目录的身份验证:auths.instance.UserDirEnrollment.ldap.ldapBoundConn=true auths.instance.UserDirEnrollment.ldap.ldapauth.authtype=BasicAuth auths.instance.UserDirEnrollment.ldap.ldapauth.bindDN=cn=Directory Manager auths.instance.UserDirEnrollment.ldap.ldapauth.bindPWPrompt=externalLDAP externalLDAP.authPrefix=auths.instance.UserDirEnrollment cms.passwordlist=internaldb,replicationdb,externalLDAP
其中bindPWPrompt
是password.conf
文件中使用的标签或提示 ; 它也是optionpasswordlist
和authPrefix
选项下使用的名称。 - 在
password.conf
中添加来自CS.cfg
的标签或提示:externalLDAP=your_password
设置外部授权
还可配置基于目录的身份验证插件来评估用户的组成员资格进行身份验证。要以这种方式设置插件,必须在
CS.cfg
中配置以下选项:
groupsEnable
是一个布尔值选项,用于启用检索组。默认值为false
。基于组
的基本 DN。当它不同于基于默认n
时,需要指定它。- 组是
组的
DN 组件。默认值为ou=groups
。 groupObjectClass
是以下组对象类之一:groupofquenames
、groupofnames
。默认值为groupofquenames
。groupUseridName
是 group object member 属性中用户 ID 属性的名称。默认值为cn
。useridName
是用户 ID DN 组件的名称。默认值为uid
。searchGroupUserByUserdn
是一个布尔值选项,决定是否搜索userdn
或${groupUserIdName}=${uid}
属性的组对象 member 属性。默认值为true
。
例如:
auths.instance.UserDirEnrollment.pluginName=UidPwdDirAuth auths.instance.UserDirEnrollment.ldap.basedn=cn=users,cn=accounts,dc=local auths.instance.UserDirEnrollment.ldap.groupObjectClass=groupofnames auths.instance.UserDirEnrollment.ldap.groups=cn=groups auths.instance.UserDirEnrollment.ldap.groupsBasedn=cn=accounts,dc=local auths.instance.UserDirEnrollment.ldap.groupsEnable=true auths.instance.UserDirEnrollment.ldap.ldapconn.host=local auths.instance.UserDirEnrollment.ldap.ldapconn.port=636 auths.instance.UserDirEnrollment.ldap.ldapconn.secureConn=true
最后,您必须修改
/instance_path/ca/profiles/ca/profile_id.cfg
文件,以配置配置集以使用 CS.cfg
中定义的 UserDirEnrollment
auth 实例,并在适当的情况下为基于组的授权提供 ACL。例如:
auth.instance_id=UserDirEnrollment auths.acl=group="cn=devlab-access,ou=engineering,dc=example,dc=com"