DFA用のCitrix ADCおよびStoreFrontの構成

拡張認証機能により、Citrix ADCアプライアンスおよびStoreFrontのフォームベース認証を拡張するための単一のカスタマイズポイントが提供されます。拡張認証SDKを使用した認証ソリューションを実現するには、Citrix ADCアプライアンスとStoreFrontの間にDelegated Forms Authentication(DFA)を構成する必要があります。DFAプロトコルを使用すると、資格情報検証などの認証フォームの生成と処理をほかのコンポーネントに委任することができます。たとえば、Citrix Gatewayは認証をStoreFrontに委任し、StoreFrontはサードパーティの認証サーバーまたは認証サービスとやりとりします。

インストールに関する推奨事項

  • Citrix ADCアプライアンスとStoreFrontの間の通信を確実に保護するには、HTTPプロトコルの代わりにHTTPSプロトコルを使用します。
  • クラスター展開環境では、すべてのノードに同じサーバー証明書をインストールし、IIS HTTPSバインドを構成してから、構成手順を実行する必要があります。
  • StoreFrontでHTTPSを構成するときは、Citrix ADCアプライアンスにStoreFrontのサーバー証明書の発行者を信頼された証明書機関として設定する必要があります。

StoreFrontクラスターインストールに関する注意事項

  • すべてのノードにサードパーティの認証プラグインをインストールしてから、これらのノードをクラスターに追加します。
  • 1つのノードですべてのDFA関連設定を構成し、その内容をほかのノードに反映させます。「DFAの有効化」を参照してください。

DFAの有効化

StoreFrontにはCitrixの事前共有キー設定を設定するGUIがないので、PowerShellコンソールを使用してDFAをインストールします。

  1. DFAをインストールします。DFAはデフォルトではインストールされないので、PowerShellコンソールを使用してインストールする必要があります。

    PS C:\Users\administrator.PTD.000> cd 'C:\Program Files\Citrix\Receiver StoreFront\Scripts'
    PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> & .\ImportModules.ps1
    Adding snapins
    Importing modules
    Loading 'C:\Program Files\Citrix\Receiver StoreFront\Admin\Citrix.DeliveryServices.ConfigurationProvider.dll'
    Loading 'C:\Program Files\Citrix\Receiver StoreFront\Admin\Citrix.DeliveryServices.ConfigurationProvider.dll'
    
    PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> Install-DSDFAServer
    Id                             : bf694fbc-ae0a-4d56-8749-c945559e897a
    ClassType                      : e1eb3668-9c1c-4ad8-bbae-c08b2682c1bc
    FrameworkController            : Citrix.DeliveryServices.Framework.FileBased.FrameworkController
    ParentInstance                 : 8dd182c7-f970-466c-ad4c-27a5980f716c
    RootInstance                   : 5d0cdc75-1dee-4df7-8069-7375d79634b3
    TenantId                       : 860e9401-39c8-4f2c-928d-34251102b840
    Data                           : {}
    ReadOnlyData                   : {[Name, DelegatedFormsServer], [Cmdlet, Add-DSWebFeature], [Snapin, Citrix.DeliverySer
                                     vices.Web.Commands], [Tenant, 860e9401-39c8-4f2c-928d-34251102b840]}
    ParameterData                  : {[FeatureClassId, e1eb3668-9c1c-4ad8-bbae-c08b2682c1bc], [ParentInstanceId, 8dd182c7-f
                                     970-466c-ad4c-27a5980f716c], [TenantId, 860e9401-39c8-4f2c-928d-34251102b840]}
    AdditionalInstanceDependencies : {b1e48ef0-b9e5-4697-af9b-0910062aa2a3}
    IsDeployed                     : True
    FeatureClass                   : Citrix.DeliveryServices.Framework.Feature.FeatureClass
    
  2. Citrix Trusted Clientを追加します。StoreFrontとCitrix ADCアプライアンスの間で共有秘密キー(パスフレーズ)を構成します。パスフレーズとクライアントIDは、Citrix ADCアプライアンスで構成したものと同一である必要があります。

    PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> Add-DSCitrixPSKTrustedClient -clientId netscaler.fqdn.com -passphrase secret
    
  3. DFA Conversation Factoryを設定して、すべてのトラフィックをカスタムフォームにルーティングします。Conversation Factoryを見つけるには、C:\inetpub\wwwroot\Citrix\Authentication\web.configでConversationFactoryを探します。次に表示例を示します。

    <example connectorURL="http://Example.connector.url:8080/adapters-sf-aaconnector-webapp">
          <routeTable order="1000">
            <routes>
              <route name="StartExampleAuthentication" url="Example-Bridge-Forms/Start">
                <defaults>
                  <add param="controller" value="ExplicitFormsAuthentication" />
                  <add param="action" value="AuthenticateStart" />
                  <add param="postbackAction" value="Authenticate" />
                  <add param="cancelAction" value="CancelAuthenticate" />
                  <add param="conversationFactory" value="ExampleBridgeAuthentication" />
                  <add param="changePasswordAction" value="StartChangePassword" />
                  <add param="changePasswordController" value="ChangePassword" />
                  <add param="protocol" value="CustomForms" />
                </defaults>
              </route>
    
  4. PowerShellで、DFA Conversation Factoryを設定します。この例では、ExampleBridgeAuthenticationに設定しています。

    PS C:\Program Files\Citrix\Receiver StoreFront\Scripts> Set-DSDFAProperty -ConversationFactory ExampleBridgeAuthentication
    

PowerShellの引数では大文字と小文字が区別されません。-ConversationFactoryis–conversationfactory と同意です。

StoreFrontのアンインストール

サードパーティの認証プラグインはStoreFrontの機能に影響を与えるので、すべてのサードパーティの認証プラグインをアンインストールしてから、StoreFrontをアンインストールします。