Horizon Cloud 部署程序需要具有一个服务主体以访问和使用您的 Horizon Cloud 容器的 Microsoft Azure 订阅容量。注册 Microsoft Azure AD 应用程序时,还会创建服务主体。此外,您还必须生成身份验证密钥,并在订阅级别为服务主体分配角色。如果要使用该功能以让外部网关使用自己的订阅(与容器的订阅不同),您还必须为与该订阅关联的服务主体执行类似的步骤。

有关创建服务主体的最新深入详细信息和屏幕截图,请参阅 Microsoft Azure 文档主题如何:使用门户创建可访问资源的 Azure AD 应用程序和服务主体

重要事项: 您为 Horizon Cloud 的使用配置的每个服务主体都必须在该服务主体的关联订阅中分配有一个相应的角色。服务主体的角色必须允许 Horizon Cloud 需要对该服务主体的关联 Microsoft Azure 订阅中由 Horizon Cloud 管理的资源运行的操作。容器订阅的服务主体需要具有一个角色,以允许执行相应的操作以成功部署容器,对容器和容器管理的资源运行操作以完成使用管理控制台启动的管理员工作流,以及执行相应的操作以在一段时间内维护容器。在将单独的订阅用于容器的外部 Unified Access Gateway 配置时,该订阅的服务主体需要具有一个角色,以允许执行相应的操作以成功部署该网关配置所需的资源,对这些 Horizon Cloud 管理的资源运行操作以完成管理员工作流,以及执行相应的操作以在一段时间内维护那些网关相关资源。

正如Horizon Cloud 在 Microsoft Azure 订阅中所需的操作中所述,必须使用以下方法之一为服务主体授予访问权限:

  • 在订阅级别,分配参与者角色。参与者角色是 Microsoft Azure 内置角色之一。在 Microsoft Azure 文档的 Azure 资源的内置角色中介绍了参与者角色。
  • 在订阅级别,分配一个设置为向服务主体提供Horizon Cloud所需的最小允许操作集的自定义角色,以部署容器相关资源以及执行管理员启动的日常工作流和容器维护操作。
  • 在将单独的订阅用于外部 Unified Access Gateway 配置并部署到现有资源组时,有效的组合是使用提供范围较窄的权限的角色为服务主体授予访问权限以访问该资源组和关联的 VNet,以及使用内置的读取者角色为服务器授予访问权限以访问订阅。

此外,必须将该角色直接分配给用于 Horizon Cloud 的服务主体。不支持对服务主体使用基于组的角色分配(在这种情况中,角色被分配给一个组,而服务主体是该组的成员)。

您可以使用 Microsoft Azure 门户执行以下适用于您的注册帐户的步骤。例如,以下 Microsoft Azure 云具有特定的门户端点。

  • Microsoft Azure 商业(标准全球区域)
  • Microsoft Azure 中国
  • Microsoft Azure 美国政府
注: 在执行这些步骤时,您可以按照 Horizon Cloud 容器部署向导的订阅相关信息中的说明收集一些部署向导所需要的值,尤其是:
  • 应用程序 ID
  • 身份验证密钥
小心: 即使您可以将密钥的过期时间设置为一个特定的时间范围,但如果您这么做的话,就必须记得在密钥过期之前刷新密钥,否则关联的 Horizon Cloud 容器将停止工作。 Horizon Cloud 无法检测或识别您设置的持续时间。要顺利完成操作,请将密钥的过期时间设置为 从不

如果您不希望将过期时间设置为从不,而是希望在密钥过期之前刷新密钥,则必须记得在到期日期之前登录到 Horizon Cloud 并在列有订阅信息的容器详细信息中,在关联容器的订阅信息中输入新密钥值。有关详细步骤,请参阅管理指南中的更新与部署的容器关联的订阅信息主题。

在下面的步骤中,步骤 7.a 说明了在订阅级别授予访问权限的服务主体。

前提条件

如果要为服务主体分配自定义角色而不是内置参与者角色,请确认该自定义角色在您的订阅中存在。确认该自定义角色允许 Horizon Cloud 所需的管理操作,如Horizon Cloud 在 Microsoft Azure 订阅中所需的操作中所述。

过程

  1. 从 Microsoft Azure 门户的左侧导航栏中,单击 Microsoft Azure 门户主菜单中的 Microsoft Azure Active Directory 菜单项 (Azure Active Directory),然后单击 Azure 门户的 Azure AD 子菜单中的“应用程序注册”菜单项应用程序注册)。
  2. 单击新建应用程序注册
  3. 键入描述性名称,然后选择受支持的帐户类型。
  4. 在“重定向 URI”部分中,选择 Web,键入 http://localhost:8000,然后单击注册
    选项 说明
    名称 该名称由您决定。通过该名称,您可以将由 Horizon Cloud 使用的该服务主体与同一订阅中可能存在的任何其他服务主体区分开。
    重定向 URI 确保已选择 Web

    按照显示指示键入 http://localhost:8000。Microsoft Azure 将此标记为必填字段。由于 Horizon Cloud 不需服务主体的登录 URL,因此使用 http://localhost:8000 即可满足 Microsoft Azure 要求。

    新创建的应用程序注册会显示在屏幕上。
  5. 复制应用程序 ID 和目录(租户)ID 并将其保存到一个稍后运行部署向导时可以检索的位置。

    服务主体的详细信息屏幕,其中的箭头指向应用程序 ID。

  6. 从服务主体的详细信息屏幕上,创建服务主体的身份验证密钥。
    1. 单击 Microsoft Azure 门户中的“证书和密钥”菜单项证书和密钥)。
    2. 单击新建客户端密码
    3. 键入描述,选择过期时间,然后单击添加
      密钥描述不得超过 16 个字符,例如 Hzn-Cloud-Key1
      小心: 您可以将过期时间设置为 从不或特定的时间范围。但是,如果设置特定的持续时间,则必须记得在密钥过期之前刷新密钥,然后使用控制台,在列出有容器的订阅信息的容器详细信息中,在 Horizon Cloud 中输入新密钥。否则,关联的容器将停止工作。 Horizon Cloud 无法检测或了解您在 Microsoft Azure 门户中设置的持续时间。

      密钥屏幕,其中显示新添加的从不过期的密钥。

      重要事项: 保持此屏幕处于打开状态,直到您将密钥值复制并粘贴到一个稍后可以检索的位置。在密钥值的复制尚未完成之前,请不要关闭此屏幕。

      客户端密钥屏幕中显示的身份验证密钥,其中对值进行了像素化处理。

    4. 将密钥值复制到一个稍后运行部署向导时可以检索的位置。
  7. 在订阅级别为服务主体分配一个角色。
    小心: 如果为服务主体分配的角色不允许容器部署程序所需的操作,根据您在部署向导中选择的选项,该向导阻止您完成向导的步骤。有关分配的角色必须提供的权限,请参阅 Horizon Cloud 在 Microsoft Azure 订阅中所需的操作
    1. 导航到订阅的设置屏幕,方法是:单击 Microsoft Azure 门户主导航栏中的所有服务,单击订阅,然后单击要用于容器的订阅名称。
      注: 这个时候,您可以在屏幕中复制今后在部署向导中需要用到的订阅 ID。

      Azure 门户中的订阅详细信息,其中对 ID 进行了像素化处理,并且有一个绿色箭头指向该 ID。

    2. 单击 “访问控制 (IAM)”菜单项访问控制 (IAM)),然后单击添加 > 添加角色分配以打开添加角色分配屏幕。
    3. 添加角色分配屏幕中,根据Horizon Cloud 在 Microsoft Azure 订阅中所需的操作中所述的规则,为角色选择您要分配的角色。
    4. 使用选择框按您指定的名称搜索服务主体。
      以下屏幕截图显示了为服务主体选择 参与者角色的步骤。
      Azure 门户的“添加权限”屏幕的屏幕截图,其中选择了所有者角色并且正在搜索服务主体。

      注: 确保将 将访问权限分配给下拉列表设置为 Azure AD 用户、组或应用程序
    5. 单击您的服务主体,使其成为一个选定成员,然后单击保存

      在“添加权限”屏幕中,将服务主体添加为具有所有者角色的选定成员。

  8. 确认您的订阅具有容器所需的已注册资源提供程序。
    1. 从上一步骤您所在的“访问控制 (IAM)”屏幕中,单击“订阅”菜单中的 “订阅”设置菜单中的资源提供程序菜单选项资源提供程序),以导航到订阅的资源提供程序列表。
    2. 确认以下资源提供程序具有 资源提供程序在 Azure 门户中的注册状态图标已注册)状态,如果没有,请注册它们。
      • Microsoft.Compute
      • microsoft.insights
      • Microsoft.Network
      • Microsoft.Storage
      • Microsoft.KeyVault
      • Microsoft.Authorization
      • Microsoft.Resources
      • Microsoft.ResourceHealth
      • Microsoft.DBforPostgreSQL
      • Microsoft.Sql

      “资源提供程序”屏幕,带有一个指向未注册的项目的绿色箭头。

结果

此时,您已创建并配置容器的服务提供程序,并且获得了在容器部署向导的第一个步骤中所需的订阅相关值。四个订阅相关值为:

  • 订阅 ID
  • Azure Active Directory ID
  • 应用程序 ID
  • 应用程序密钥值

后续步骤

确认您已收集将在部署向导中输入的所有订阅相关信息。请参阅Horizon Cloud 容器部署向导的订阅相关信息

如果要使用单独的订阅以将外部 Unified Access Gateway 配置部署到现有资源组中,并且要授予更精细且范围更窄的权限而不是订阅级别的访问权限,请参阅Horizon Cloud 在 Microsoft Azure 订阅中所需的操作以了解详细信息。确保为服务主体授予相应的访问权限以满足 Horizon Cloud 部署程序的要求。