アプリケーションへのアクセスの制御
アプリのアクセス制御機能を使用すると、規則を使用してアプリケーションへのアクセスを制御できます。この機能を使用すると、アプリケーションとイメージの管理を合理化するのに役立ちます。たとえば、同一のマシンをさまざまな部署に提供する一方で、各部署の固有のアプリケーション要件を満たし、イメージの数を減らすことができます。
この記事では、アプリのアクセス制御を有効にして制御規則を構成するプロセスについて説明します。また、この機能を使用して仮想環境でのイメージ管理を簡素化する例も示します。
注:
この機能は、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インストールパッケージで使用可能です。詳しくは、「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を実行します。
注:
デフォルトでは、次の2つのファイルが\toolフォルダーに存在します: 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をこのフォルダーから移動しないでください。
- 画面上の指示に従って、非表示規則を作成、管理、および生成します:
-
マシンにインストールされている各アプリケーションとその状態を表示します:
- [Not configured](未構成。)アプリケーションの規則が構成されていません。
- [Configured](構成済み。)アプリケーションに1つまたは複数の規則が構成されていますが、いずれの規則もマシンに適用されていません。
- [Configured and applied](構成済みかつ適用済み。)アプリケーションに1つまたは複数の規則が構成されており、1つ以上の規則がマシンに適用済みです。
-
アプリケーション一覧から、インデックスを入力して非表示にするアプリケーションを選択します。アプリケーションに関連付けられたすべてのファイル、フォルダー、およびレジストリエントリが表示されます。
-
選択したアプリケーションの追加のファイル、フォルダー、またはレジストリエントリを非表示にするには、対応するアクションタイプを選択し、名前とパスを入力してオブジェクトを追加します。さらに追加するには、この手順を繰り返します。
注意事項:
- パス内のシステム環境変数(%windir%など)はサポートされますが、ユーザー環境変数(%appdata%など)はサポートされません。
- ファイルとフォルダーでは、ワイルドカード
*
および?
がサポートされます。文字列にアスタリスク(「*」)が複数ある場合、2つのアスタリスク間の文字は無視されます。たとえば、文字列c:\users\Finance*Manangement*
では、文字*Management*
は単一のアスタリスクとして扱われます。 (*).
注:
アプリケーションを特定のファイル、フォルダー、およびレジストリエントリに関連付けることで、アプリケーションを手動で定義することもできます。
-
規則の割り当てを構成します。具体的には、割り当ての種類を指定し、アプリケーションで非表示にする特定のオブジェクトを入力します。詳しくは、次の表を参照してください。
注:
規則の割り当てを構成しない場合、規則で指定したアプリケーションは表示されません。
割り当ての種類 説明 ADユーザー、ユーザーグループ、またはOU ADドメイン名を縦線(|)で区切って入力します。 ADマシン DNSホスト名を縦線(|)で区切って入力します。 NDJマシンカタログ カタログ名を縦線(|)で区切って入力します。例: Machine_catalog_name1|Machine_catalog_name2
NDJマシン
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\Tester2
Azure 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以降
- 必要なすべてのアプリケーション
非表示規則を作成および生成する
-
テンプレートマシンで、Rule Generatorツールを使用して非表示規則を作成および生成します。
- 規則1:人事部門のユーザーに対してMicrosoft Excelを非表示にする(アプリケーション:Microsoft Excel、割り当て:HRユーザーグループ)
- 規則2:営業部門または人事部門のユーザーに対してVisual Studio Codeを非表示にする(アプリケーション:Visual Studio Code、割り当て:営業ユーザーグループおよび人事ユーザーグループ)
-
2つの規則の生データを生成し、.txtファイルに保存します。
ツールの使用方法について詳しくは、「Rule Generatorを使用して規則を作成、生成、展開する」を参照してください。
これで、テンプレートマシンからイメージをキャプチャできます。
GPOを使用してアプリのアクセス制御を有効にする
仮想マシンが作成されたら、GPOを使用して一元的にアプリのアクセス制御を有効にし、生成された規則をマシンに適用します。詳しくは、「GPOを使用してアプリのアクセス制御を有効にする」を参照してください。