在 Microsoft Purview 中连接和管理 HDFS
本文概述了如何 (HDFS) 注册 Hadoop 分布式文件系统,以及如何在 Microsoft Purview 中对 HDFS 进行身份验证和交互。 有关 Microsoft Purview 的详细信息,请阅读 介绍性文章。
扫描 HDFS 源时,Microsoft Purview 支持提取包括 HDFS 在内的技术元数据:
- Namenode
- Folders
- 文件
- 资源集
设置扫描时,可以选择扫描整个 HDFS 或选择性文件夹。 在此处了解支持的文件格式。
连接器使用 webhdfs 协议连接到 HDFS 并检索元数据。 不支持 MapR Hadoop 分发。
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 活动 Microsoft Purview 帐户。
- 需要数据源管理员和数据读取者权限才能在 Microsoft Purview 治理门户中注册和管理源。 有关权限的详细信息,请参阅 Microsoft Purview 中的访问控制。
-
为方案设置正确的集成运行时:
-
使用自承载集成运行时:
- 按照文章创建和配置自承载集成运行时。
- 确保在安装了自承载集成运行时的计算机上安装 了 JDK 11 。 在新安装 JDK 后重启计算机,使其生效。
- 确保在运行自承载集成运行时的计算机上安装Visual C++ 可再发行程序包 (版本 Visual Studio 2012 Update 4 或更高版本) 。 如果未安装此更新, 请立即下载。
- 若要设置环境以启用 Kerberos 身份验证,请参阅 对 HDFS 连接器使用 Kerberos 身份验证 部分。
-
若要使用 kubernetes 支持的自承载集成运行时,
- 按照文章创建和配置 Kubernetes 支持的集成运行时。
- 若要设置环境以启用 Kerberos 身份验证,请参阅 对 HDFS 连接器使用 Kerberos 身份验证 部分。
-
使用自承载集成运行时:
本部分介绍如何使用 Microsoft Purview 治理门户在 Microsoft Purview 中注册 HDFS。
若要在数据目录中注册新的 HDFS 源,请执行以下步骤:
- 在 Microsoft Purview 治理门户中导航到 Microsoft Purview 帐户。
- 在左侧导航中选择“ 数据映射 ”。
- 选择 “注册”
- 在“注册源”上,选择“ HDFS”。 选择 继续。
在 “ (HDFS) 注册源 ”屏幕上,请执行以下步骤:
输入数据源将在目录中列出的 名称 。
以 或
http://<namenode>:<port>
的形式输入 HDFS NameNode 的https://<namenode>:<port>
群集 URL,例如https://namenodeserver.com:50470
或http://namenodeserver.com:50070
。从列表中选择集合。
完成以注册数据源。
按照以下步骤扫描 HDFS 以自动识别资产。 有关一般扫描的详细信息,请参阅 扫描和引入简介。
HDFS 源支持的身份验证类型为 Kerberos 身份验证。
若要创建并运行新的扫描,请执行以下步骤:
确保已设置自承载集成运行时。 如果未设置,请使用 先决条件中所述 的步骤创建自承载集成运行时。
导航到 “源”。
选择已注册的 HDFS 源。
选择“ + 新建扫描”。
在“扫描 source_name”页上,提供以下详细信息:
名称:扫描的名称
通过集成运行时进行连接:选择配置的自承载集成运行时。 请参阅 先决条件部分中的设置 要求。
凭据:选择要连接到数据源的凭据。 请确保:
- 创建凭据时选择“ Kerberos 身份验证 ”。
- 在“用户名输入”字段中以 格式
<username>@<domain>.com
提供用户名。 有关详细信息,请参阅 对 HDFS 连接器使用 Kerberos 身份验证。 - 将用于连接到 HDFS 的用户密码存储在密钥中。
选择“ 测试连接”。
选择 继续。
在“限定扫描范围”页上,选择要扫描 () 的路径。
在“选择扫描规则集”页上,选择要用于架构提取和分类的扫描规则集。 可以在系统默认规则集和现有自定义规则集之间进行选择,也可以内联创建新的规则集。 有关详细信息,请参阅 创建扫描规则集。
在“设置扫描触发器”页上,选择 扫描触发器。 可以设置计划或运行扫描一次。
查看扫描并选择“ 保存并运行”。
查看现有扫描:
- 转到 Microsoft Purview 门户。 在左窗格中,选择“ 数据映射”。
- 选择数据源。 可以在“最近扫描”下查看该数据源上的现有 扫描列表,也可以在“扫描”选项卡上查看所有 扫描 。
- 选择要查看的结果的扫描。 窗格显示之前的所有扫描运行,以及每个扫描运行的状态和指标。
- 选择运行 ID 以检查扫描运行详细信息。
若要编辑、取消或删除扫描,请执行以下操作:
转到 Microsoft Purview 门户。 在左窗格中,选择“ 数据映射”。
选择数据源。 可以在“最近扫描”下查看该数据源上的现有 扫描列表,也可以在“扫描”选项卡上查看所有 扫描 。
选择要管理的扫描。 然后,可以:
- 通过选择“编辑扫描 ”来编辑扫描。
- 选择“取消扫描运行”, 取消正在进行的扫描。
- 通过选择“删除扫描” 来删除扫描。
备注
- 删除扫描不会删除从以前的扫描创建的目录资产。
有两个选项可用于设置本地环境以对 HDFS 连接器使用 Kerberos 身份验证。 可以选择更适合自己情况的一个。
对于任一选项,请确保为 Hadoop 群集打开 webhdfs:
为 webhdfs 创建 HTTP 主体和密钥表。
重要
根据 Kerberos HTTP SPNEGO 规范,HTTP Kerberos 主体必须以“HTTP/”开头。 在此处了解详细信息。
Kadmin> addprinc -randkey HTTP/<namenode hostname>@<REALM.COM> Kadmin> ktadd -k /etc/security/keytab/spnego.service.keytab HTTP/<namenode hostname>@<REALM.COM>
HDFS 配置选项:在 中添加以下三个
hdfs-site.xml
属性。<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.web.authentication.kerberos.principal</name> <value>HTTP/_HOST@<REALM.COM></value> </property> <property> <name>dfs.web.authentication.kerberos.keytab</name> <value>/etc/security/keytab/spnego.service.keytab</value> </property>
- 自承载集成运行时计算机需要加入 Kerberos 领域,并且无法加入任何 Windows 域。
在 KDC 服务器上:
创建主体并指定密码。
重要
用户名不应包含主机名。
Kadmin> addprinc <username>@<REALM.COM>
在自承载集成运行时计算机上:
运行 Ksetup 实用工具以配置 Kerberos 密钥分发中心 (KDC) 服务器和领域。
计算机必须配置为工作组的成员,因为 Kerberos 领域不同于 Windows 域。 可以通过设置 Kerberos 领域并通过运行以下命令添加 KDC 服务器来实现此配置。 将 REALM.COM 替换为自己的领域名称。
C:> Ksetup /setdomain REALM.COM C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
运行这些命令后,重新启动计算机。
使用
Ksetup
命令验证配置。 输出应如下所示:C:> Ksetup default realm = REALM.COM (external) REALM.com: kdc = <your_kdc_server_address>
在 Purview 帐户中:
- 使用 Kerberos 主体名称和密码配置具有 Kerberos 身份验证类型的凭据,以扫描 HDFS。 有关配置详细信息,检查“扫描”部分中的凭据设置部分。
- 自承载集成运行时计算机必须加入 Windows 域。
- 需要具有更新域控制器设置的权限。
备注
将以下教程中的 REALM.COM 和 AD.COM 替换为自己的领域名称和域控制器。
在 KDC 服务器上:
在 krb5.conf 文件中编辑 KDC 配置,以便通过引用以下配置模板让 KDC 信任 Windows 域。 默认情况下,配置位于 /etc/krb5.conf。
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = REALM.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] REALM.COM = { kdc = node.REALM.COM admin_server = node.REALM.COM } AD.COM = { kdc = windc.ad.com admin_server = windc.ad.com } [domain_realm] .REALM.COM = REALM.COM REALM.COM = REALM.COM .ad.com = AD.COM ad.com = AD.COM [capaths] AD.COM = { REALM.COM = . }
配置文件后,重启 KDC 服务。
使用以下命令在 KDC 服务器中准备名为 krbtgt/REALM.COM@AD.COM 的主体:
Kadmin> addprinc krbtgt/REALM.COM@AD.COM
在 hadoop.security.auth_to_local HDFS 服务配置文件中,添加
RULE:[1:$1@$0](.*\@AD.COM)s/\@.*//
。
在域控制器上:
运行以下命令
Ksetup
以添加领域条目:C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
建立从 Windows 域到 Kerberos 领域的信任。 [password] 是主体 krbtgt/REALM.COM@AD.COM的密码。
C:> netdom trust REALM.COM /Domain: AD.COM /add /realm /password:[password]
选择 Kerberos 中使用的加密算法。
选择服务器管理器>组策略管理>域>组策略对象>默认或活动域策略,然后选择编辑。
在“组策略管理编辑器”窗格中,选择“计算机配置>策略>”“Windows设置”“>安全设置”“>本地策略>”“安全选项”,然后配置“网络安全:配置 Kerberos 允许的加密类型”。
选择要在连接到 KDC 服务器时使用的加密算法。 可以选择所有选项。
Ksetup
使用 命令指定要在指定领域中使用的加密算法。C:> ksetup /SetEncTypeAttr REALM.COM DES-CBC-CRC DES-CBC-MD5 RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
在域帐户和 Kerberos 主体之间创建映射,以便可以在 Windows 域中使用 Kerberos 主体。
选择“管理工具>Active Directory 用户和计算机”。
通过选择“查看>高级功能”来配置高级功能。
在“ 高级功能 ”窗格上,右键单击要创建映射的帐户,然后在“ 名称映射 ”窗格中,选择“ Kerberos 名称 ”选项卡。
从领域添加主体。
在自承载集成运行时计算机上:
运行以下命令
Ksetup
以添加领域条目。C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
在 Purview 帐户中:
- 使用 Kerberos 主体名称和密码配置具有 Kerberos 身份验证类型的凭据,以扫描 HDFS。 有关配置详细信息,检查“扫描”部分中的凭据设置部分。
目前,HDFS 连接器不支持高级资源集的自定义 资源集模式规则,将应用内置资源集模式。
尚不支持敏感度标签。
注册源后,请按照以下指南详细了解Microsoft Purview 和数据。