インストールと構成
インストールとセットアップの順序
- フェデレーション認証サービスのインストール(FAS)
- StoreFrontストアでのFASプラグインの有効化
- Delivery Controllerの構成
- グループポリシーの構成
- FAS管理コンソールを使用して、以下を行います:
フェデレーション認証サービスのインストール
セキュリティ上の理由により、フェデレーション認証サービス(FAS)は、ドメインコントローラーや証明機関と同様にセキュリティ保護されている専用サーバーにインストールすることをお勧めします。FASは次のいずれかの方法でインストールできます:
- Citrix Virtual Apps and Desktopsインストーラー(ISOの挿入時に自動実行されるスプラッシュスクリーンの [フェデレーション認証サービス] ボタンから)を使用、または
- スタンドアロンのFASインストーラーファイル(CitrixダウンロードからMSIファイルでダウンロード)を使用。
以下のコンポーネントをインストールします:
- フェデレーション認証サービス
- 詳細なFAS構成用のPowerShellスナップインコマンドレット
- FAS管理コンソール
- FASのグループポリシーテンプレート(CitrixFederatedAuthenticationService.admx/adml)
- 証明書テンプレートファイル
- パフォーマンスカウンターおよびイベントログ
FASのアップグレード
インプレースアップグレードでFASを新しいバージョンにアップグレードできます。アップグレード前に、以下に注意してください:
- インプレースアップグレードを行った場合、FASサーバーの設定はすべて保持されます。
- FASをアップグレードする前に、FAS管理コンソールが閉じていることを確認してください。
- 1台以上のFASサーバーを常に利用可能な状態に維持してください。フェデレーション認証サービスに対応したStoreFrontサーバーから到達可能なサーバーがない場合、ユーザーはログオンやアプリケーションの起動を行えなくなります。
アップグレードを開始するには、Citrix Virtual Apps and DesktopsインストーラーまたはスタンドアロンのFASインストーラーファイルを使用してFASをインストールします。
StoreFrontストアでのFASプラグインの有効化
注:
FASをCitrix Cloudでのみ使用する場合は、この手順は必要ありません。
StoreFrontストアでFASの統合を有効にするには、管理者アカウントで以下のPowerShellコマンドレットを実行します。ストア名が異なる場合は、$StoreVirtualPath
を変更します。
Get-Module "Citrix.StoreFront.*" -ListAvailable | Import-Module
$StoreVirtualPath = "/Citrix/Store"
$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store
Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "FASClaimsFactory"
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider "FASLogonDataProvider"
<!--NeedCopy-->
FASの使用を停止するには、以下のPowerShellスクリプトを使用します:
Get-Module "Citrix.StoreFront.*" -ListAvailable | Import-Module
$StoreVirtualPath = "/Citrix/Store"
$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store
Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "standardClaimsFactory"
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider ""
<!--NeedCopy-->
Delivery Controllerの構成
注:
FASをCitrix Cloudでのみ使用する場合は、この手順は必要ありません。
FASを使用するには、このサービスに接続可能なStoreFrontサーバーを信頼するようにCitrix Virtual AppsまたはCitrix Virtual DesktopsのDelivery Controllerを構成します。PowerShellコマンドレットSet-BrokerSite -TrustRequestsSentToTheXmlServicePort $trueを実行します。サイト内のDelivery Controllerの数にかかわらず、これを実行するのはサイトごとに一度のみです。
グループポリシーの構成
FASのインストール後は、インストールで提供されたグループポリシーテンプレートを使用して、グループポリシー内のFASサーバーの完全修飾ドメイン名(FQDN)を指定する必要があります。
重要:
チケットを要求するStoreFrontサーバーおよびチケットを使用するVirtual Delivery Agent(VDA)に、グループポリシーオブジェクトによって適用されるサーバーの自動番号設定を含む、同じFQDN構成を行う必要があります。
説明をシンプルにするために、以下の例ではすべてのマシンに適用されるドメインレベルで単一のポリシーを構成していますが、これは必須ではありません。 StoreFrontサーバー、VDA、およびFAS管理コンソールを実行しているマシンで同じFQDNの一覧が参照されている限り、FASは機能します。手順6を参照してください。
手順1:FASをインストールしたサーバーで、C:\Program Files\Citrix\Federated Authentication Service\PolicyDefinitions\CitrixFederatedAuthenticationService.admxファイル、CitrixBase.admxファイル、およびen-USフォルダーを見つけます。
手順2:これらをドメインコントローラーにコピーして、C:\Windows\PolicyDefinitionsおよびen-USサブフォルダーに配置します。
手順3:コマンドラインからMicrosoft管理コンソールを実行します(mmc.exe)。メニューバーから、[ファイル]>[スナップインの追加と削除]の順に選択します。 グループポリシー管理エディターを追加します。
グループポリシーオブジェクトを入力するための画面が開いたら、[参照]を選択してから[既定のドメインポリシー]を選択します。 または、任意のツールを使用して、環境に応じたポリシーオブジェクトを作成して選択することもできます。 このポリシーは、影響を受けるCitrixソフトウェア(VDA、StoreFrontサーバー、管理ツール)を実行しているすべてのマシンに適用する必要があります。
手順4:Computer Configuration/Policies/Administrative Templates/Citrix Components/Authenticationにあるフェデレーション認証サービスポリシーに移動します。
注:
フェデレーション認証サービスのポリシー設定は、CitrixBase.admxまたはCitrixBase.admlテンプレートファイルをPolicyDefinitionsフォルダーに追加する際に、ドメインGPOでのみ使用できます。手順3の後、フェデレーション認証サービスのポリシー設定は、[管理用テンプレート]>[Citrixコンポーネント]>[認証]フォルダーに表示されます。
手順5:フェデレーション認証サービスポリシーを開き、[有効]を選択します。これにより、FASサーバーのFQDNを構成する [表示] ボタンを選択できるようになります。
手順6:FASサーバーのFQDNを入力します。
重要:
複数のFQDNを入力する場合は、VDA、StoreFrontサーバー(存在する場合)とFASサーバー間で一覧の順番が統一されている必要があります。「グループポリシー設定」を参照してください。
手順7:[OK]をクリックしてグループポリシーウィザードを終了し、グループポリシーの変更を適用します。 変更を反映させるには、マシンを再起動(またはコマンドラインからgpupdate /forceを実行)する必要がある場合があります。
In-session Behavior
このポリシーはセッション内証明書、承認、ロック時の切断をサポートするユーザーのVDAセッションでエージェントプロセスをアクティブ化します。セッション内証明書はこのポリシーが有効かつ証明書の作成に使用されるFASルールでセッション内使用が許可されている場合のみ使用できます。「ルールの構成」を参照してください。
Enableによってこのポリシーが有効になりFASエージェントプロセスがユーザーのVDAセッションで実行できます。
Disableによってこのポリシーが無効になりFASエージェントプロセスが実行を停止します。
メッセージのスコープ
このポリシーが有効な場合、Prompt Scopeによってアプリケーションでセッション内証明書を使用を許可するかというメッセージをユーザーに表示する方法を制御できます。 3つのオプションがあります。
- No consent required—このオプションはセキュリティメッセージを無効にし、ユーザーが操作する必要なく秘密キーが使用されます。
- Per-process consent—実行中のプログラムごとに個別に承認メッセージが表示されます。
- Per-session consent—ユーザーが一度 [OK] をクリックすると、セッションのすべてのプログラムに適用されます。
承認のタイムアウト
このポリシーが有効になると、Consent Timeoutによって承認が表示される期間を秒単位で制御できます。たとえば、5分ごとに300秒間メッセージが表示される、などです。 この値が0の場合、秘密キーの操作ごとにユーザーにメッセージが表示されます。
ロック時の切断
このポリシーを有効にすると、ユーザーが画面をロックしたときにセッションが自動的に切断されます。この機能では「スマートカードの取り出し時の切断」ポリシーと同様の動作になるため、ユーザーがActive Directoryログオン資格情報を持っていない場合に便利です。
注:
ロック時の切断ポリシーは、VDA上のすべてのセッションに適用されます。
フェデレーション認証サービス管理コンソールの使用
注:
大半の展開にはFAS管理コンソールが適していますが、PowerShellインターフェイスにはより詳細なオプションもあります。FAS PowerShellコマンドレットについて詳しくは、「PowerShellコマンドレット」を参照してください。
FAS管理コンソールはFASの一部としてインストールされます。[スタート]メニューにアイコン(Citrix Federated Authentication Service)が配置されます。
管理コンソールの初回使用時は、証明書テンプレートの展開、証明機関のセットアップ、およびFASへの証明機関の使用権限の付与を行う手順が表示されます。 一部の手順は、OS構成ツールを使用して手動で完了することもできます。
FAS管理コンソールは、デフォルトでローカルのFASサービスに接続されます。必要に応じ、コンソールの右上に表示される [Connect to another server] を使用してリモートサービスに接続できます。
証明書テンプレートの展開
他のソフトウェアとの相互運用性の問題を避けるため、FASでは、独自の目的で使用する3つのCitrix証明書テンプレートが用意されています。
- Citrix_RegistrationAuthority_ManualAuthorization
- Citrix_RegistrationAuthority
- Citrix_SmartcardLogon
これらのテンプレートは、Active Directoryで登録する必要があります。[Deploy] をクリックしてから、[OK] をクリックします。
テンプレートの構成は、以下のフォルダーにFASと一緒にインストールされた、拡張子「.certificatetemplate」のXMLファイル内にあります:
C:\Program Files\Citrix\Federated Authentication Service\CertificateTemplates
これらのテンプレートファイルをインストールする権限がない場合は、テンプレートファイルをActive Directory管理者に渡してください。
テンプレートが含まれるフォルダーから以下のPowerShellコマンドを実行すると、テンプレートを手動でインストールできます:
$template = [System.IO.File]::ReadAllBytes("$Pwd\Citrix_SmartcardLogon.certificatetemplate")
$CertEnrol = New-Object -ComObject X509Enrollment.CX509EnrollmentPolicyWebService
$CertEnrol.InitializeImport($template)
$comtemplate = $CertEnrol.GetTemplates().ItemByIndex(0)
$writabletemplate = New-Object -ComObject X509Enrollment.CX509CertificateTemplateADWritable
$writabletemplate.Initialize($comtemplate)
$writabletemplate.Commit(1, $NULL)
<!--NeedCopy-->
Active Directory証明書サービスのセットアップ
Citrix証明書テンプレートのインストール後は、これらのテンプレートを1つまたは複数のMicrosoftエンタープライズ証明機関サーバーで公開する必要があります。Active Directory証明書サービスの展開方法について詳しくは、Microsoft社のドキュメントを参照してください。
どのサーバーでもテンプレートが公開されていない場合は、Set Up Certificate Authorityを使用して公開できます。これは、証明機関の管理権限のあるユーザーとして実行する必要があります。
(証明書テンプレートは、Microsoft証明機関コンソールを使用して公開することもできます。)
フェデレーション認証サービスへの権限付与
この手順により、FASの認証が開始されます。 管理コンソールは、Citrix_RegistrationAuthority_ManualAuthorizationテンプレートを使用して証明書の要求生成し、この要求をテンプレートを公開する証明機関のいずれかに送信します。
要求は、送信後、FASマシンアカウントから保留中の要求としてMicrosoft証明機関コンソールの [保留中の要求] リストに表示されます。FASの構成を続行するには、証明機関の管理者が要求の発行または拒否を選択する必要があります。
FAS管理コンソールは、管理者が [Issue] または [Deny] を選択するまで処理中の「スピナー」アイコンを表示します。
Microsoft証明機関コンソールで [すべてのタスク] を右クリックしてから、証明書要求に対して [Issue] または [Deny] を選択します。[Issue] を選択すると、FAS管理コンソールが認証証明書を表示します。[Deny] を選択すると、コンソールはエラーメッセージを表示します。
FAS管理コンソールにより、このプロセスの完了が自動的に検出されます。この処理には数分かかることがあります。
ルールの構成
FASのルールにより、StoreFrontの指示に従って、VDAログオンおよびセッション中の使用に関する証明書発行の権限が付与されます。各ルールでは、証明書の要求を信頼するStoreFrontサーバー、証明書を要求できる一連のユーザー、および証明書の使用を許可する一連のVDAマシンを指定します。
FASでは、最低1つのルールを作成し構成する必要があります。StoreFrontはFASにアクセスしたとき「デフォルト」という名前のルールを要求するため、「デフォルト」という名前のルールを作成することをお勧めします。
追加のカスタムルールを作成して、さまざまな証明書テンプレートおよび証明機関を参照し、各種プロパティや権限が含まれるように構成することができます。これらのルールは、さまざまなStoreFrontサーバーやWorkspaceで使用するために構成できます。グループポリシー構成オプションを使用して、カスタムルールを名前で要求できるようにStoreFrontサーバーを構成します。
[Create](または「Rules」タブの[Create rule] )をクリックしてルールを作成するための情報を収集するルール作成ウィザードを開始します。[Rules]タブは各ルールの概要を表示します。
ウィザードによって次の情報が収集されます:
テンプレート:ユーザー証明書の発行に使用される証明書テンプレート。これはCitrix_SmartcardLogonテンプレートか、その変更されたコピーである必要があります(「証明書テンプレート」を参照してください)。
証明機関:ユーザー証明書を発行する証明機関。テンプレートは証明機関によって公開される必要があります。FASでは、フェールオーバーおよび負荷分散のために、複数の証明機関の追加することができます。選択した証明機関のステータスが「Template available」であることを確認してください。「証明機関の管理」を参照してください。
セッション内使用: [セッション内使用を許可] オプションにより、証明書をVDAへのログオン後に使用できるかどうかを制御します。
- Allow in-session useが選択されていない場合(デフォルトで推奨)—証明書はログオンまたは再接続にのみ使用され、認証後、ユーザーは証明書にアクセスできなくなります。
-
Allow in-session useが選択されている場合—認証後、ユーザーは証明書にアクセスできます。通常の場合、お客様はこのオプションを選択しないでください。イントラネットWebサイトやファイル共有など、VDAセッション内からアクセスされるリソースには、Kerberosを使用したシングルサインオンでアクセスできるため、セッション内証明書は必要ありません。
Allow in-session useを選択した場合は、In-session Behaviorグループポリシーも有効にしてVDAに適用する必要があります。これにより、ログオン後にアプリケーションが使用できるようにユーザーの個人証明書ストアに証明書が配置されます。たとえば、VDAセッション内でWebサーバーへのTLS認証が必要な場合、証明書はInternet Explolerによって使用されます。
アクセス制御:ユーザーのログオンまたは再接続用に証明書を要求する権限が付与された、信頼済みStoreFrontサーバーの一覧。これらのすべてのアクセス許可に対して、個々のADオブジェクトまたはグループを追加できます。
重要:
[アクセス制御] 設定はセキュリティ上非常に重要であり、慎重に管理する必要があります。
注:
FASサーバーをCitrix Cloudでのみ使用する場合は、アクセス制御を構成する必要はありません。ただし、Citrix Cloudでルールが使用される場合、StoreFrontのアクセス許可は無視されます。Citrix CloudとオンプレミスのStoreFront環境で、同じルールを使用できます。StoreFrontのアクセス許可は、ルールがオンプレミスのStoreFrontで使用される場合には適用されます。
デフォルトのアクセス許可(「Assert Identity」を許可)では、すべてが拒否されます。したがって、Storefrontサーバーを明示的に許可する必要があります。
制限:ユーザーがFASを使用してログオンできるVDAマシンのリストと、FASを介して証明書を発行できるユーザーのリスト。
-
VDA権限の管理では、FASを使用してユーザーをログオンさせるVDAを指定できます。VDAの一覧のデフォルトはドメインコンピューターになります。
-
ユーザー権限の管理では、FASを使用してVDAにサインインするユーザーを指定できます。ユーザーの一覧のデフォルトはドメインユーザーになります。
注:
FASサーバーがVDAおよびユーザーのドメインとは異なるドメインにある場合は、デフォルトの制限を変更する必要があります。
Cloudルール:Citrix WorkspaceからIDアサーションを受信したときに、このルールが適用されるかを示します。Citrix Cloudに接続するときに、Citrix Cloudで使用するルールを選択します。[Connect to Citrix Cloud] セクションのリンクからCitrix Cloudに接続した後、ルールを変更することもできます。
Citrix Cloudへの接続
FASサーバーをCitrix Cloudに接続して、Citrix Workspaceで使用できます。このCitrix Workspaceの記事を参照してください。
-
[Initial Setup]タブの [Connect to Citrix Cloud] で [Connect] をクリックします。
-
[Sign in to Citrix Cloud] をクリックし、接続先のCloud顧客の管理者資格情報を使用してCitrix Cloudにサインインします。
-
必要に応じて顧客アカウントを選択して、FASサーバーを接続するリソースの場所を選択します。[Continue] をクリックし、確認用のウィンドウを閉じます。
- FAS管理コンソールで、Citrix WorkspaceからIDアサーションを受信したときに適用するルールを選択するか、このウィザードの終了時に [Create a rule] を選択します([Rules]タブで、選択または作成したルールのCloud ruleの値は「Yes」です)。
- [Summary]タブで [Finish] をクリックしてCitrix Cloud接続を完了します。
Citrix CloudでFASサーバーが登録され、Citrix Cloudアカウントの[リソースの場所]ページに表示されます。
Citrix Cloudからの切断
このCitrix Workspaceの記事の説明に従ってCitrix Cloudのリソースの場所からFASサーバーを削除した後、[Connect to Citrix Cloud] で [Disable] を選択します。