Citrix on Azure のセキュリティ ガバナンスとコンプライアンス
Azure 上の Citrix DaaS デプロイには適切なセキュリティ ガバナンスとコンプライアンスが必要です。 オペレーショナル エクセレンスと成功を実現するには、適切なポリシーを使用して Citrix DaaS 環境を設計します。
設計上の考慮事項と推奨事項
Azure Policy は、Citrix on Azure デプロイの重要なツールです。 ポリシーは、クラウド プラットフォーム チームが設定するセキュリティ標準に準拠するのに役立ちます。 継続的な規制コンプライアンスをサポートするために、ポリシーでは規制を自動的に適用してレポートを提供できます。
「Azure のガバナンス」ガイドラインに従って、プラットフォーム チームと一緒にポリシー ベースラインを確認します。 最上位のルート管理グループにポリシー定義を適用して、継承されたスコープで定義を割り当てられるようにします。
この記事では、ID、ネットワーク、ウイルス対策に関する推奨事項について説明します。
ID のセクションでは、Citrix DaaS サービス ID とその要件について説明します。
ネットワークのセクションでは、ネットワーク セキュリティ グループ (NSG) の要件について説明します。
ウイルス対策のセクションには、DaaS 環境でウイルス対策保護を構成するためのベスト プラクティスへのリンクが記載されています。
サービス プリンシパルのロールと ID
以降のセクションでは、Citrix DaaS サービス プリンシパルの作成、ロール、要件について説明します。
アプリの登録
アプリの登録は、Citrix Cloud が Azure を信頼するように、Citrix Cloud アカウントと Azure の間に一方向の信頼関係を作成するプロセスです。 アプリの登録プロセスでは、Citrix Cloud がホスティング接続を介してすべての Azure アクションに使用できる Azure サービス プリンシパル アカウントを作成します。 Citrix Cloud コンソールで設定されたホスティング接続は、クラウド コネクタ経由で Citrix Cloud を Azure 内のリソースの場所にリンクします。
Citrix リソースを含むリソース グループへのアクセス権をサービス プリンシパルに付与する必要があります。 組織のセキュリティ態勢に応じて、共同作成者レベルでサブスクリプション アクセスを提供するか、サービス プリンシパルのカスタム ロールを作成できます。
Microsoft Entra ID でサービス プリンシパルを作成するときは、次の値を設定します。
リダイレクト URI を追加し、
https://citrix.cloud.com
の値を使用して Web に設定します。[API のアクセス許可] で、[所属する組織で使用している API] タブから Azure Services Management API を追加し、user_impersonation の委任されたアクセス許可を選びます。
証明書とシークレットでは、推奨有効期限が 1 年の新しいクライアント シークレットを作成します。 このシークレットは、セキュリティ キーのローテーション スケジュールの一環として定期的に更新する必要があります。
Citrix Cloud 内でホスティング接続のセットアップを構成するには、アプリケーション (クライアント) ID とアプリの登録からのクライアント シークレットの値の両方が必要です。
エンタープライズ アプリケーション
Citrix Cloud と Microsoft Entra の構成に応じて、1 つ以上の Citrix Cloud エンタープライズ アプリケーションを Microsoft Entra テナントに追加できます。 これらのアプリケーションにより、Citrix Cloud が Microsoft Entra テナントに保存されているデータにアクセスする権限が付与されます。 次の表に、Microsoft Entra ID の Citrix Cloud エンタープライズ アプリケーションのアプリケーション ID と機能を示します。
エンタープライズ アプリケーション ID | 目的 |
---|---|
f9c0e999-22e7-409f-bb5e-956986abdf02 | Microsoft Entra ID と Citrix Cloud 間の既定の接続 |
1b32f261-b20c-4399-8368-c8f0092b4470 | 管理者の招待とサインイン |
e95c4605-aeab-48d9-9c36-1a262ef8048e | ワークスペース サブスクライバーのサインイン |
5c913119-2257-4316-9994-5e8f3832265b | Citrix Endpoint Management を使った Microsoft Entra ID と Citrix Cloud 間の既定の接続 |
e067934c-b52d-4e92-b1ca-70700bd1124e | Citrix Endpoint Management を使った Microsoft Entra ID と Citrix Cloud 間のレガシ接続 |
各エンタープライズ アプリケーションは、Microsoft Graph API または Microsoft Entra API のいずれかに Citrix Cloud 固有のアクセス許可を付与します。 たとえば、Workspace サブスクライバー サインイン アプリケーションは、ユーザーがサインインして自分のプロファイルを読み取れるように、両方の API に User.Read アクセス許可を付与します。 詳細については、「Citrix Cloud に対する Microsoft Entra のアクセス許可」を参照してください。
組み込みのロール
サービス プリンシパルを作成したら、サブスクリプション レベルで共同作成者ロールを付与します。 サブスクリプション レベルで共同作成者アクセス許可を付与するには、少なくとも Azure ロールベース アクセス制御の管理者ロールが必要です。 Citrix Cloud から Microsoft Entra ID への最初の接続時に、Azure から必要なアクセス許可の入力が求められます。
ホスト接続の作成時に認証に使用されるアカウントも、少なくともサブスクリプションの共同作成者である必要があります。 このレベルのアクセス許可により、Citrix Cloud は必要なオブジェクトを制限なく作成できます。 通常、この方法は、サブスクリプション全体に Citrix リソースしかない場合に使用します。
一部の環境では、サービス プリンシパルがサブスクリプション レベルで共同作成者アクセス許可を持つことが許可されていません。 Citrix では、"狭い範囲のサービス プリンシパル" と呼ばれる代替ソリューションを提供しています。 狭い範囲のサービス プリンシパルの場合、クラウド アプリケーション管理者がアプリケーションの登録を手動で完了してから、サブスクリプション管理者がサービス プリンシパル アカウントに適切なアクセス許可を手動で付与します。
狭いスコープのサービス プリンシパルには、サブスクリプション全体に対する共同作成者アクセス許可がありません。 マシン カタログの作成と管理に必要なリソース グループ、ネットワーク、およびイメージに対するアクセス許可しかありません。 狭い範囲のサービス プリンシパルには、次のロールが必要です。
事前に作成されたリソース グループには、仮想マシン共同作成者、ストレージ アカウント共同作成者、ディスク スナップショット共同作成者が必要です。
仮想ネットワークには仮想マシン共同作成者が必要です。
ストレージ アカウントには仮想マシン共同作成者が必要です。
カスタム ロール
狭い範囲のサービス プリンシパルには、セキュリティに気を配る必要のある環境に適していない可能性がある広範な共同作成者アクセス許可があります。 より詳細なアプローチを提供するには、2 つのカスタム ロールを使用して、必要なアクセス許可をサービス プリンシパルに提供できます。 Citrix_Hosting_Connection ロールはホスティング接続を作成するためのアクセス権を付与し、Citrix_Machine_Catalog ロールは Citrix ワークロードを作成するためのアクセス権を付与します。
Citrix_Hosting_Connection ロール
次の Citrix_Hosting_Connection ロールの JSON 記述には、ホスティング接続を作成するために必要な最小限のアクセス許可があります。 マシン カタログ ゴールデン イメージにスナップショットのみまたはディスクのみを使用する場合は、actions
リストから未使用のアクセス許可を削除できます。
{
"id": "",
"properties": {
"roleName": "Citrix_Hosting_Connection",
"description": "Minimum permissions to create a hosting connection. Assign to resource groups that contain Citrix infrastructure such as cloud connectors, golden images, or virtual network resources.",
"assignableScopes": [
"/"
],
"permissions": [
{
"actions": [
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/disks/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
クラウド コネクタ、ゴールデン イメージ、または仮想ネットワーク リソースを含む Citrix_Infrastructure リソース グループに Citrix_Hosting_Connection カスタム ロールを割り当てます。 この JSON ロールの記述をコピーして、カスタム Microsoft Entra ロール定義に直接貼り付けることができます。
Citrix_Machine_Catalog ロール
次の Citrix_Machine_Catalog ロールの JSON 記述には、Citrix Machine Catalog Wizard で Azure 内に必要なリソースを作成するために必要な最小限のアクセス許可が含まれています。
{
"id": "",
"properties": {
"roleName": "Citrix_Machine_Catalog",
"description": "The minimum permissions to create a machine catalog. Assign to resource groups that contain Citrix workload servers that run the Virtual Delivery Agent.",
"assignableScopes": [
"/"
],
"permissions": [
{
"actions": [
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/listkeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/performMaintenance/action",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/convertToManagedDisks/action",
"Microsoft.Compute/virtualMachines/capture/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/write",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Storage/storageAccounts/listServiceSas/action",
"Microsoft.Storage/storageAccounts/listAccountSas/action",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Compute/disks/read",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/networkSecurityGroups/join/action"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Citrix_Machine_Catalog カスタム ロールを、Citrix Virtual Delivery Agent (VDA) 仮想マシン (VM) を保持する Citrix_MachineCatalog リソース グループに割り当てます。 この JSON ロールの記述をコピーして、カスタム Microsoft Entra ロール定義に直接貼り付けることができます。
ネットワーク
NSG はステートフルであるため、VM、サブネット、またはその両方に適用できる戻りトラフィックが許可されます。 サブネットと VM の両方の NSG が存在する場合、サブネット NSG は最初に受信トラフィックに適用され、VM NSG は最初に送信トラフィックに適用されます。 既定では、ホスト間のすべてのトラフィック、およびロード バランサーからのすべての受信トラフィックが仮想ネットワークで許可されています。 既定では、仮想ネットワークでは送信インターネット トラフィックのみが許可されており、他のすべての送信トラフィックは拒否されます。
潜在的な攻撃ベクトルを制限し、デプロイのセキュリティを強化するには、NSG を使用して Citrix Cloud 環境で予想されるトラフィックのみを許可します。 次の表に、Citrix デプロイで許可する必要がある必須のネットワーク ポートとプロトコルを示します。 このリストには、Citrix インフラストラクチャで使用されるポートのみが含まれており、お使いのアプリケーションで使用されるポートは含まれません。 VM を保護する NSG 内ですべてのポートを必ず定義してください。
ソース | 宛先 | Protocol | Port | 目的 |
---|---|---|---|---|
クラウド コネクタ | *.digicert.com |
HTTP | 80 | 証明書失効の確認 |
クラウド コネクタ | *.digicert.com |
HTTPS | 443 | 証明書失効の確認 |
クラウド コネクタ | dl.cacerts.digicert.com/DigiCertAssuredIDRootCA.crt |
HTTPS | 443 | 証明書失効の確認 |
クラウド コネクタ | dl.cacerts.digicert.com/DigiCertSHA2AssuredIDCodeSigningCA.crt |
HTTPS | 443 | 証明書失効の確認 |
クラウド コネクタ | クラウド コネクタ | 伝送制御プロトコル (TCP) | 80 | コントローラー間の通信 |
クラウド コネクタ | クラウド コネクタ | TCP | 89 | ローカル ホスト キャッシュ |
クラウド コネクタ | クラウド コネクタ | TCP | 9095 | オーケストレーション サービス |
クラウド コネクタ | VDA | TCP、ユーザー データグラム プロトコル (UDP) | 1494 | ICA/HDX プロトコル Enlightened Data Transport (EDT) には UDP が必要です |
クラウド コネクタ | VDA | TCP、UDP | 2598 | セッションの信頼性 EDT には UDP が必要 |
クラウド コネクタ | VDA | TCP | 80 (双方向) | アプリケーションとパフォーマンスの検出 |
VDA | ゲートウェイ サービス | TCP | 443 | Rendezvous プロトコル |
VDA | ゲートウェイ サービス | UDP | 443 | ゲートウェイ サービスへの 443 経由の EDT および UDP |
VDA | *.nssvc.net *.c.nssv.net *.g.nssv.net |
TCP、UDP | 443 | ゲートウェイ サービス ドメインとサブドメイン |
Citrix Provisioning Services | クラウド コネクタ | HTTPS | 443 | Citrix Cloud Studio の統合 |
Citrix License Server | Citrix Cloud | HTTPS | 443 | Citrix Cloud Licensing の統合 |
CVAD Remote PowerShell SDK | Citrix Cloud | HTTPS | 443 | SDK を介してリモート PowerShell スクリプトを実行するシステム |
Workspace Environment Management (WEM) エージェント | WEM サービス | HTTPS | 443 | エージェントからサービスへの通信 |
WEM エージェント | クラウド コネクタ | TCP | 443 | 登録トラフィック |
Citrix Application Delivery Management のネットワークとポートの要件については、「System Requirements」(システム要件) を参照してください。
ウイルス対策
ウイルス対策ソフトウェアは、ユーザーの環境保護にとって重要な要素です。 スムーズな操作を実現するには、Citrix DaaS 環境でウイルス対策を適切に構成します。 ウイルス対策の構成が正しくないと、パフォーマンスの問題、カスタマー エクスペリエンスの低下、さまざまなコンポーネントのタイムアウトとエラーが発生する可能性があります。 Citrix DaaS 環境でウイルス対策を構成する方法の詳細については、「Endpoint security, antivirus, and antimalware best practices」(エンドポイント セキュリティ、ウイルス対策、マルウェア対策のベスト プラクティス) を参照してください。
次のステップ
Citrix on Azure のデプロイに固有の事業継続とディザスター リカバリーに関する重要な設計上の考慮事項と推奨事項を確認します。