LDAP 验证允许在 LDAP 目录中有条目的用户登录到 SGD。
默认情况下,此验证机制处于禁用状态。
本节包括以下主题:
在 SGD 登录屏幕中,用户键入用户名和密码。用户名可以是以下任意项:
通用名,如 Indigo Jones
用户名,如 indigo
电子邮件地址,如 indigo@example.com
SGD 将在 LDAP 目录中搜索属性与用户键入的用户名相匹配的 LDAP 对象。默认情况下,SGD 搜索以下属性:
cn
uid
mail
如果未找到 LDAP 对象,则尝试下一个验证机制。
如果找到了 LDAP 对象,SGD 使用该 LDAP 对象的名称和用户键入的密码执行绑定。如果绑定失败,则尝试下一个验证机制。
如果验证成功,SGD 会在本地系统信息库中搜索用户配置文件,有关详细信息,请参见第 2.4.1.1 节 “用户身份和用户配置文件”。如果用户配置文件的 "Login"(登录)属性未启用,用户将无法登录,系统不会尝试任何其他验证机制。如果用户配置文件的 "Login"(登录)属性已启用,用户将登录。
用户身份是用户的 LDAP 对象的 DN。在 SGD 数据存储中,该用户身份位于 LDAP 名称空间中。在管理控制台中,文本 "(LDAP)" 显示在该用户身份的旁边。在命令行上,该用户身份位于 .../_service/sco/tta/ldapcache 中。
考虑到 LDAP 与 SGD 命名系统之间的差异,SGD 将通过搜索本地系统信息库确定用户配置文件。SGD 将搜索以下用户配置文件,直到找到匹配项:
与用户 LDAP 对象同名的用户配置文件。
例如,如果用户的 LDAP 对象为 cn=Emma Rald,cn=Sales,dc=example,dc=com
,SGD 将在本地系统信息库中搜索 dc=com/dc=example/cn=Sales/cn=Emma Rald
。
与用户的 LDAP 对象在同一组织单元,但名称为 cn=LDAP Profile
的用户配置文件。
例如:dc=com/dc=example/cn=Sales/cn=LDAP Profile
。
任意父组织单元内的名称为 cn=LDAP Profile
的用户配置文件。
例如:dc=com/dc=example/cn=LDAP Profile
。
如果没有匹配项,将使用 o=System Objects/cn=LDAP Profile
配置文件对象作为用户配置文件。
可将 LDAP 验证与目录服务集成搭配使用。分配给 LDAP 用户的应用程序来自用户配置文件组合和 LDAP 搜索。有关如何为用户分配应用程序的详细信息,请参见第 3 章 向用户发布应用程序。
设置 LDAP 验证包括以下配置步骤:
为 LDAP 验证做准备。
可能还需要其他配置才能组合使用 SGD 和 LDAP 目录,请参见第 2.4.3 节 “为 LDAP 验证做准备”。
启用 LDAP 验证。
将 SGD 配置为使用 LDAP 验证,并指定 LDAP 目录详细信息,请参见第 2.4.4 节 “如何启用 LDAP 验证”。
对于 LDAP 部署比较复杂的组织,请使用服务对象管理及调整 LDAP 配置。请参见第 2.8.4 节 “使用服务对象”。
按如下所示为 LDAP 验证做准备:
确保使用的是支持的 LDAP 目录,请参见第 2.4.3.1 节 “支持的 LDAP 目录”。
确保 SGD 服务器可以连接到 LDAP 目录服务器,请参见第 2.4.3.2 节 “LDAP 验证的网络要求”。
确保您了解 LDAP 绑定 DN 和 SGD 密码更改操作的要求,请参见第 2.4.3.3 节 “LDAP 绑定 DN 和密码更改”
确保 Novell eDirectory 用户可以进行验证,请参见第 2.4.3.4 节 “验证 Novell eDirectory”
《Oracle Secure Global Desktop 发行版 4.7 平台支持和发行说明》中列出了支持的 LDAP 目录,该文档位于 http://www.oracle.com/technetwork/documentation/sgd-193668.html。
启用 LDAP 验证之前,确保阵列中的所有 SGD 服务器均能访问用于验证的每个 LDAP 目录服务器。
用于连接到 LDAP 目录服务器的端口是 TCP 端口 389(适用于标准连接)和端口 TCP 636(适用于安全连接,即 ldaps://
连接)。如果您的目录服务器使用其他端口,可在启用 LDAP 验证时指定端口。必须确保 SGD 可以使用这些端口进行 LDAP 连接。
要能够使用安全 (ldaps://
) 连接,SGD 必须能够对 LDAP 目录服务器提供的 SSL 证书进行验证。您可能需要将 LDAP 目录服务器的 CA 证书导入到 SGD CA 证书信任库中。有关如何检查支持的 CA 以及如何导入 CA 证书的详细信息,请参见第 7.5.1 节 “CA 证书信任库”。
默认情况下,SGD 使用两个 LDAP 绑定 DN,即管理员绑定 DN 和用户绑定 DN。
管理员绑定 DN 是为 LDAP 验证配置的用户名和密码。管理员绑定 DN 仅用于查询目录服务器,所以此用户必须具有搜索目录的特权。您可能需要创建一个特殊 LDAP 用户用于 SGD。管理员绑定可以是一个匿名绑定。Active Directory 不支持匿名绑定。
用户绑定 DN 是用户登录时提供的用户名和密码。默认情况下,用户绑定 DN 用于验证和密码更改操作。
用户的密码过期后,他们将无法登录到 SGD 且 SGD 无法强制用户更改密码。可将 SGD 配置为警告用户其密码即将过期,并强制用户在密码过期前更改密码,请参见第 2.8.5 节 “密码过期”。SGD 要能够执行上述操作,必须满足下列要求:
在 LDAP 目录中,SGD 以用户身份绑定到目录时必须能够读取用户的密码策略控制
在 Active Directory 中,SGD 必须能够读取域控制器的 "Maximum Password Age"(密码最长期限)设置和用户的 "Password Last Set"(上次设置的密码)属性
如果目录服务器不满足这些要求,但您需要 SGD 处理密码更改,则必须将 SGD 配置为使用管理员绑定 DN 执行密码更改操作。请参见第 2.8.6 节 “LDAP 密码更新模式”。
在某些 LDAP 目录中,系统会将使用管理员绑定 DN 执行的密码更改操作当作密码重置处理,而不当作更改操作处理。
对于 Oracle Directory Server Enterprise Edition,如果将 SGD 配置为使用管理员绑定 DN 进行密码更新,则可能还需要进行其他配置,SGD 才能处理密码更改,这些配置如下所述:
不要在全局密码策略或单个密码策略中使用 "User must change password after reset"(重置后用户必须更改密码)选项。这会导致密码更改失败。
管理员绑定 DN 必须具有管理特权。
对于 Active Directory,只有在 SGD 服务器与 Active Directory 服务器之间建立了安全连接 (ldaps://
) 时,系统才会处理密码过期,包括强制用户在下次登录时更改其密码。
默认情况下,Novell eDirectory 要求所有包含密码的简单 LDAP 绑定必须使用 SSL 连接。要组合使用 eDirectory 和 SGD,请执行以下操作之一:
使用 ldaps://
URL,将 SGD 配置为使用安全连接与 eDirectory 建立连接
在 eDirectory 中配置 LDAP 组对象,并对简单绑定禁用 TLS
用户可能无法验证 Novell eDirectory,因为 LDAP 验证的用户登录过滤器会过滤掉 cn
属性,而此属性在 eDirectory 中是一个受限制的属性。
要使用户能够登录到 SGD,请执行以下操作之一:
确保 LDAP 绑定 DN 具有访问 cn
属性的特权。有关更多详细信息,请参见第 2.4.3.3 节 “LDAP 绑定 DN 和密码更改”。
更改用户登录过滤器,使其不过滤掉 cn
属性。有关更多详细信息,请参见第 2.8.1 节 “过滤 LDAP 或 Active Directory 登录”。
在 SGD 管理控制台中,显示 "SGD Authentication Configuration"(Secure Global Desktop 验证配置)向导。
转到 "Global Settings"(全局设置)→ "Secure Global Desktop Authentication"(Secure Global Desktop 验证)选项卡,然后单击 "Change Secure Global Desktop Authentication"(更改 Secure Global Desktop 验证)按钮。
在 "Third-Party/System Authentication"(第三方/系统验证)步骤中,确保选中 "System Authentication"(系统验证)复选框。
在 "System Authentication - Repositories"(系统验证 - 系统信息库)步骤中,选中 "LDAP/Active Directory" 复选框。
在 "LDAP Repository Details"(LDAP 系统信息库详细信息)步骤中,配置 LDAP 目录详细信息。
对于 "Repository Type"(系统信息库类型),选择 "LDAP" 选项。
即使要使用 Microsoft Active Directory 服务器进行 LDAP 验证,也要选择此选项。"Active Directory" 选项将启用 Active Directory 验证,请参见第 2.2 节 “Active Directory 验证”。
在 "URL" 字段中,键入一个或多个 LDAP 目录服务器的 URL。
例如:ldap://melbourne.example.com
。
如果键入多个 URL,请用分号 (;) 分隔各个 URL。
如果有多个 URL,SGD 会按其列出顺序使用 URL。如果列表中的第一个 LDAP 目录服务器不可用,则尝试下一个。
要使用安全连接与 LDAP 目录服务器建立连接,请使用 ldaps://
URL。
所有 URL 必须为同一类型,ldap://
或 ldaps://
。不能混合使用 ldap://
和 ldaps://
URL。
如果 LDAP 目录使用非标准端口,请在 URL 中指定端口号,例如 ldap://melbourne.example.com:5678
。否则可省略端口号。
可指定一个 DN 用作搜索基,例如,ldap://melbourne.example.com/dc=example,dc=com
。这将指定用于搜索用户身份的 LDAP 目录部分。
在 "User Name"(用户名)和 "Password"(密码)字段中键入 LDAP 用户的详细信息。
用户名必须是用户的 DN,例如 cn=sgd-user,cn=Users,dc=example,dc=com
。此处为管理员绑定 DN,有关更多详细信息,请参见第 2.4.3.3 节 “LDAP 绑定 DN 和密码更改”。
由于您只能输入一个用户名和密码,所以此用户必须能够搜索 URL 字段中列出的所有 LDAP 目录服务器。
如果目录服务器支持匿名绑定,则可以省略用户名和密码。您必须能够对用户数据执行 LDAP 查询,才能使用匿名绑定。
为 LDAP 服务对象配置的所有 URL 必须为同一类型,ldap://
或 ldaps://
。不能混合使用 ldap://
和 ldaps://
URL。
在 "Review Selections"(查看所做的选择)步骤中,检查验证配置,然后单击 "Finish"(完成)。
单击 "Finish"(完成)时,SGD 会创建一个名为 generated
的服务对象。服务对象用于管理目录服务配置,有关更多详细信息,请参见第 2.8.4 节 “使用服务对象”。