アプリケーションへのアクセスを制御する
アプリケーションアクセス制御機能を使用すると、ルールを使用してアプリケーションへのアクセスを制御できます。この機能により、アプリケーションとイメージの管理を効率化できます。たとえば、異なる部門に同一のマシンを提供しながら、それぞれの固有のアプリケーション要件を満たすことができ、イメージの数を削減できます。
この記事では、アプリケーションアクセス制御を有効にし、制御ルールを構成するプロセスについて説明します。また、この機能を使用して仮想環境でのイメージ管理を簡素化する例も示します。
注:
この機能は、Active Directory (AD) 環境と非ドメイン参加 (NDJ) 環境の両方に適用されます。
概要
アプリケーションアクセス制御機能を使用すると、非表示ルールを構成することで、ユーザー、マシン、プロセスからアプリケーションを非表示にできます。
非表示ルールは次の2つの部分で構成されます。
-
非表示にするオブジェクト。 アプリケーションに対して非表示にするファイル、フォルダー、およびレジストリエントリ。たとえば、アプリケーションを非表示にするには、ファイル、フォルダー、レジストリエントリなど、そのアプリケーションに関連付けられているすべてのオブジェクトを指定する必要があります。
-
割り当て。 アプリケーションを非表示にする対象のユーザー、マシン、およびプロセス。
割り当ての種類
非表示ルールにおける割り当ては、プロセス、ユーザー、マシンの3つのカテゴリに分類されます。具体的な割り当ての種類は次のとおりです。
| カテゴリ | タイプ |
|---|---|
| プロセス | 該当なし |
| ユーザー |
|
| マシン |
|
注:
-
アプリのアクセス制御のコンテキストでは、OU はマシンのコンテナとしてのみ使用され、ユーザーのコンテナとしては使用されません。その結果、OU の割り当ては、OU 内のマシンからのみアプリを非表示にし、OU 内のユーザーからは非表示にしません。
-
NDJ マシンは、Citrix® が作成し、電源管理するマシンに限定されます。
非表示ルールに複数の割り当てが構成されている場合は、次の考慮事項に注意してください。
-
これらの割り当てが同じカテゴリである場合 (たとえば、ユーザー A と ユーザー グループ B)、アプリケーションはこれらの割り当てで指定されたすべてのオブジェクト (ユーザー A とユーザーグループ B のすべてのユーザー) から非表示になります。
-
これらの割り当てが異なるカテゴリである場合 (たとえば、ユーザー A と マシン X)、アプリケーションはこれらのすべての割り当てで指定された条件が満たされたときに非表示になります (ユーザー A がマシン X にサインインしたとき)。
-
これらの割り当てが プロセス カテゴリである場合、アプリケーションはこれらの割り当てで指定されたすべてのプロセスから非表示になります。
注:
ルールに割り当てが構成されていない場合、ルールで指定されたアプリケーションは非表示になります。
ワークフロー
アプリのアクセス制御機能を使用すると、Profile Management は、指定したルールに基づいて、ユーザー、マシン、プロセスからアプリケーションを非表示にできます。大まかに言うと、アプリのアクセス制御を実装するワークフローは次のとおりです。
-
非表示ルールを作成および生成します。使用できるツールは 2 つあります。
-
GUI ベースのツール – WEM Tool Hub > アプリアクセス制御用ルールジェネレーター
-
PowerShell ツール – Profile Management インストールパッケージに含まれています。詳細については、「ルールジェネレーターを使用してルールを作成、管理、展開する」を参照してください。
-
-
GPO を使用して、環境内のマシンに非表示ルールを適用します。詳細については、「GPO を使用してアプリのアクセス制御を有効にする」を参照してください。
ルールジェネレーターを使用してルールを作成、管理、展開する
このセクションでは、PowerShell ベースのルールジェネレーターを使用してルールを作成、管理、展開する方法について説明します。
開始する前に、ツールを実行するマシンが次の要件を満たしていることを確認してください。
-
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/2407/media/app-access-control-tool-add-extra.png)
-
選択したアプリケーションの追加ファイル、フォルダー、またはレジストリエントリを非表示にするには、対応するアクションタイプを選択し、その名前とパスを入力してオブジェクトを追加します。さらに追加するには、この手順を繰り返します。考慮事項:
-
パス内のシステム環境変数(%windir%など)はサポートされていますが、ユーザー環境変数(%appdata%など)はサポートされていません。
-
ファイルとフォルダーでは、ワイルドカード
*および?がサポートされています。文字列内に複数のアスタリスク('*')がある場合、2つのアスタリスク間の文字は無視されます。たとえば、文字列c:\users\Finance*Manangement*では、文字*Management*は単一のアスタリスク(*)として扱われます。
注:特定のファイル、フォルダー、およびレジストリエントリに関連付けることで、アプリケーションを手動で定義することもできます。 -
-
ルールの割り当てを構成します。詳細には、割り当てタイプを指定し、アプリケーションを非表示にする特定のオブジェクトを入力します。詳細については、次の表を参照してください。「割り当てを選択」(/en-us/profile-management/2407/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
-
-
他のアプリケーションの非表示ルールを作成するには、手順3を繰り返します。
-
画面の指示に従って、構成したルールの生データを生成し、後で使用するために.txtファイルに保存します。
-
ルールが期待どおりに機能するかどうかをテストするには、画面の指示に従って、それらをこのマシンまたはマシンのグループに展開します。注:このツールを使用して本番環境にルールを展開することはお勧めしません。
GPO を使用してアプリのアクセス制御を有効にする
非表示ルールを作成および生成したら、GPO を使用して、環境内のマシンに適用できます。
GPO を使用してマシンに制御ルールを適用するには、次の手順に従います。
-
グループポリシー管理エディターを開きます。
-
「ポリシー > 管理用テンプレート: ポリシー定義 (ADMX ファイル) > Citrix コンポーネント > Profile Management > アプリケーションアクセス制御」にアクセスします。
-
「アプリケーションアクセス制御」をダブルクリックします。
-
表示されるポリシーウィンドウで、「有効」を選択します。
-
生成されたルールを保存した.txtファイルを開き、内容をコピーして、「アプリケーションアクセス制御ルール」フィールドに貼り付けます。
-
OKをクリックします。
この機能の構成の優先順位は次のとおりです。
-
この設定がGPO、Studio、またはWEMを使用していない場合、.iniファイルの値が使用されます。
-
この設定がどこにも構成されていない場合、この機能は無効になります。
例
このセクションでは、イメージのアプリケーションアクセス制御を実装するための例を説明します。
要件
この例の要件は次のとおりです。
-
単一のイメージを使用して、営業、人事、エンジニアリング部門向けの仮想マシンを作成します。
-
次のアプリケーションへのアクセスを制御します。
-
Microsoft Excel: 人事部門のユーザーには表示されません。
-
Visual Studio Code: 営業部門または人事部門のユーザーには表示されません。
-
解決策
インストールされているアプリケーションへのアクセスを制御するために、Profile Managementをインストールします。
テンプレートマシンをインストールする
イメージをキャプチャするためのテンプレートマシンをインストールします。手順は次のとおりです。
-
新しいマシンを、ユーザーおよびマシンと同じADドメインに参加させます。
-
マシンに次のソフトウェアをインストールします。
-
必要に応じて、Windows 10または11、あるいはWindows Server 2016、2019、または2022
-
Profile Managementバージョン2303以降
-
必要なすべてのアプリケーション
-
非表示ルールを作成および生成する
-
テンプレートマシンで、ルールジェネレーターツールを使用して非表示ルールを作成および生成します。
-
ルール1:人事部のユーザーからMicrosoft Excelを非表示にする(アプリケーション:Microsoft Excel、割り当て:人事ユーザーグループ)
-
ルール2:営業部または人事部のユーザーからVisual Studio Codeを非表示にする(アプリケーション:Visual Studio Code、割り当て:営業ユーザーグループおよび人事ユーザーグループ)
-
-
2つのルールの生データを生成し、.txtファイルに保存します。
ツールの使用方法について詳しくは、「ルールジェネレーターを使用してルールを作成、生成、展開する」を参照してください。
これで、テンプレートマシンからイメージをキャプチャできます。
GPOを使用してアプリのアクセス制御を有効にする
仮想マシンが作成されたら、GPOを使用してアプリのアクセス制御を一元的に有効にし、生成されたルールをマシンに適用します。詳しくは、「GPOを使用してアプリのアクセス制御を有効にする」を参照してください。