Horizon Cloud ポッド デプロイヤは、Horizon Cloud ポッドのために Microsoft Azure サブスクリプションのキャパシティにアクセスして使用するには、サービス プリンシパルが必要です。Microsoft Azure Active Directory アプリケーションを登録すると、サービス プリンシパルも作成されます。また、認証キーを生成して、サブスクリプション レベルでプリンシパル サービスに役割を割り当てる必要があります。この機能を使用して、外部ゲートウェイがポッドとは別の専用のサブスクリプションを使用するようにする場合は、そのサブスクリプションに関連付けられているサービス プリンシパルについても同様の手順を実行する必要があります。

サービス プリンシパルを作成するための最新の詳細情報およびスクリーンショットについては、Microsoft Azure ドキュメントの「方法:ポータルを使用してリソースにアクセスできる Azure AD アプリケーションとサービス プリンシパルを作成する」トピックを参照してください。

重要: Horizon Cloud の使用のために構成する各サービス プリンシパルには、そのサービス プリンシパルの関連付けられたサブスクリプションで適切なロールを割り当てる必要があります。サービス プリンシパルへのロールは、そのサービス プリンシパルに関連付けられた Microsoft Azure サブスクリプションの Horizon Cloud 管理対象リソースで Horizon Cloud が動作するために必要なアクションを許可する必要があります。ポッドのサブスクリプションのサービス プリンシパルには、ポッドを正常にデプロイし、ポッドおよびポッドが管理するリソース上で動作するアクションを許可するロールが必要です。それによって、管理コンソールを使用して開始された管理者ワークフローを満たし、ポッドを長期にわたって維持することができます。ポッドの外部 Unified Access Gateway 構成に個別のサブスクリプションを使用する場合、そのサブスクリプションのサービス プリンシパルには、そのゲートウェイ構成に必要なリソースを正常にデプロイし、それらの Horizon Cloud が管理するリソース上で動作するアクションを許可するロールが必要です。それによって、管理者ワークフローを満たし、それらのゲートウェイに関連するリソースを長期にわたって維持することができます。

Microsoft Azure サブスクリプションでの Horizon Cloud によって要求される操作 の説明に従って、次のいずれかの方法を使用してサービス プリンシパルにアクセスを許可する必要があります。

  • サブスクリプション レベルで、共同作成者ロールを割り当てます。共同作成者ロールは、Microsoft Azure の組み込みロールの 1 つです。共同作成者ロールについては、Microsoft Azure ドキュメントの「Azure リソースの組み込みロール」を参照してください。
  • サブスクリプション レベルで、Horizon Cloud がポッド関連リソースの展開、および管理者によって開始された進行中のワークフローとポッド メンテナンス操作のために必要とする許可された最小セットのアクションをサービス プリンシパルに提供するように設定したカスタム ロールを割り当てます。
  • 外部 Unified Access Gateway 構成に個別のサブスクリプションを使用し、既存のリソース グループにデプロイする場合、有効な組み合わせは、範囲を限定した権限を提供するロールを使用してそのリソース グループおよび関連する VNet にアクセスするための権限をサービス プリンシパルに許可し、さらに、組み込みの Reader ロールを使用してサブスクリプションにアクセスするための権限をサービス プリンシパルに許可することです。

また、ロールは Horizon Cloud に使用するサービス プリンシパルに直接割り当てる必要があります。サービス プリンシパルへのロールのグループベースの割り当ての使用(ロールがグループに割り当てられ、サービス プリンシパルがそのグループのメンバーとなる)はサポートされていません。

登録アカウントに応じた Microsoft Azure ポータルを使用して、次の手順を行います。たとえば、これらの Microsoft Azure クラウドのための特定のポータル エンドポイントがあります。

  • Microsoft Azure Commercial(標準グローバル地域)
  • Microsoft Azure China
  • Microsoft Azure US Government
注: これらの手順の実行中に、デプロイ ウィザードで必要になる値を収集できます。詳細については、 Horizon Cloud ポッドのデプロイ ウィザードのためのサブスクリプション関連情報を参照してください。
  • アプリケーション ID
  • 認証キー
注意: プライベート キーの有効期限を設定することもできますが、設定する場合には、期限切れになる前に必ずキーを更新する必要があります。期限内にキーを更新しないと、関連する Horizon Cloud ポッドが機能しなくなります。 Horizon Cloud は、ユーザーが設定した期間を認識することも、確認することもできません。操作を簡単にするため、キーの有効期限に [無期限] を設定します。

有効期限に [無期限] を設定する代わりに、期限が切れる前にキーを更新する場合は、有効期限内に Horizon Cloud にログインし、サブスクリプション情報が記載されているポッドの詳細で、関連するポッドのサブスクリプション情報に新しいキーの値を入力する必要があります。詳細な手順については、『管理ガイド』のデプロイされたポッドに関連付けられているサブスクリプション情報の更新のトピックを参照してください。

以下の手順では、手順 7.a は、サブスクリプション レベルでアクセスが許可されるサービス プリンシパルを示しています。

前提条件

組み込みの共同作成者ロールの代わりにカスタム プリンシパル ロールをサービス プリンシパルに割り当てる場合は、カスタム ロールがサブスクリプションに存在することを確認します。Microsoft Azure サブスクリプションでの Horizon Cloud によって要求される操作の説明に従って、カスタム ロールが Horizon Cloud によって必要となる管理操作を許可することを確認します。

手順

  1. Microsoft Azure ポータルの左側のナビゲーション バーで、Microsoft Azure ポータルのメイン メニューにある Microsoft Azure Active Directory メニュー項目 ([Azure Active Directory]) をクリックし、Azure ポータルの Azure Active Directory サブメニューにある [アプリの登録] メニュー項目 ([アプリの登録]) をクリックします。
  2. [新しいアプリケーションを登録] をクリックします。
  3. わかりやすい名前を入力し、サポートされているアカウント タイプを選択します。
  4. [リダイレクト URI] セクションで、[Web] を選択し、「http://localhost:8000」と入力して、[登録] をクリックします。
    オプション 説明
    [名前] 任意の名前を設定できます。同じサブスクリプション内で Horizon Cloud が使用するサービス プリンシパルと他のサービス プリンシパルが区別できるように設定してください。
    [リダイレクト URI] [Web] が選択されていることを確認します。

    示されるとおりに http://localhost:8000 を入力します。Microsoft Azure は、これを必須フィールドとしてマークします。これは、Horizon Cloud ではサービス プリンシパル http://localhost:8000 が Microsoft Azure 要件を満たすために使用され、シングル サインオン URL を必要としないためです。

    新しく作成されたアプリ登録が画面に表示されます。
  5. アプリケーション ID とディレクトリ(テナント)ID をコピーし、デプロイ ウィザードの実行中に参照できる場所に保存します。

    サービス プリンシパルの詳細画面。矢印はアプリケーション ID を指しています。

  6. サービス プリンシパルの詳細画面で、サービス プリンシパルの認証プライベート キーを作成します。
    1. Microsoft Azure ポータルの証明書とシークレット メニュー項目[証明書とシークレット])をクリックします。
    2. [新しいクライアントのシークレット] をクリックします。
    3. 説明を入力して有効期限を選択し、[追加] をクリックします。
      キーの説明は 16 文字以下にしてください。たとえば、 Hzn-Cloud-Key1 と入力します。
      注意: 有効期限は [無期限] に設定するか、特定の期間を設定します。ただし、特定の期間を設定する場合は、有効期限が切れる前にキーを更新し、コンソールを使用して、ポッドのサブスクリプション情報が記載されているポッドの詳細で、 Horizon Cloud に新しいキーを入力する必要があります。そうしないと、関連ポッドは機能しなくなります。 Horizon Cloud は、Microsoft Azure ポータルで設定した期間を検出または認識できません。

      無期限の新しいキーが追加された [キー] 画面

      重要: シークレット値をコピーし、後で参照可能な場所に貼り付けるまでは、この画面を開いたままにします。シークレット値のコピーが完了するまで、画面を終了しないでください。

      [クライアント シークレット] 画面で値がモザイク処理された認証キー

    4. デプロイ ウィザードの実行中に参照できる場所にシークレット値をコピーします。
  7. サブスクリプション レベルでプリンシパル サービスにロールを割り当てます。
    注意: サービス プリンシパルに割り当てられたロールでポッド デプロイヤが必要とする操作が許可されていない場合、デプロイ ウィザードで選択するオプションに従って、ウィザードはウィザードの手順を完了できないようにブロックします。割り当てられたロールが提供する必要がある権限については、 Microsoft Azure サブスクリプションでの Horizon Cloud によって要求される操作を参照してください。
    1. Microsoft Azure ポータルのメイン ナビゲーション バーで [すべてのサービス] をクリックし、[サブスクリプション] をクリックし、ポッドで使用するサブスクリプションの名前をクリックして、サブスクリプションの設定画面に移動します。
      注: ここで、画面に表示されたサブスクリプション ID をコピーできます。この ID は、デプロイ ウィザードで必要になります。

      Azure ポータルに表示されたサブスクリプションの詳細。緑色の矢印の部分 ID。ぼかしが付いて、値は見えなくなっています。

    2. [アクセス制御 (IAM)] メニュー項目[アクセス制御 (IAM)])をクリックして、[追加] > [ロール割り当てを追加] の順にクリックし、[ロール割り当てを追加] 画面を開きます。
    3. [ロールの割り当てを追加] 画面で、[ロール] に対して、Microsoft Azure サブスクリプションでの Horizon Cloud によって要求される操作で説明されているルールに従って、割り当てているロールを選択します。
    4. 指定した名前でサービス プリンシパルを検索するには、[選択] ボックスを使用します。
      次のスクリーンショットは、サービス プリンシパルに対して 共同作成者ロールが選択されているこのステップを示します。
      Azure ポータルの [権限の追加] 画面のスクリーンショット。所有者の役割が選択されていて、サービス プリンシパルの検索が行われています。

      注: [アクセス権限の割り当て先] ドロップダウン リストが [Azure AD ユーザー、グループ、またはアプリケーション] に設定されていることを確認します。
    5. サービス プリンシパルをクリックしてメンバーに設定し、[保存] をクリックします。

      [権限の追加] 画面。所有者の役割の選ばれたメンバーとしてサービス プリンシパルが追加されています。

  8. ポッドに必要なリソース プロバイダがサブスクリプションに登録されていることを確認します。
    Horizon Cloud でサブスクリプションに登録する必要があるリソース プロバイダのリストについては、 Horizon Cloud で Microsoft Azure サブスクリプションにおける状態が登録済みになっている必要があるリソース プロバイダを参照してください。Microsoft Azure のドキュメントに記載されているとおり、一部のリソース プロバイダはデフォルトで登録されますが、その他のリソース プロバイダはサブスクリプションでの明示的な手動登録を必要とします。ポッドのデプロイ ウィザードを実行する前に、 Horizon Cloud で必要なリソース プロバイダが [登録済み] 状態になっていることを確認してください。
    1. 前の手順で使用した [アクセス制御 (IAM)] 画面で、サブスクリプションのメニューにある サブスクリプションの設定メニューから選択した [リソース プロバイダ] 項目 ([Resource providers]) をクリックし、サブスクリプションに登録されているリソース プロバイダのリストを表示します。
    2. Horizon Cloud が必要とするリソース プロバイダが、Azure ポータルでのリソース プロバイダの登録済み状態を表すアイコン[登録済み])状態になっていることを確認します。この状態でない場合には、プロバイダを登録します。
      次のスクリーンショットにリソース プロバイダを示します。ほとんどのリソース プロバイダは [登録済み] 状態になっていますが、1 つのリソース プロバイダはなっていません。
      未登録(緑色の矢印)が表示されている [リソース プロバイダ] 画面。

結果

これで、ポッドのサービス プロバイダが作成および構成され、Horizon Cloud が必要とするリソース プロバイダの登録状態が確認され、ポッドのデプロイ ウィザードの最初の手順で必要なサブスクリプション関連の値があります。4 つのサブスクリプション関連の値は次のとおりです。

  • サブスクリプション ID
  • Azure Active Directory ID
  • アプリケーション ID
  • アプリケーション キーの値

次のタスク

デプロイ ウィザードに入力するすべてのサブスクリプション関連情報が収集されたことを確認します。Horizon Cloud ポッドのデプロイ ウィザードのためのサブスクリプション関連情報を参照してください。

外部の Unified Access Gateway 構成を既存のリソース グループにデプロイするために個別のサブスクリプションを使用し、サブスクリプション レベルでのアクセスではなく、より詳細に範囲を限定した権限を付与する場合は、詳細についてMicrosoft Azure サブスクリプションでの Horizon Cloud によって要求される操作を参照してください。Horizon Cloud デプロイヤの要件を満たすためにサービス プリンシパルに適切なアクセス権が許可されていることを確認します。