通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure HDInsight 中的托管标识

托管标识在 Microsoft Entra 中注册,其凭据由 Azure 进行管理。 使用托管标识时,无需在 Microsoft Entra ID 中注册服务主体。 或者维护证书等凭据。

Azure HDInsight 中使用托管标识来访问 Microsoft Entra 域服务或在需要时访问 Azure Data Lake Storage Gen2 中的文件。

有两种类型的托管标识:用户分配和系统分配。 Azure HDInsight 仅支持用户分配的托管标识。 HDInsight 不支持系统分配的托管标识。 将用户分配的托管标识创建为独立的 Azure 资源,然后可以将其分配给一个或多个 Azure 服务实例。 相比之下,系统分配的托管标识是在 Microsoft Entra ID 中创建的,然后自动在特定 Azure 服务实例上启用。 然后,系统分配的托管标识的生命周期与启用它的服务实例的生命周期相关联。

HDInsight 托管标识实现

在 Azure HDInsight 中,托管标识只能由 HDInsight 服务用于内部组件。 目前不支持使用 HDInsight 群集节点上安装的托管标识生成访问令牌,以访问外部服务。 对于某些 Azure 服务,例如虚拟机计算,托管标识通过一个终结点实现,该终结点可用于获取访问令牌。 此终结点当前在 HDInsight 节点中不可用。

如果需要启动应用程序以避免将机密/密码放入分析作业(例如 SCALA 作业),可以使用脚本操作将自己的证书分发到群集节点,然后使用该证书获取访问令牌(例如访问 Azure KeyVault)。

创建管理标识

可以使用以下任一方法创建托管标识:

配置托管标识的剩余步骤取决于将使用托管标识的方案。

Azure HDInsight 中的托管标识方案

Azure HDInsight 中在多个场景中使用托管身份。 有关详细的设置和配置说明,请参阅相关文档:

HDInsight 将自动续订用于这些方案的托管标识的证书。 但是,当多个不同的托管标识用于长时间运行的群集时,证书续订可能无法按预期适用于所有托管标识。 由于此限制,我们建议对所有上述方案使用相同的托管标识。

如果您已经创建了一个长时间运行且具有多个不同托管标识的群集,并遇到以下问题之一:

  • 在 ESP 群集中,群集服务开始失败或纵向扩展,其他操作开始失败并出现身份验证错误。
  • 在 ESP 群集中,更改 Microsoft Entra Domain Services LDAPS 证书时,LDAPS 证书不会自动更新,因此 LDAP 同步和纵向扩展启动失败。
  • MSI 对 ADLS Gen2 的访问开始失败。
  • 无法在 CMK 方案中轮换加密密钥。

然后,应将上述方案所需的角色和权限分配给群集中使用的所有托管标识。 例如,如果对 ADLS Gen2 和 ESP 群集使用不同的托管标识,则这些托管标识都应分配“存储 Blob 数据所有者”和“HDInsight 域服务参与者”角色,以避免遇到这些问题。

FAQ

如果在创建群集后删除托管标识,会发生什么情况?

当需要使用托管标识时,您的群集将遇到一些问题。 创建群集后,目前无法更新或更改托管标识。 因此,建议确保在群集运行时期间不会删除托管标识。 或者可以重新创建群集并分配新的托管标识。

后续步骤