委任による SSO の構成

委任による SSO を構成するには、次のタスクを実行する必要があります。

  • 委任されたユーザー証明書による委任を構成する場合は、一致するCA証明書をCitrix ADCアプライアンスにインストールし、Citrix ADC構成に追加します。
  • アプライアンスで KCD アカウントを作成します。アプライアンスはこのアカウントを使用して、保護されたアプリケーションのサービスチケットを取得します。
  • Active Directory サーバーを構成します。

注:

KCDアカウントの作成とNetScaler アプライアンスでの構成の詳細については、以下のトピックを参照してください。

Citrix ADCアプライアンスへのクライアントCA証明書のインストール

クライアント証明書を使用してCitrix ADC SSOを構成する場合は、クライアント証明書ドメインの一致するCA証明書(クライアントCA証明書)をCitrix ADCアプライアンスにコピーしてから、CA証明書をインストールする必要があります。クライアントCA証明書をコピーするには、選択したファイル転送プログラムを使用して証明書と秘密鍵ファイルをCitrix ADCアプライアンスに転送し、ファイルを/nsconfig/sslに保存します。

Citrix ADCアプライアンスにクライアントCA証明書をインストールするには

コマンドプロンプトで、次のコマンドを入力します。

add ssl certKey <certkeyName> -cert <cert> [(-key <key> [-password]) | -fipsKey <fipsKey>][-inform ( DER | PEM )][-expiryMonitor ( ENABLED | DISABLED | UNSET ) [-notificationPeriod <positive_integer>]] [-bundle ( YES | NO )]

変数の場合は、次の値を置き換えます。

  • certkeyName. クライアント CA 証明書の名前。ASCII の英数字またはアンダースコア (_) 文字で始まり、1 ~ 30 文字で構成する必要があります。使用できる文字には、ASCII 英数字、アンダースコア、ハッシュ(#)、ピリオド(.)、スペース、コロン(:)、アットマーク(@)、等号(=)、ハイフン(-)があります。証明書とキーのペアが作成された後は変更できません。名前に 1 つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます (「my cert」や「my cert」など)。
  • cert. 証明書とキーのペアを形成するために使用される X509 証明書ファイルのフルパス名とファイル名。証明書ファイルは、Citrix ADCアプライアンスの/nsconfig/ssl/ディレクトリに保存する必要があります。
  • key. X509 証明書ファイルへの秘密キーを含むファイルの完全パス名とファイル名。キーファイルは、Citrix ADCアプライアンスの/nsconfig/ssl/ディレクトリに保存する必要があります。
  • password. 秘密鍵が指定されている場合、秘密鍵の暗号化に使用されるパスフレーズ。このオプションを使用して、暗号化された秘密鍵を PEM 形式でロードします。
  • fipsKey. FIPS アプライアンスのハードウェアセキュリティモジュール (HSM) 内に作成された FIPS キー、または HSM にインポートされたキーの名前。

    キーまたは fipsKey のいずれかを指定できますが、両方を指定することはできません。

  • inform. 証明書および秘密キーファイルの形式(PEM または DER)。
  • passplain. 秘密鍵の暗号化に使用するパスフレーズ。PEM 形式で暗号化された秘密キーを追加するときに必要です。
  • expiryMonitor. 証明書の有効期限が近づいたときにアラートを発行するようにCitrix ADCアプライアンスを構成します。可能な値: ENABLED, DISABLED, UNSET.
  • notificationPeriod. expiryMonitor が ENABLED の場合、証明書の有効期限が切れるまでにアラートを発行するまでの日数。
  • bundle. サーバー証明書をファイル内の発行者の証明書にリンクした後、証明書チェーンを単一のファイルとして解析します。指定可能な値:はい、いいえ。

次の例では、指定された委任ユーザー証明書customer-cert.pemをキーcustomer-key.pem とともにCitrix ADC構成に追加し、パスワード、証明書形式、有効期限モニター、および通知期間を設定します。

委任されたユーザー証明書を追加するには、次のコマンドを入力します。


```add ssl certKey customer -cert "/nsconfig/ssl/customer-cert.pem"
        -key "/nsconfig/ssl/customer-key.pem" -password "dontUseDefaultPWs!"
        -inform PEM -expiryMonitor ENABLED [-notificationPeriod 14]

KCD アカウントの作成

委任によってCitrix ADC SSOを構成する場合は、ユーザーのログオン名とパスワードを使用するか、ユーザーのログオン名とキータブを使用するか、ユーザーのクライアント証明書を使用するように、KCDアカウントを構成できます。ユーザー名とパスワードでSSOを構成する場合、Citrix ADCアプライアンスは委任されたユーザーアカウントを使用してチケット交付チケット(TGT)を取得し、TGTを使用して各ユーザーが要求する特定のサービスのサービスチケットを取得します。キータブファイルでSSOを構成する場合、Citrix ADCアプライアンスは委任されたユーザーアカウントとキータブ情報を使用します。委任されたユーザー証明書を使用してSSOを構成する場合、Citrix ADCアプライアンスは委任されたユーザー証明書を使用します。

パスワードを使用して委任して SSO 用の KCD アカウントを作成するには

コマンドプロンプトで、次のコマンドを入力します。

add aaa kcdaccount <accountname> -delegatedUser root -kcdPassword <password> -realmStr <realm>

変数の場合は、次の値を置き換えます。

  • accountname. KCD アカウントの名前。
  • password. KCD アカウントのパスワード。
  • realm. KCD アカウントのレルム。通常は SSO がアクティブなドメインです。

例 (UPN 形式)

kcdaccount1という名前のKCDアカウントを、パスワード1とEXAMPLE.COMの領域を使用してCitrix ADCアプライアンス構成に追加し、委任されたユーザーアカウントをUPN形式(root)で指定するには、次のコマンドを入力します。


add aaa kcdaccount kcdaccount1 –delegatedUser root
-kcdPassword password1 -realmStr EXAMPLE.COM

例 (SPN 形式)

kcdaccount1という名前のKCDアカウントを、パスワード1とEXAMPLE.COMの領域を使用してCitrix ADCアプライアンス構成に追加し、委任されたユーザーアカウントをSPN形式で指定するには、次のコマンドを入力します。


add aaa kcdAccount kcdaccount1 -realmStr EXAMPLE.COM
-delegatedUser "host/kcdvserver.example.com" -kcdPassword password1

キータブを使用した委任による SSO の KCD アカウントの作成

認証にキータブファイルを使用する場合は、まずキータブを作成します。キータブファイルは、ADサーバーにログオンしてktpassユーティリティを使用して手動で作成できます。または、Citrix ADC構成ユーティリティを使用してバッチスクリプトを作成し、そのスクリプトをADサーバーで実行してキータブファイルを生成することもできます。次に、FTPまたは他のファイル転送プログラムを使用して、キータブファイルをCitrix ADCアプライアンスに転送し、/nsconfig/krbディレクトリに配置します。最後に、委任によってCitrix ADC SSOのKCDアカウントを構成し、Citrix ADCアプライアンスへのキータブファイルのパスとファイル名を指定します。

キータブファイルを手動で作成するには

AD サーバーのコマンドラインにログオンし、コマンドプロンプトで次のコマンドを入力します。

ktpass princ <SPN> ptype KRB5_NT_PRINCIPAL mapuser <DOMAIN><username> pass <password> -out <File_Path>

変数の場合は、次の値を置き換えます。

  • SPN. KCD サービスアカウントのサービスプリンシパル名。
  • DOMAIN. Active Directory サーバーのドメイン。
  • username. KSA アカウントのユーザー名。
  • password. KSA アカウントのパスワード。
  • path. 生成後に keytab ファイルを保存するディレクトリのフルパス名。

Citrix ADC構成ユーティリティを使用してキータブファイルを生成するスクリプトを作成するには

  1. [セキュリティ] > [AAA-アプリケーショントラフィック] に移動します。
  2. データペインの [Kerberos 制約付き委任] で、[バッチファイル] をクリックして [キー] タブを生成します。
  3. KCD (Kerberos 制約付き委任) キータブスクリプトの生成 」ダイアログボックスで、次のパラメータを設定します。
    • ドメインユーザー名。KSA アカウントのユーザー名。
    • ドメインパスワード。KSA アカウントのパスワード。
    • サービスプリンシパル。KSA のサービスプリンシパル名。
    • [出力ファイル名]: AD サーバーに keytab ファイルを保存する絶対パスとファイル名。
  4. [ドメインユーザーアカウントの作成] チェックボックスをオフにします。
  5. [スクリプトの生成] をクリックします。
  6. Active Directory サーバーにログオンし、コマンドラインウィンドウを開きます。
  7. [生成されたスクリプト] ウィンドウからスクリプトをコピーし、Active Directory サーバーのコマンドラインウィンドウに直接貼り付けます。キータブが生成され、「出力ファイル名」 (Output File Name) で指定したファイル名の下のディレクトリに保存されます。
  8. 任意のファイル転送ユーティリティを使用して、Active Directory サーバーからCitrix ADCアプライアンスにキータブファイルをコピーし、/nsconfig/krbディレクトリに配置します。

KCD アカウントを作成するには

コマンドプロンプトで、次のコマンドを入力します。

add aaa kcdaccount <accountname> –keytab <keytab>

kcdccount1 という名前の KCD アカウントを追加し、kcdvserver.keytab という名前のキータブを使用するには、次のコマンドを入力します。


add aaa kcdaccount kcdaccount1 –keytab kcdvserver.keytab

委任されたユーザー証明書を使用して委任によって SSO の KCD アカウントを作成するには

コマンドプロンプトで、次のコマンドを入力します。

add aaa kcdaccount <accountname> -realmStr <realm> -delegatedUser <user_nameSPN> -usercert <cert> -cacert <cacert>

変数の場合は、次の値を置き換えます。

  • accountname. KCD アカウントの名前。
  • RealmStr. KCD アカウントのレルム。通常は SSO が設定されているドメインです。
  • delegatedUser. 委任されたユーザー名 (SPN 形式)。
  • usercert. Citrix ADCアプライアンス上の委任されたユーザー証明書ファイルのフルパスと名前。委任されたユーザー証明書には、クライアント証明書と秘密キーの両方が含まれていなければならず、PEM 形式である必要があります。スマートカード認証を使用する場合は、スマートカード証明書テンプレートを作成して、秘密キーとともに証明書をインポートすることが必要な場合があります。
  • cacert. Citrix ADCアプライアンス上のCA証明書ファイルのフルパスと名前。

kcdccount1 という名前の KCD アカウントを追加し、kcdvserver.keytab という名前のキータブを使用するには、次のコマンドを入力します。

add aaa kcdaccount kcdaccount1 -realmStr EXAMPLE.COM
     -delegatedUser "host/kcdvserver.example.com" -usercert /certs/usercert
     -cacert /cacerts/cacert

Citrix ADC SSO用のActive Directory のセットアップ

委任によってSSOを構成する場合、Citrix ADCアプライアンスでKCDAccountを作成するだけでなく、LDAPアクティブディレクトリサーバーに一致するKerberosサービスアカウント(KSA)を作成し、SSO用にサーバーを構成する必要があります。KSA を作成するには、アクティブディレクトリサーバーでアカウント作成プロセスを使用します。アクティブ・ディレクトリ・サーバーで SSO を構成するには、KSA のプロパティ・ウィンドウを開きます。[委任] タブで、次のオプションを有効にします。[指定したサービスへの委任に対してのみこのユーザーを信頼する] と [任意の認証プロトコルを使用する]。(Kerberos のみのオプションは、プロトコルの移行や制限付き委任を有効にしないため、機能しません)。 最後に、Citrix ADC SSOが管理するサービスを追加します。

[KSA アカウントのプロパティ] ダイアログボックスに [委任] タブが表示されない場合は、説明に従って KSA を構成する前に、Microsoft setspn コマンドラインツールを使用して、タブが表示されるようにアクティブディレクトリサーバーを構成する必要があります。

Kerberos サービスアカウントの委任を構成するには

  1. 作成した Kerberos サービスアカウントの LDAP アカウント構成ダイアログボックスで、[委任] タブをクリックします。
  2. [指定したサービスへの委任に対してのみこのユーザーを信頼する] を選択します。
  3. [指定したサービスへの委任に対してのみこのユーザーを信頼する] で、[任意の認証プロトコルを使用する] を選択します。
  4. [このアカウントが委任された資格情報を表示できるサービス] で、[追加] をクリックします。
  5. [サービスの追加] ダイアログボックスで、[ユーザー] または [コンピューター] をクリックし、サービスアカウントに割り当てるリソースをホストするサーバーを選択して、[OK] をクリックします。

    • 制約付き委任は、Kerberos が他のドメインとの信頼関係を持つ可能性がある場合でも、アカウントに割り当てられたドメイン以外のドメインでホストされているサービスをサポートしません。
    • 新しいユーザーがアクティブディレクトリに作成された場合は、次のコマンドを使用して setspn を作成します。setspn-A ホスト/kcdvserver.example.com examplekcdtest
  6. [サービスの追加] ダイアログボックスに戻り、[利用可能なサービス] ボックスの一覧で、サービスアカウントに割り当てられているサービスを選択します。Citrix ADC SSO は、HTTP サービスと MSSQLSVC サービスをサポートしています。
  7. [OK] をクリックします。