连接到 Active Directory

概念信息

ACCESSDATA 命令

Active Directory 是 Microsoft 的目录服务器,它提供一个 LDAP 兼容数据库,其中包含用户、组和计算机等对象。使用 Active Directory 数据连接器导入您的组织的 Active Directory 数据。

有关 Azure Active Directory 连接器的信息,请参阅连接到 Azure Active Directory

说明

您不能独立于 Analytics 使用此连接器。您可以使用 Windows ODBC 数据源管理器为连接器驱动程序配置一个 DSN,但是您必须从 Analytics 内部而不是从连接器的 Windows DSN 配置对话框中测试 DSN 连接。

开始之前

要连接到 Active Directory 数据,您必须收集以下信息:

  • Active Directory 服务器的域名或 IP 地址
  • 正确的连接端口
  • 进行连接的用户账户,包括可辨别的用户名和密码

有关收集连接必备信息的帮助,请联系您组织中的 Active Directory 管理员。如果您的管理员不能帮助您,您或者您的管理员应该联系Active Directory支持人员。

创建 Active Directory 连接

  1. 从 Analytics 主菜单中选择导入 > 数据库和应用程序Analytics。
  2. 新建连接选项卡中,在 ACL 连接器部分中,选择 Active Directory

    提示

    您可以通过在过滤连接框中输入搜索字符串来过滤可用连接器的列表。连接器按字母顺序排列。

  3. 数据连接设置面板中,输入连接设置,然后在面板底部单击保存并连接

    您可以接受默认的连接名称,也可以输入一个新的名称。

Active Directory的连接被保存到现有连接选项卡。将来,您可以从已保存的连接重新连接到Active Directory

一旦连接被建立,“数据访问”窗口将打开到暂存区域,并且您可以开始导入数据。有关从Active Directory导入数据的帮助,请参见使用数据访问窗口

连接设置

基本设置

设置 描述 示例
用户

用户的可分辨名称。

此域和“密码”一起被用来向 Active Directory 服务器进行认证。

MYDOMAIN\test
密码

指定用户的可分辨名称的密码。

此域和“用户”一起被用来向 Active Directory 服务器进行认证。

说明

如果您的 Active Directory 服务器允许匿名连接,则您无需提供密码即可连接。基于您的服务器的安全配置,匿名连接可能能够列出可用的表。但是,此类连接可能无法从列出的部分或所有表中选择数据。有关您的 Active Directory 安全配置的详细信息,请咨询您的公司的管理员。

 
服务器

Active Directory 服务器的域名或 IP 地址。

这不需要包括 LDAP:\\ 部分,而只需要包括服务器域名或 IP。

10.120.1.110
端口

运行 Active Directory 服务器的端口。默认值是 389。

此属性与“服务器”一起被用来指定 Active Directory 服务器。

389
基准 DN

可辨别名称的基本部分,用于将结果限制到特定子树。

指定基本 DN 可以在为大型服务器返回条目时,通过限制需要检查的条目数大大提高性能。

DC=myConnection,DC=com
LDAP 版本 用来连接到服务器以及与服务器通信的 LDAP 版本。对于 LDAP 版本 2 和 3,有效的选项是 2 和 3。 2
认证机制

要在连接到 Active Directory 服务器时使用的认证机制:

  • SIMPLE(默认) 默认纯文本认证被用来登录服务器
  • DIGESTMD5 使用更安全的 DIGEST-MD5 认证
  • NEGOTIATE 将使用 NTLM/协商认证
SIMPLE
范围

是否将搜索范围限制到:

  • WholeSubtree 整个子树(BaseDN 及其所有后裔)
  • SingleLevel 单级(BaseDN 及其直接后裔)
  • BaseObject 基本对象(仅 BaseDN)

提示

限制范围可大大提高搜索性能。

BaseObject

高级设置

设置 描述 示例
使用默认 DC 用来连接到默认域控制器以及使用当前用户凭据进行认证。
将日期时间转换为 GMT

在导入过程中将日期时间域转换至 GMT 时区。如果为假,则该日期时间值被转换为运行 Analytics 的计算机的操作系统时区。

密钥大小限制

主键列的最大长度。将大小设置为 0 会使键长度恢复到原始长度。

此属性使连接器覆盖所有主键列的报告长度。

255
映射到 Long Varchar

控制一个列是否被作为 SQL_LONGVARCHAR 返回。

使用此设置可映射任何大于指定大小的列,以便使它们被报告为 SQL_LONGVARCHAR 而不是 SQL_VARCHAR。

-1
映射到 WVarchar

控制字符串类型是否映射到 SQL_WVARCHAR 而不是 SQL_VARCHAR。它在默认情况下被设置。

必须将字符串列映射到 SQL_WVARCHAR 以适应各种国际字符集,因此 MapToWVarchar 默认情况下被设置为真。您可以将其设置为假以改而使用 SQL_VARCHAR。

伪列

指示是否将伪列作为列包括在表中。

此设置在 Entity Framework 中特别有用,它不允许您为伪列设置值,除非该列是表列。

此连接设置的值的格式为 "Table1=Column1, Table1=Column2, Table2=Column3"。您可以使用“*”字符包括所有表和所有列。

MyTable=*
大写标识符 以大写形式报告所有标识符(包括表名称和列名称)。
SSL 服务器证书

要在使用 TLS/SSL 连接时从服务器接受的证书。您可以指定下列任一选项:

  • 完整的 PEM 证书
  • 包含证书的本地文件的路径
  • 公钥
  • MD5 指纹(还可以用空格或冒号分隔十六进制值)
  • SHA1 指纹(还可以用空格或冒号分隔十六进制值)

如果使用 TLS/SSL 连接,则此属性可被用来指定要从服务器接受的 TLS/SSL 证书。不被该计算机信任的任何其他证书都将被拒绝。

C:\cert.cer
支持增强的 SQL

通过启用内存客户端处理,增强 SQL 功能以超越可以通过 API 直接支持的功能:

  • 连接器将尽可能多的 SELECT 语句处理卸载到 Active Directory,然后在内存中处理该查询的其余部分。这样,驱动程序就可以执行不受支持的谓词、联接和聚合
  • 连接器将 SQL 执行限制到 Active Directory API 所支持的范围

说明

此设置必须为假以支持使用 where 子句语法进行过滤。

谓词的执行

连接器确定哪些子句受到数据源的支持,然后将它们推送到数据源,以获取可满足查询的最小行超集。然后,它在本地过滤其余行。过滤器操作被简化,从而使驱动程序能够有效地对超大型数据集进行过滤。

联接的执行

连接器使用各种技巧在内存中联接。驱动程序以牺牲内存利用率为代价,避免了多次读取相同表。

聚合的执行

连接器检索在内存中处理聚合所需的所有行。

过滤所返回的行

Active Directory 连接器使用与 LDAP 搜索语法非常类似的 SQL 过滤语法。某些域包含表示多个对象属性的分隔数据。您的 WHERE 子句必须考虑这些分隔域中的每个值,就好像它们是不同的值,而不是单个字符串一样。

有关 LDAP 搜索过滤器的详细信息,请参见 MSDN 搜索过滤器语法

按 ObjectCategory 和 ObjectClass 过滤用户

场景

您正在使用 User 表,并且您想要导入其 ObjectClass 具有以下属性的记录:

  • 人员
  • 用户

您还想要将记录限制到其 ObjectCategory 具有“计算机”属性而非“个人”属性的记录。

连接到该表

首先,您连接到 Active Directory 服务器,并且选择 User 表(所显示的域的子集)。

过滤记录

为了将记录限制到那些您想要导入的记录,您应用一个将每个分隔值视为一个独立域的过滤器。

然后,您使用 SQL 模式验证该过滤器构造的 WHERE 子句:

WHERE
  (
    "User"."ObjectClass" = N'person' AND
    "User"."ObjectClass" = N'user' AND
    "User"."ObjectCategory" = N'Computer'
  )

过滤结果

应用该过滤器后,表中将包括匹配 WHERE 子句的记录,然后您导入该表。

联接 Active Directory 表

由于像 Active Directory 这样的 LDAP 兼容数据库中使用的数据模型,不建议执行 SQL 联接。联接操作可能生成意外的结果。

如果您需要联接 Active Directory 数据源中的一个或更多个表,您可以使用“数据访问”窗口导入多个表,然后在 Analytics 中连接它们。使用过滤器可限制记录数并提高效率。