株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

クラウドIDでFSLogixによるプロファイル生成を試す!

はじめに

皆様、こんにちは!
ネットワールドのSEの福村です。

本日はEntra ID Join構成のAVDへクラウドID(Entra ID上のみで作成したアカウント)で接続し、FSLogixの機能を用いて、Azure Files上にプロファイルが生成されるか検証します。

概要

こちらの機能は最近プレビューとしてリリースされ、個人的には注目しておりました。
理由としては、ユーザープロファイルをAzure Filesへ保存する際に、Entra IDのみで完結できるという点になります。
※これまではハイブリットID(Active Directoryから同期されたアカウント)またはEntra IDからEntra Domain Servicesへ同期されたIDでないと、FSLogixを用いたプロファイル管理は不可だったため、実質的にActive DirectoryもしくはEntra Domain Servicesの構築が必須でした。

実施作業としては以下になります。

  • ストレージアカウントの設定
  • イメージ取得元VMでの設定
  • リソースグループに対する権限付与

概要図としては以下になります。

設定作業

ストレージアカウントの設定

  • ストレージアカウントの作成
    通常通り作成します。
  • ロールの割り当て
    ストレージアカウントを作成後、接続ユーザーに対して「記憶域ファイル データの SMB 共有の共同作成者」のロールを付与します。
    ※配下のファイル共有にもロールが付与されます。

Azure Filesの設定

  • Azure Filesの作成
    通常通り作成します。

  • Microsoft Entra Kerberos認証の有効化とファイル共有レベルのアクセス許可の設定

     ロールについてはAzure Filesで書き込みを実施するので共同作成者のロールを付与します。

Microsoft Entra Kerberosに関する設定

  • サービスプリンシパルに管理者の同意を与える

    Microsoft Entra Kerberos 認証を有効にした後は、Microsoft Entra テナントに登録された新しい Microsoft Entra アプリケーションに、管理者の同意を明示的に付与する必要があります。
    Entra IDのアプリケーションの一覧から[Storage Account] <ストレージアカウント名>.file.core.windows.netを選択します。

    サービス メニューで、「API のアクセス許可」 を選択します。「[ディレクトリ名] に管理者の同意を与えます」を選択して、ディレクトリ内のすべてのアカウントに対して要求された 3 つの API アクセス許可 (openid、profile、User.Read) の同意を付与します。

    はいを選択します。

    同意が付与されました。

  • アプリケーション マニフェスト ファイルのタグの更新
    Entra IDのアプリケーションの一覧から[Storage Account] <ストレージアカウント名>.file.core.windows.netを選択し、マニュフェストを選択し、tags プロパティに以下の内容を追記します。

    "kdc_enable_cloud_group_sids"


    こちらを実施する理由としては以下であると認識しています。

    • Kerberos は認証チケットにユーザー属性(グループ SID など)を含め、グループベースの承認に利用する。
    • Windows/AD 互換の Kerberos では、チケットに含められるグループ SID は最大 1,010 個の上限がある。
    • クラウド IDのサポートにより、チケットにオンプレミスとクラウド両方のグループ SID を含める必要が生じ、合計で 1,010個を超えるリスクが高まる。
    • アプリのマニフェスト(タグ)設定で、トークンに含めるグループ情報の出し方を制御し、SID の列挙を抑えることで上限超過を回避できる。なお、これは上限を引き上げるのではなく、含める SID を減らすアプローチとなる。

イメージ取得元VMでの設定

  • グループポリシーの設定

    Entra ID Join端末からAzureファイル共有上のFSLogixプロファイルコンテナにアクセス・マウントできるようにするため以下の設定を実施します。
    以下のポリシーを有効にします。
    Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon

  • レジストリの追加(ローミング プロファイル ソリューション)
    以下のレジストリ値を追加します。
    reg add HKLM\Software\Policies\Microsoft\AzureADAccount /v LoadCredKeyFromProfile /t REG_DWORD /d 1

  • FSLogixエージェントのインストール
    VM上に最新版のエージェントをインストールします。
    https://learn.microsoft.com/ja-jp/fslogix/how-to-install-fslogix

  • レジストリの追加(FSLogix利用のため)
    FSLogixを利用するためのレジストリを追加します。
    ※グループポリシーでも可能です。

リソースグループに対する権限付与

  • 仮想マシンの管理者ログイン権限の付与
     今回は管理者としてログインさせるため上記の権限をリソースグループに対して付与しています。
    ※一般ユーザーとしてログインさせるのであれば仮想マシンのユーザー ログイン権限を付与します。
    ※リソースグループではなく、セッションホスト単位での権限付与も可能です。

接続確認

取得したイメージをセッションホストとして展開しアクセス。Azureファイル共有上にユーザープロファイルができていることを確認できました。

セッションホスト上で編集したファイルも保存されています。 

参考情報

Microsoft Entra ID を使用して AZURE Files FSLogix プロファイル コンテナーを格納する - FSLogix | Microsoft Learn

免責事項

  • 本ブログ(以降:本書)の記載にあたりまして、細心の注意を払っておりますが、正確性・完全性を保証するものではありません。
  • 本書の利用によって生じたあらゆる損害に関して、一切の責任を負いかねます。