アプリケーションへのアクセスを制御する
アプリケーションアクセス制御機能を使用すると、ルールを使用してアプリケーションへのアクセスを制御できます。この機能により、アプリケーションとイメージの管理を効率化できます。たとえば、異なる部門に同一のマシンを提供しながら、それぞれの固有のアプリケーション要件を満たし、イメージの数を減らすことができます。
この記事では、アプリケーションアクセス制御を有効にし、制御ルールを構成するプロセスについて説明します。また、この機能を使用して仮想環境でのイメージ管理を簡素化する例も示します。
注:
この機能は、Active Directory (AD) 環境と非ドメイン参加 (NDJ) 環境の両方に適用されます。
概要
アプリケーションアクセス制御機能を使用すると、非表示ルールを構成することで、ユーザー、マシン、およびプロセスからアプリケーションを非表示にできます。
非表示ルールは次の2つの部分で構成されます。
-
非表示にするオブジェクト。 アプリケーションに対して非表示にするファイル、フォルダー、およびレジストリエントリ。
たとえば、アプリケーションを非表示にするには、ファイル、フォルダー、レジストリエントリなど、そのアプリケーションに関連付けられているすべてのオブジェクトを指定する必要があります。
-
割り当て。 アプリケーションを非表示にするユーザー、マシン、およびプロセス。
割り当ての種類
非表示ルールにおける割り当ては、プロセス、ユーザー、マシンの3つのカテゴリに分類されます。具体的な割り当ての種類は次のとおりです。
| カテゴリ | 種類 |
|---|---|
| プロセス | 任意のプロセス |
| ユーザー
|
|
| マシン
|
|
注:
- App access controlポリシーのコンテキストでは、OUはマシンのコンテナとしてのみ使用され、ユーザーのコンテナとしては使用されません。その結果、OU割り当ては、OU内のマシンからのみアプリを非表示にし、OU内のユーザーからは非表示にしません。
- NDJマシンは、Citrix®が作成および電源管理するマシンに限定されます。
隠蔽ルールに複数の割り当てが構成されている場合、以下の考慮事項に注意してください。
- これらの割り当てが同じカテゴリである場合 (たとえば、ユーザー A と ユーザー グループ B)、アプリケーションは、これらの割り当てで指定されたすべてのオブジェクト (ユーザー A とユーザー グループ B のすべてのユーザー) から隠蔽されます。
- これらの割り当てが異なるカテゴリである場合 (たとえば、ユーザー A と マシン X)、アプリケーションは、これらのすべての割り当てで指定された条件が満たされたとき (ユーザー A がマシン X にサインインしたとき) に隠蔽されます。
- これらの割り当てが プロセス カテゴリである場合、アプリケーションは、これらの割り当てで指定されたすべてのプロセスから隠蔽されます。
注:
ルールに割り当てが構成されていない場合、ルールで指定されたアプリケーションは隠蔽されます。
ワークフロー
アプリケーションアクセス制御機能を使用すると、Profile Management は、提供されたルールに基づいて、ユーザー、マシン、プロセスからアプリケーションを隠蔽できます。大まかに言えば、アプリケーションアクセス制御を実装するワークフローは次のとおりです。
-
隠蔽ルールを作成および生成します。使用できるツールは 2 つあります。
- GUIベースのツール – WEM ツールハブ > アプリケーションアクセス制御用ルールジェネレーター
- PowerShell ツール – Profile Management インストールパッケージで利用可能です。詳細については、「Rule Generator を使用したルールの作成、管理、展開」を参照してください。
-
GPO を使用して、環境内のマシンに隠蔽ルールを適用します。詳細については、「GPO を使用したアプリケーションアクセス制御の有効化」を参照してください。
Rule Generator を使用したルールの作成、管理、展開
このセクションでは、PowerShell ベースの Rule Generator を使用してルールを作成、管理、展開する方法について説明します。
開始する前に、ツールを実行するマシンが以下の要件を満たしていることを確認してください。
- Windows 10または11、あるいはWindows Server 2016、2019、または2022で動作します。
- (AD環境のみ) ユーザーとマシンと同じドメインにあります。
一般的な手順は次のとおりです。
- Windows PowerShell を管理者として実行します。
-
Profile Managementインストールパッケージ内の \tool フォルダーにアクセスし、CPM_App_Access_Control_Config.ps1 を実行します。
注:
デフォルトでは、\tool フォルダーには2つのファイルがあります: CPM_App_Access_Control_Config.ps1 と CPM_App_Access_Control_Impl.ps1。CPM_App_Access_Control_Config.ps1 は、正しく動作するために CPM_App_Access_Control_Impl.ps1 に依存しています。CPM_App_Access_Control_Impl.ps1 をフォルダーから移動しないでください。
- 画面の指示に従って、非表示ルールを作成、管理、生成します。
-
マシンにインストールされている各アプリケーションとその状態を表示します。
- 未構成。アプリケーションに対してルールは構成されていません。
- 構成済み。アプリケーションに対して1つ以上のルールが構成されていますが、それらのいずれもマシンには適用されていません。
- 構成済みで適用済み。アプリケーションに対して1つ以上のルールが構成されており、少なくとも1つのルールがマシンに適用されています。
アプリケーションリスト (/en-us/profile-management/2511/media/app-access-control-tool-app-list.png)
-
アプリケーションリストから、非表示にしたいアプリケーションをインデックスを入力して選択します。そのアプリケーションに関連付けられているすべてのファイル、フォルダー、およびレジストリエントリが表示されます。
追加を選択 (/en-us/profile-management/2511/media/app-access-control-tool-add-extra.png)
-
選択したアプリケーションの追加ファイル、フォルダー、またはレジストリエントリを非表示にするには、対応するアクションタイプを選択し、その名前とパスを入力してオブジェクトを追加します。さらに追加するには、この手順を繰り返します。
考慮事項:
- パス内のシステム環境変数(%windir%など)はサポートされていますが、ユーザー環境変数(%appdata%など)はサポートされていません。
- ファイルとフォルダーでは、ワイルドカード
*と?がサポートされています。文字列に複数のアスタリスク(’*‘)がある場合、2つのアスタリスク間の文字は無視されます。たとえば、文字列c:\users\Finance*Manangement*では、文字*Management*は単一のアスタリスク(*)として扱われます。
注:
特定のファイル、フォルダー、およびレジストリエントリに関連付けることで、アプリケーションを手動で定義することもできます。
-
ルールの割り当てを構成します。詳細には、割り当てタイプを指定し、アプリケーションを非表示にする特定のオブジェクトを入力します。詳細については、次の表を参照してください。
割り当てを選択する (/en-us/profile-management/2511/media/app-access-control-tool-add-assignment.png)
注:
ルールに割り当てを構成しない場合、ルールで指定されたアプリは非表示になります。
割り当てタイプ 説明 ADユーザー、ユーザーグループ、またはOU ADドメイン名を縦棒(|)で区切って入力します。 ADマシン DNS ホスト名を縦棒 (|) で区切って入力します。 NDJ マシンカタログ カタログ名を縦棒 (|) で区切って入力します。例: Machine_catalog_name1\|Machine_catalog_name2NDJ マシン
WEM Web コンソールで AAD/NDJ オブジェクトセレクター を使用してマシン名を収集し、それらの名前を縦棒 (|) で区切って入力します。例: Machine_name1\|Machine_name2。ドメインに参加していないすべてのマシンを追加するには、「NDJ*」と入力します。
ワイルドカード*と?は NDJ マシン名でサポートされています。
注: 文字列に複数のアスタリスク (*) がある場合、2 つのアスタリスク間の文字は無視されます。たとえば、文字列ResearchDep*Virtual*TeamMachine*では、文字*Virtual*は単一のアスタリスク (*) として扱われます。Azure AD ユーザー WEM Web コンソールで AAD/NDJ オブジェクトセレクター を使用してユーザーの SID と名前を収集し、 sid1\name1\|sid2\name2の形式で入力します。例:/azuread/989c2938-6527-4133-bab1-f3860dd15098\Tester1\|/azuread/82bdde32-d5d9-4d64-b0ff-9876d4488d05\Tester2Azure AD グループ WEM Web コンソールで AAD/NDJ オブジェクトセレクター を使用してグループの SID と名前を収集し、 sid1\name1\|sid2\name2の形式で入力します。例:/azuread/989c2938-6527-4133-bab1-f3860dd15098\TestGroup1\|/azuread/82bdde32-d5d9-4d64-b0ff-9876d4488d05\TestGroup2注: 特定のユーザーまたはマシンを除外するには、識別子の前に EX>を追加します。特定のプロセスを除外するには、識別子の前に?を追加します。除外を割り当てられたグループから縦棒 (|) で区切ります。
-
- 手順 3 を繰り返して、他のアプリケーションの非表示ルールを作成します。
- 構成したルールの生データを生成するために画面の指示に従い、将来の使用のために.txtファイルに保存します。
- ルールが期待どおりに機能するかどうかをテストするには、画面の指示に従って、それらをこのマシンまたはマシンのグループに展開します。
GPOを使用してアプリのアクセス制御を有効にする
非表示ルールを作成して生成した後、GPOを使用してそれらを環境内のマシンに適用できます。
GPOを使用して制御ルールをマシンに適用するには、次の手順に従います。
- グループポリシー管理エディターを開きます。
- ポリシー > 管理用テンプレート: ポリシー定義 (ADMX ファイル) > Citrix コンポーネント > プロファイル管理 > アプリのアクセス制御にアクセスします。
- アプリのアクセス制御をダブルクリックします。
- 表示されるポリシーウィンドウで、有効を選択します。
- 生成されたルールを保存した.txtファイルを開き、内容をコピーして、アプリのアクセス制御ルールフィールドに貼り付けます。
- ルールが
\r\nではなく\nで区切られていることを確認するために、ルールコンテンツを再確認してください。Windowsでは、コンテンツを貼り付けると\nが自動的に\r\nに変換される可能性があり、エラーの原因となることがあります。 - OKをクリックします。
この機能の構成の優先順位は次のとおりです。
- この設定がGPO、Studio、またはWEMを使用していない場合、.iniファイルの値が使用されます。
- この設定がどこにも構成されていない場合、機能は無効になります。
例
このセクションでは、イメージのアプリアクセス制御を実装するための例を説明します。
要件
この例の要件は次のとおりです。
- 単一のイメージを使用して、営業、人事、エンジニアリング部門向けの仮想マシンを作成します。
- 以下のアプリケーションへのアクセスを制御します。
- Microsoft Excel: 人事部門のユーザーには表示されません。
- Visual Studio Code: 営業部門または人事部門のユーザーには表示されません。
解決策
インストールされているアプリケーションへのアクセスを制御するために、Profile Managementをインストールします。
テンプレートマシンのインストール
イメージをキャプチャするためのテンプレートマシンをインストールします。手順は次のとおりです。
- 新しいマシンを、ユーザーおよびマシンと同じADドメインに参加させます。
- マシンに以下のソフトウェアをインストールします。
- 必要に応じて、Windows 10または11、あるいはWindows Server 2016、2019、または2022
- Profile Management バージョン 2303 以降
- 必要なすべてのアプリケーション
非表示ルールを作成して生成する
-
テンプレートマシンで、Rule Generator ツールを使用して非表示ルールを作成および生成します。
- ルール 1: 人事部門のユーザーから Microsoft Excel を非表示にする(アプリケーション: Microsoft Excel; 割り当て: 人事ユーザーグループ)
- ルール 2: 営業部門または人事部門のユーザーから Visual Studio Code を非表示にする(アプリケーション: Visual Studio Code; 割り当て: 営業ユーザーグループおよび人事ユーザーグループ)
-
2つのルールの生データを生成し、.txt ファイルに保存します。
ツールの使用方法の詳細については、「Rule Generator を使用してルールを作成、生成、展開する」を参照してください。
これで、テンプレートマシンからイメージをキャプチャできます。
GPO を使用してアプリのアクセス制御を有効にする
仮想マシンが作成されたら、GPO を使用してアプリのアクセス制御を一元的に有効にし、生成されたルールをマシンに適用します。詳細については、「GPO を使用してアプリのアクセス制御を有効にする」を参照してください。
FSLogix からルールセットを移行する
Rule Generator ツールを使用して、FSLogix で構成されたルールセットを Profile Management のアプリアクセス制御に移行できます。
注:
FSLogix で使用されている一部のルールタイプと割り当てタイプは、アプリのアクセス制御ではサポートされていません。環境を確認し、必要に応じて代替構成を検討してください。
FSLogix ルールセットを移行するには:
-
移行を開始するには、[インポート] > [FSLogix Apps ルールセット] をクリックします。
-
[参照] をクリックし、FSLogix Rule Editor を使用して保存された FSLogix ルール定義ファイルを見つけて、[開く] をクリックします。
注:
ルール定義ファイルとその関連付けられた割り当てファイルが同じフォルダーに保存されていることを確認してください。このツールは、サポートされているルールセットを割り当てとともに移行します。
-
移行が完了したら、詳細を確認します。
サポートされていないルールやデータがないか確認し、結果を検証します。移行後にルールを編集または追加できます。
-
プロセスを完了するには、[インポート] をクリックします。
移行されたルールはテスト可能になり、既存のルールとともに保存できます。