コンテキストに基づくアプリ保護
コンテキストに基づくアプリ保護では、特定のユーザーに対して、ユーザー、ユーザーのデバイス、およびネットワークポスチャに基づいて条件付きでアプリ保護ポリシーを適用するための細やかな柔軟性が提供されます。
コンテキストに基づくアプリ保護の実装
ブローカーアクセスポリシールールで定義された接続フィルターを使用して、コンテキストに応じたアプリ保護を実装できます。ブローカーアクセスポリシーは、デスクトップグループへのユーザーアクセスを制御するルールを定義するものです。ポリシーは一連のルールで構成されます。各ルールは1つのデスクトップグループに関連付けられ、一連の接続フィルターとアクセス権制御が含まれます。
ユーザーの接続の詳細が、1つあるいはそれ以上のブローカーアクセスポリシールールの接続フィルターに一致すると、デスクトップグループにアクセスできるようになります。デフォルトでは、ユーザーはサイト内のどのデスクトップグループにもアクセスできません。要件に応じて、追加のブローカーアクセスポリシーを作成できます。複数のルールを同じデスクトップグループに適用できます。詳しくは、「New-BrokerAssignmentPolicyRule」を参照してください。
ブローカーアクセスポリシールールの次のパラメーターによって、ユーザーの接続がアクセスポリシールールで定義された接続フィルターと一致する場合に、状況に応じたアプリ保護を可能にする柔軟性が提供されます:
AppProtectionKeyLoggingRequired
AppProtectionScreenCaptureRequired
ブローカーアクセスポリシーで参照されているスマートアクセスフィルターを使用して、接続フィルターを調整します。スマートアクセスフィルターの構成については、こちらのサポート記事を参照してください。スマートアクセスポリシーを使用してコンテキストに基づくアプリ保護を設定する方法は、以下のシナリオを参照してください。
前提条件
お使いの環境が次の要件を満たしていることを確認してください:
- Citrix Virtual Apps and Desktopsバージョン2109以降
- Delivery Controllerバージョン2109以降
- StoreFrontバージョン1912以降
- NetScalerとStoreFront間の正常な接続。詳しくは、「Citrix GatewayとStoreFrontの統合」を参照してください
- 特定のLTSRバージョンのXMLテーブルのインポート - 以下の手順1を参照してください
- スマートアクセスタグが必要なシナリオでは、NetScaler Gatewayでスマートアクセスを有効にします。詳しくは、こちらのサポート記事を参照してください。
- ライセンスの要件
- アプリ保護オンプレミスライセンス
- スマートアクセスタグを使用するシナリオ向けのCitrix Gatewayユニバーサルライセンス
コンテキストに基づくアプリ保護を有効にする
-
Citrixダウンロードページから、お使いのCitrix Virtual Apps and Desktopsバージョンの「コンテキストに基づくアプリ保護ポリシー」(機能テーブル)をダウンロードします。
- Delivery Controllerで、次のPowerShellコマンドを実行します:
asnp Citrix*Set-BrokerSite-TrustRequestsSentToTheXmlServicePort $true
-
次のコマンドを実行して、Delivery Controllerでコンテキストに基づくアプリ保護を有効にします:
Import-ConfigFeatureTable <path to the downloaded feature table>
。例:
Import-ConfigFeatureTable\Downloads\FeatureTable.OnPrem.AppProtContextualAccess.xml
。
コンテキストに基づくアプリ保護の有効化 - いくつかのシナリオ
シナリオ1:Access Gatewayを経由する外部ユーザーのアプリ保護を有効にする
すべてのデリバリーグループに対して、デフォルトで2つのブローカーアクセスポリシーが作成されます。1つはAccess Gateway経由の接続用で、もう1つは直接接続用です。Access Gateway経由の接続に対してのみアプリ保護を有効にできます。
次の手順では、「Admin_Desktop」という名称のデスクトップが含まれる「Admin_Desktop_Group」というデリバリーグループの外部ユーザーのアプリ保護を有効にします:
-
Delivery ControllerからPowerShellコマンド
Get-BrokerAccesspolicyRule
を実行します。これにより、このグループ向けに定義された2つのブローカーアクセスポリシーである「Admin_Desktop_Group_AG」と「Admin_Desktop_Group_Direct」が得られます。 -
Access Gateway接続のアプリ保護ポリシーを有効にするには、次のコマンドを実行します:
Set-BrokerAccessPolicyRule Admin_Desktop_Group_AG -AppProtectionKeyLoggingRequired $true -AppProtectionScreenCaptureRequired $true
-
直接接続のアプリ保護ポリシーを無効にするには、次のコマンドを実行します:
Set-BrokerAccessPolicyRule Admin_Desktop_Group_Direct -AppProtectionKeyLoggingRequired $false -AppProtectionScreenCaptureRequired $false
-
確認。Citrix Workspaceアプリが開いている場合は、ログアウトします。Citrix Workspaceアプリに再度ログインし、Access Gateway経由の外部接続からリソース「Admin_Desktop」を起動する。アプリ保護ポリシーが管理デスクトップに適用されていることがわかります。
シナリオ2:特定のデバイスタイプのアプリ保護を無効にする。たとえば、iPhone
以下は、「Win10Desktop」というデリバリーグループでiPhoneユーザーのアプリ保護を無効にする手順です。
手順1:スマートアクセスポリシーを作成する
- Citrix ADC管理UIにログインします。
-
左側のナビゲーションメニューで、[Citrix Gateway]>[仮想サーバー]に移動します。
後でブローカーアクセスポリシーを構成するために必要になるため、VPN仮想サーバー名を書き留めておきます。
- [VPN仮想サーバー] をクリックします。ページの一番下までスクロールし、[セッションポリシー]をクリックします。セッションポリシーの一覧が表示されます。
-
[バインドの追加] をクリックします。
-
[追加してセッションポリシーを作成] をクリックします。
-
セッションポリシーの名前を入力します。ここでは、「temp」と入力します
-
[プロファイル]の横にある [追加] をクリックして、プロファイル名を指定します。[作成] をクリックします。
- [セッションポリシー]ウィンドウから [式エディター] をクリックします。
-
ユーザーエージェント文字列で「iPhone」を確認するには、次の式を作成します:HTTP.REQ.HEADER(“User-Agent”).CONTAINS(“iPhone”)
- [バインド] をクリックして、セッションポリシーを作成します。
手順2:ブローカーアクセスポリシールールを作成します。
Access Gateway経由でWin10DesktopにアクセスするiPhoneユーザーにポリシーを適用するには、
-
次のコマンドをDelivery controller(DDC)で実行します:
Get-BrokerAccessPolicyRule
。これにより、DDCで定義されたすべてのブローカーアクセスポリシーが一覧表示されます。この例では、「Win10Desktop」というデリバリーグループのブローカーアクセスポリシーは、「Win10Desktop_AG」と「Win10Desktop_Direct」です。次の手順のために、デリバリーグループのデスクトップグループUIDを書き留めておきます。 -
Win10Desktop用のブローカーアクセスポリシールールを作成し、コマンド
New-BrokerAccessPolicyRule -Name Win10Desktop_AG_iPhone -DesktopGroupUid <Uid_of_desktopGroup> -AllowedConnections ViaAG -AllowedProtocols HDX, RDP -AllowedUsers AnyAuthenticated -AllowRestart $true -AppProtectionKeyLoggingRequired $false -AppProtectionScreenCaptureRequired $false -Enabled $true -IncludedSmartAccessFilterEnabled $true
を使用してAccess Gatewayを経由してくるiPhoneユーザーをフィルター処理します。Uid_of_desktopGroupは、手順1でGetBrokerAccessPolicyルールを実行して取得したデリバリーグループのDesktopGroupUIDです。
-
Access Gatewayを経由してくるWin10DesktopのiPhoneユーザーのアプリ保護を無効にするには、次のコマンドを使用して、スマートアクセスタグ 「temp」(「手順1:スマートアクセス ポリシーを作成する」で作成したもの)を参照します:
-
Access Gatewayを経由してくるWin10DesktopのiPhoneユーザーのアプリ保護を無効にするには、手順1で作成したスマートアクセスタグ 「temp」を参照します。次のコマンドを使用してスマートアクセスポリシーを作成します:
Set-BrokerAccessPolicyRule Win10Desktop_AG_iPhone -IncludedSmartAccessTags Primary_HDX_Proxy:temp -AppProtectionScreenCaptureRequired $false -AppProtectionKeyLoggingRequired $false
Primary_HDX_Proxyは、先ほどの「手順1、スマートアクセスポリシーを作成する」で出てきたVPN仮想サーバー名です。
-
残りのWin10desktopユーザーに対してアプリ保護ポリシーを有効にするには、次のコマンドを使用します:
Set-BrokerAccessPolicyRule Win10Desktop_AG -AppProtectionScreenCaptureRequired $true -AppProtectionKeyLoggingRequired $true
-
確認
iPhoneの場合:Citrix WorkspaceをiPhoneで開いている場合は、アプリからログアウトします。 Access Gatewayによる接続を使用して外部からCitrix Workspaceアプリにログインします。 StoreFrontに必要なリソースが表示され、アプリ保護が無効になっているはずです。
iPhone以外のデバイスの場合: Citrix Workspaceをデバイスで開いている場合は、アプリからログアウトします。Access Gatewayで外部からCitrix Workspaceアプリにログインします。 StoreFrontに必要なリソースが表示され、アプリ保護が無効になっているはずです。
シナリオ3 - Webブラウザーからのアクセスで開始した接続のアプリ保護を無効にし、Citrix Workspaceアプリからの接続のアプリ保護を有効にする
次の手順では、「Win10Desktop」というデリバリーグループで、Webブラウザーからアクセスして接続が開始されたときのアプリ保護を無効にします。
-
手順1:スマートアクセスポリシーを作成する
-
シナリオ2で定義されているように、Citrix Workspaceアプリから開始された接続をフィルター処理するスマートアクセスポリシーを作成します。ユーザーエージェント文字列で「CitrixReceiver」を確認するには、次の式を作成します:HTTP.REQ.HEADER(“User-Agent”).CONTAINS(“CitrixReceiver”)。ここでは、スマートアクセスポリシーは「cwa」です。
-
別のスマートアクセスポリシー、HTTP.REQ.HEADER(“User-Agent”).CONTAINS(“CitrixReceiver”).NOTを作成して、Citrix Workspaceアプリから開始されていない接続をフィルター処理します。ここでは、このスマートアクセスポリシーは「browser」です。
-
-
手順2:ブローカーアクセスポリシールールを作成する
-
GetBrokerAccessPolicyRule
を実行して、Win10Desktopの2つのブローカーアクセスポリシーを表示します。「Win10Desktop」というデリバリーグループの場合、ブローカーアクセスポリシーは「Win10Desktop_AG」と「Win10Desktop_Direct」です。Win10DesktopのデスクトップグループUIDを書き留めておいてください。 -
Win10Desktop向けのブローカーアクセスポリシーを作成して、Citrix Workspaceアプリから開始された接続をフィルタリングします。
New-BrokerAccessPolicyRule -Name Win10Desktop_AG_CWA -DesktopGroupUid <Uid_of_desktopGroup> -AllowedConnections ViaAG -AllowedProtocols HDX, RDP -AllowedUsers AnyAuthenticated -AllowRestart $true -Enabled $true -IncludedSmartAccessFilterEnabled $true
.Uid_of_desktopGroupは、手順1でGetBrokerAccessPolicyルールを実行して取得したデリバリーグループのDesktopGroupUIDです。
-
次のコマンドを使用して、スマートアクセスタグ「cwa」を参照してCWAを経由してくる接続に対してのみアプリ保護ポリシーを有効にします:
Set-BrokerAccessPolicyRule Win10Desktop_AG_CWA -IncludedSmartAccessTags Primary_HDX_Proxy:cwa -AppProtectionScreenCaptureRequired $true -AppProtectionKeyLoggingRequired $true
。Primary_HDX_Proxyは、先ほどの「手順1、スマートアクセスポリシーを作成する」で書き留めておいたVPN仮想サーバー名です。 -
次のコマンドを使用して、Webブラウザーを経由してくる残りの接続に対してアプリ保護ポリシーを無効にします:
Set-BrokerAccessPolicyRule Win10Desktop_AG -IncludedSmartAccessTags Primary_HDX_Proxy:browser -AppProtectionScreenCaptureRequired $false -AppProtectionKeyLoggingRequired $false
。 -
確認。Citrix Workspaceアプリが開いている場合は、ログアウトします。Citrix Workspaceアプリに再度ログインし、Access Gateway経由の外部接続から必要なリソースを起動します。リソースに対してアプリ保護ポリシーが有効になっていることがわかります。Webブラウザーから同じリソースを外部接続で起動すると、アプリ保護ポリシーが無効になっていることがわかります。
-
シナリオ4:特定のActive Directoryグループ内のユーザーに対してアプリ保護を無効にする
次の手順では、Active Directoryグループxd.local\salesの一部であるWin10Desktopユーザーのアプリ保護を無効にします。
-
GetBrokerAccessPolicyRule
を実行して、Win10Desktopの2つのブローカーアクセスポリシーを表示します。「Win10Desktop」というデリバリーグループには、「Win10Desktop_AG」と「Win10Desktop_Direct」の2つのブローカーアクセスポリシーがあります。Win10DesktopのデスクトップグループUIDを書き留めておきます。 -
Win10Desktopのブローカーアクセスポリシールールを作成して、「xd.local\sales」というActive Directoryグループに属するユーザーからの接続をフィルター処理します。
New-BrokerAccessPolicyRule -Name Win10Desktop_AG_Sales_Group -DesktopGroupUid <Uid_of_desktopGroup> -AllowedConnections ViaAG -AllowedProtocols HDX, RDP -AllowedUsers Filtered -AllowRestart $true -Enabled $true -IncludedSmartAccessFilterEnabled $true
Uid_of_desktopGroupは、手順1でGetBrokerAccessPolicyルールを実行して取得したデリバリーグループのDesktopGroupUIDです。
-
次のコマンドを使用して、「xd.local\sales」というADグループに属するWindows 10デスクトップユーザーに対するアプリ保護ポリシーを無効にします:
Set-BrokerAccessPolicyRule Win10Desktop_AG_Sales_Group -AllowedUsers Filtered -IncludedUsers xd.local\sales -IncludedUserFilterEnabled $true -AppProtectionScreenCaptureRequired $false -AppProtectionKeyLoggingRequired $false
- 次のコマンドを使用して、「xd.local\sale」のユーザーを除く残りのゲートウェイ接続に対してアプリ保護ポリシーを有効にします:
Set-BrokerAccessPolicyRule Win10Desktop_AG -AllowedUsers Anyauthenticated -ExcludedUserFilterEnabled $true -ExcludedUsers xd.local\sales -AppProtectionScreenCaptureRequired $true -AppProtectionKeyLoggingRequired $true
- 確認。Citrix Workspaceアプリが開いている場合は、ログアウトします。 「xd.local\sales」というActive DirectoryグループのユーザーとしてCitrix Workspaceアプリにログインします。保護されたリソースを起動すると、アプリ保護が無効になっていることがわかります。Citrix Workspaceアプリからログアウトし、「xd.local\sales」に属さないユーザーとして再度ログインします。保護されたリソースを起動すると、アプリの保護が有効になっていることがわかります。