PoC ガイド:Citrix DaaS による適応型認証

概要

Citrix Cloudのお客様は、Citrix Workspaceを使用して、Citrix DaaSにアダプティブ認証を提供できます。アダプティブ認証は、Citrix Workspaceにログインしている顧客とユーザーに高度な認証を可能にするCitrix Cloudサービスです。このPOCガイドは、ローカルADアカウントを作成および管理したり、複数のIdPを許可したりすることなく、適応型認証によってクライアントまたはサードパーティがCitrix DaaSにアクセスできるようにする方法を示すことを目的としています。

概念アーキテクチャ

この POC ガイド用に作成されたデプロイの概要は次のとおりです。

概念アーキテクチャ

  • Citrix Cloudコンポーネント(PKIとFASを含む)と顧客を模倣する2つのドメインを備えたメインプロバイダー。
  • lab.localで作成したアカウントと顧客のメールアドレスが一致するシャドーアカウントは、第一要素検証(グループ抽出)を行います。

  • Citrix DaaS は lab.local Active Directory ドメイン用に以下の詳細で構成されています:
    • ドメインコントローラー:
      • LAB-AD-01
      • LAB-AD-02
    • Cloud Connector:
      • LAB-CC-01
      • LAB-CC-02
    • Microsoft証明書サーバー:
      • LAB-PKI-01
    • Citrix FAS サーバー:
      • LAB-FAS-01
      • LAB-FAS-02
    • Citrix Virtual Delivery Agents (VDA):
      • Daas-MCS-S-02.lab.Local
      • Daas-MCS-S-03.lab.Local
      • Daas-MCS-S-04.lab.Local -公開リソース: -lab\ ユーザー1、lab\ shadow001、lab\ shadow002 用の Windows 10 MCS デスクトップ

アダプティブ認証サービスの設定

アダプティブ認証サービスの設定には、次の大まかな手順が含まれます。

  1. アダプティブ認証をプロビジョニング
  2. アダプティブ認証ポリシーを構成する
  3. Workspace のアダプティブ認証を有効にする

前提条件

  • アダプティブ認証インスタンスの FQDN を予約します。 たとえば、arnaud.biz を会社のドメインと仮定して、aauth.arnaud.bizと入力します。 この FQDN は、このドキュメント内の適応型認証サービス FQDN で、インスタンスをプロビジョニングするときに使用されます。FQDN を IdP 仮想サーバーのパブリック IP アドレスにマッピングします。この IP アドレスは、[ 証明書のアップロード ] ステップでプロビジョニングした後に取得されます。
  • aauth.arnaud.bizの証明書を入手してください。証明書には SAN 属性が含まれている必要があります。含まれていない場合、証明書は受け付けられません。
  • オンプレミスの AD/RADIUS 接続の接続タイプを選択します。次の 2 つのオプションを使用できます。データセンターにアクセスしたくない場合は、コネクタ接続タイプを使用してください。
  • Citrix Cloud Connector-詳細については、「 Citrix Cloud Connector」を参照してください。
  • Azure VNet ピアリング-詳細については、「 Azure VNet ピアリングを使用してオンプレミス認証サーバーへの接続を設定する」を参照してください。
  • タイムスキューを回避するようにネットワークタイムプロトコル (NTP) サーバーを構成します。詳細については、「 システムクロックをネットワーク上のサーバーと同期させる方法」を参照してください。

注意事項

  1. Citrixでは、どの適応型認証インスタンスに対してもクリア構成を実行したり、証明書を含むプレフィックスがAA(AAuthAutoConfigなど)が付いた構成を変更したりしないことをお勧めします。これにより、適応型認証の管理が中断され、ユーザーアクセスが影響を受けます。回復する唯一の方法は、再プロビジョニングを行うことです。
  2. アダプティブ認証インスタンスには SNIP やその他のルートを追加しないでください。
  3. Citrix WorkspaceまたはCitrix Secure Private Accessサービスに必要なnFactor構成は、お客様がインスタンス上で直接作成する必要がある唯一の構成です。現在、Citrix ADCには、管理者がこれらの変更を行うことを妨げるチェックや警告はありません。
  4. アダプティブ認証インスタンスをランダムな RTM ビルドにアップグレードしないでください。Citrix Cloudはすべてのアップグレードを管理します。
  5. Windows ベースのCloud Connectorのみがサポートされています。このリリースでは、コネクタアプライアンスはサポートされていません。
  6. Citrix Cloudの既存のお客様で、すでにAzure AD(または他の認証方法)を適応型認証(デバイスポスチャチェックなど)に切り替えるように構成している場合は、認証方法として適応型認証を構成し、適応型認証インスタンスで認証ポリシーを構成する必要があります。詳しくは、「 Citrix Cloud をAzure AD に接続する」を参照してください。
  7. RADIUSサーバーの展開では、すべてのコネクタ・プライベートIPアドレスをRADIUSサーバー内のRADIUSクライアントとして追加します。
  8. 現在のリリースでは、外部ADMエージェントは使用できないため、Citrix Analytics(CAS)はサポートされていません。
  9. NetScaler Application Delivery Management サービスは、アダプティブ認証インスタンスのバックアップを収集します。ADM からバックアップを抽出するには、ADM サービスをオンボーディングします。詳細については、「 構成のバックアップと復元」を参照してください。Citrix は、アダプティブ認証サービスからバックアップを明示的に取得しません。お客様は、必要に応じて、アプリケーション配信管理サービスから構成のバックアップを取る必要があります。

アダプティブ認証サービスの構成方法

以下の手順は、Citrix DaaSをオンプレミスでCitrix Cloud ConnectorおよびActive Directory Directoryで使用することを前提としています。

アダプティブ認証のユーザーインターフェイスにアクセスする

アダプティブ認証ユーザーインターフェイスには、次のいずれかの方法でアクセスできます。

  1. URL https://adaptive-authentication.cloud.comを手動で入力します。
  2. 認証情報を使用してログインし、顧客を選択します。
  3. 認証に成功すると、適応型認証ユーザーインターフェースにリダイレクトされます。

または

  1. Citrix Cloud]>[IDとアクセス管理]に移動します。
  2. 「認証」タブで、「適応型認証」の省略記号メニューをクリックし、「管理」を選択します。 アダプティブ認証のユーザーインターフェイスが表示されます。

ステップ 1: アダプティブ認証をプロビジョニングする

次の手順を実行します:

  1. アダプティブ認証 UI で、[ プロビジョニング] をクリックします。

    アダプティブ認証

  2. [次へ] をクリックします。

    アダプティブ認証

  3. アダプティブ認証の優先接続を選択します。

    • Citrix Cloud Connector: この接続タイプのコネクタをオンプレミスネットワークに設定する必要があります。Citrix では、Azure でホストされている Citrix Gateway への接続をセットアップするために、ご使用の環境に少なくとも 2 つの Citrix Cloud Connector を導入することをお勧めします。Citrix Cloud Connectorが適応型認証インスタンス用に予約されているドメイン/URLにアクセスできるようにする必要があります。たとえば、 https://aauth.xyz.com/* を許可します。

    Citrix Cloud Connectorについて詳しくは、「 Citrix Cloud Connector」を参照してください。

    • Azure VNet ピアリング:Azure の VNet ピアリングを使用してサーバー間の接続をセットアップする必要があります。
    • 接続をセットアップするための Azure サブスクリプションアカウントがあることを確認します。
    • ピアリングされるお客様の VNet には、既に Azure VPN ゲートウェイがプロビジョニングされている必要があります。詳細については、「 Azure VPN ゲートウェイ」を参照してください。 アダプティブ認証

    Citrix Cloud Connectorを優先接続として追加するには: 次の手順を実行します。

    • Citrix Cloud Connectorオプションを選択し 、 エンドユーザー契約チェックボックスを選択します。
    • [ プロビジョニング] をクリックします。

      アダプティブ認証

注:

Provisioning が完了するまでに最大 30 分かかる場合があります。

  1. 認証情報を設定して、適応型認証を有効にしたインスタンスにアクセスします。認証や条件付きアクセスなどのポリシーを作成するには、管理コンソールへのアクセスが必要です
    • コンソールのアクセス画面にユーザー名とパスワードを入力し 、「 次へ」をクリックします。 アダプティブ認証
  2. アダプティブ認証サービスの FQDN を追加し、証明書とキーのペアをアップロードします。パブリックにアクセス可能な認証サーバーに対して、選択したアダプティブ認証サービスの FQDN を入力する必要があります。この FQDN は公に解決可能でなければなりません。
    • 証明書のアップロード画面で 、適応型認証用に予約されているFQDNを入力します。
    • 証明書の種類を選択します。
    • 証明書とキーをアップロードします。

    アダプティブ認証

注:

設定を適用するには、DNS エントリを作成する必要があります。

![Adaptive Authentication](/en-us/tech-zone/learn/media/poc-guides_adaptive-authentication-citrix-daas_aa7.png)
  1. 証明書とキーをアップロードします。適応型認証インスタンスは ID およびアクセス管理サービスに接続されます。アダプティブ認証方法のステータスが [ 接続済み] と表示されます。
  2. 適応型認証管理コンソールにアクセスするためのIPアドレスを設定します。
    • 許可された IP アドレス 」画面で、各インスタンスの管理 IP アドレスとしてパブリック IP アドレスを入力します。管理 IP アドレスへのアクセスを制限するには、管理コンソールへのアクセスを許可する複数の IP アドレスを追加できます。
    • 複数の IP アドレスを追加するには、「追加」をクリックし、IP アドレスを入力して「完了」をクリックします。この手順は、すべての IP アドレスに対して実行する必要があります。[ 完了 ] ボタンをクリックしない場合、IP アドレスはデータベースに追加されず、ユーザーインターフェイスに追加されるだけです。 アダプティブ認証
    • コネクタ接続タイプを使用する場合は、AD または RADIUS サーバに到達するリソースロケーション (コネクタ) のセットを指定します。VNet ピアリング接続タイプを使用する場合は、この手順をスキップできます。
    • 管理者は、バックエンドのADおよびRADIUSサーバーにアクセスするためのコネクタを選択できます。この機能を有効にするには、認証トラフィックが特定のサブネットに属する場合、そのトラフィックが特定のリソースの場所に転送されるように、バックエンドAD/RADIUSサーバーのサブネット間のマッピングを設定できます。ただし、リソースの場所がサブネットにマップされていない場合、管理者はそれらのサブネットにワイルドカードリソースの場所を使用するように指定できます。
    • 以前は、オンプレミスの AD/RADIUS の適応型認証トラフィックは、ラウンドロビン方式を使用して利用可能な任意のリソースの場所に送信されていました。この設定は、複数のリソースロケーションを持つお客様にとって問題となっていました。
  3. 適応型認証 UI で、「 接続を管理」をクリックし、サブネットの詳細を入力し、それぞれのリソースの場所を選択し、「 追加」をクリックして「 変更を保存」をクリックします。

    アダプティブ認証

ステップ 2: アダプティブ認証ポリシーを構成する

プロビジョニング後、アダプティブ認証管理 IP アドレスに直接アクセスできます。適応型認証管理コンソールには、FQDN またはプライマリ IP アドレスを使用してアクセスします。

アダプティブ認証

  • アダプティブ認証管理コンソールにアクセスします。

プライマリアドレスを使用してアダプティブ認証にアクセスするには、次の操作を行います。

  1. GUI の「認証ポリシーの設定」セクションからプライマリ IP アドレスをコピーし、ブラウザで IP アドレスにアクセスします。
  2. プロビジョニング中に入力した認証情報を使用してログインします。

    アダプティブ認証

  3. [続行] をクリックします。

    アダプティブ認証

  4. [ **設定] > [セキュリティ] > [AAA-アプリケーショントラフィック] **[仮想サーバ] に移動します。

    アダプティブ認証

  5. 認証ポリシーを追加します。さまざまなユースケースについては、「 認証設定の例」を参照してください。 この記事の設定部分については、次のセクションで説明します。

ステップ 3: Workspace のアダプティブ認証を有効にする

プロビジョニングが完了したら、[Workspace のアダプティブ認証を有効にする] セクションの [ **有効化 ] をクリックして、Workspace の認証を有効にできます** 。

  1. 有効化 」をクリックして、ワークスペースの適応型認証を有効にします。

    アダプティブ認証

  2. ボックスにチェックを入れ、 確認をクリックします

    アダプティブ認証

入力ベースのグループ抽出の設定

従業員、パートナー、ベンダーの3つの部門(グループ)を持つ組織を考えてみましょう。Citrix ADCアプライアンスは、第1要素ログインフォームのユーザーの電子メールIDまたはADユーザー名に基づいてユーザーのグループを抽出できます。Citrix ADCは、ユーザーが属するグループに基づいて、次の表の例に示すように、認証方法(LDAP、SAML、OAuthなど)を提示します。

グループ名 要素
従業員 単一認証 (ユーザー名/パスワード)
パートナー SAML (別の IdP にリダイレクト)
ベンダー SAML (別の IdP にリダイレクト)

次の図は、前述のユースケースにおけるユーザーとCitrix ADCアプライアンスの間の高レベルの相互作用を示しています。

アダプティブ認証

  1. ユーザーはCitrix Workspaceにログインし、仮想認証サーバーにリダイレクトされます。
  2. Citrix ADC は、メールID(またはユーザー名)を入力するためのログインフォームを表示します。 アダプティブ認証

  3. ユーザーは電子メール ID (またはユーザー名) を入力します。
  4. Citrix ADCは、提供された電子メールID(またはユーザー名)を使用して抽出されたグループに基づいてログインフォームを表示します。

CLI を使用して電子メール ID (またはユーザー名) の入力を設定

前提条件

  • 認証を有効にして構成された負荷分散仮想サーバー。
  • IP アドレス 10.0.0.1 の LDAP 負荷分散仮想サーバーが作成されました:

    add server LAB-AD-01 192.168.2.1

    add server LAB-AD-02 192.168.2.2

    add serviceGroup LDAP_SG TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -cltTimeout 9000 -svrTimeout 9000 -CKA NO -TCPB NO -CMP NO

    add lb vserver LDAP_VS TCP 10.0.0.1 389 -persistenceType NONE -cltTimeout 9000

    bind lb vserver LDAP_VS LDAP_SG

    bind serviceGroup LDAP_SG LAB-AD-02 389

    bind serviceGroup LDAP_SG LAB-AD-01 389

メールベースのグループ抽出用の認証仮想サーバーの設定

注:

**OnlyUsername.xml スキーマを変更して、カスタマイズされたログインスキーマ (EmailOnlylSchema) を作成できます。

前のステップで作成した電子メールログインスキーマを使用してログインスキーマポリシーを作成し、仮想認証サーバーにバインドします

add authentication loginSchema emailOnlyLSchema -authenticationSchema "/nsconfig/loginschema/LoginSchema/EmailOnlyLSchema.xml"

add authentication loginSchemaPolicy lschema_only_email_pol -rule true -action emailOnlyLSchema

bind authentication vserver auth_vs -policy lschema_only_email_pol -priority 100 -gotoPriorityExpression END

グループ抽出用の LDAP 認証ポリシーを作成する

注:

LDAP ログイン名は電子メール ID ベースのログインの場合は「メール」ですが、ユーザー名ベースのログインの場合は-LDAP ログイン名は「SAM アカウント名」です。

add authentication ldapAction aaa_local_grp_extraction -serverIP 10.0.0.1 -ldapBase "dc=lab,dc=local" -ldapBindDn svc_ldap@lab.local -ldapBindDnPassword ****** -ldapLoginName mail -groupAttrName memberOf -subAttributeName CN -secType TLS -authentication DISABLED

add authentication Policy aaa_local_grp_extraction_pol -rule true -action aaa_local_grp_extraction

抽出されたグループベースのポリシー設定

ポリシーラベルを使用して、従業員、パートナー、ベンダーグループの次の要素を作成

add authentication loginSchema lschema_noschema -authenticationSchema noschema

add authentication policylabel plabel_noauth_Employee_Partner_Vendor -loginSchema lschema_noschema

add authentication Policy noauth_Employee_pol -rule "AAA.USER.IS_MEMBER_OF(\"Employee\")" -action NO_AUTHN

add authentication Policy noauth_Partner_pol -rule AAA.USER.IS_MEMBER_OF(\"Partner\")" -action NO_AUTHN

add authentication Policy noauth_Vendor_pol -rule "AAA.USER.IS_MEMBER_OF(\"Vendor\")" -action NO_AUTHN

単一の認証ポリシーファクタを作成する(この設定の例として LDAP を使用)

add authentication loginSchema lschema_singleauth_Employee -authenticationSchema "/nsconfig/loginschema/LoginSchema/ PrefilUserFromExpr.xml"

add authentication policylabel plabel_singleauth_Employee -loginSchema lschema_singleauth_Employee

add authentication ldapAction aaa_local_pwd_act -serverIP 192.168.2.1 -ldapBase "dc=lab,dc=local" -ldapBindDn svc_ldap@lab.local -ldapBindDnPassword ****** -ldapLoginName samAccountName -groupAttrName memberOf -subAttributeName CN -secType TLS -ssoNameAttribute userPrincipalName -passwdChange ENABLED -nestedGroupExtraction ON -maxNestingLevel 7 -groupNameIdentifier sAMAccountName -groupSearchAttribute memberOf -groupSearchSubAttribute CN -defaultAuthenticationGroup ldapDefaultAuthGroup -Attribute1 userPrincipalName -Attribute2 mail

add authentication Policy aaa_local_pwd_pol -rule true -action aaa_local_pwd_act

bind authentication policylabel plabel_singleauth_Employee -policyName aaa_local_pwd_pol -priority 100 -gotoPriorityExpression NEXT

Okta SAML IdP にリダイレクトするための SAML ポリシーの作成

add authentication policylabel plabel_saml_Partner -loginSchema lschema_noschema

add authentication samlAction "SAML OKTA" -samlIdPCertName Okta -samlSigningCertName MTRCConsulti-certkey -samlRedirectUrl "https://dev-52531691.okta.com/app/citrixnetscalergateway_saml/exk9a4qvlqFEP4bHI5d7/sso/saml" -samlUserField userprincipalname -samlIssuerName https://aauth.arnaud.biz

add authentication Policy SAML-OKTA -rule true -action "SAML OKTA"

bind authentication policylabel plabel_saml_Partner -policyName SAML-OKTA -priority 100 -gotoPriorityExpression NEXT

Azure SAML IdP にリダイレクトするための SAML ポリシーの作成

add authentication policylabel plabel_saml_Vendor -loginSchema lschema_noschema

add authentication samlAction saml_sp_act -samlIdPCertName "Citrix ADC SAML" -samlRedirectUrl "https://login.microsoftonline.com/a5edf84a-78ce-4ceb-92d0-2c835a217494/saml2" -samlUserField userprincipalname -samlIssuerName " https://aauth.arnaud.biz"

add authentication Policy saml_sp_pol -rule true -action saml_sp_act

bind authentication policylabel plabel_saml_Vendor -policyName saml_sp_pol -priority 100 -gotoPriorityExpression NEXT

3つのポリシー要素すべてをPlabel_NoAuth_employee_Partner_Vendorにバインドする

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Employee_pol -priority 100 -gotoPriorityExpression NEXT -nextFactor plabel_singleauth_Employee

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Partner_pol -priority 110 -gotoPriorityExpression NEXT -nextFactor plabel_saml_Partner

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Vendor_pol -priority 120 -gotoPriorityExpression NEXT -nextFactor plabel_saml_Vendor

グループ抽出認証ポリシーのNextFactorとしてグループベースのポリシーラベルをバインド

bind authentication vserver auth_vs -policy aaa_local_grp_extraction_pol -priority 100 -nextFactor plabel_noauth_Employee_Partner_Vendor -gotoPriorityExpression NEXT

nFactor ビジュアライザーを使用して電子メール ID (またはユーザー名) の入力を設定します

  1. [ セキュリティ] > [AAA アプリケーショントラフィック] > [nFactor ビジュアライザー] > [nFactor フロー] に移動し、[追加] をクリックします 。
  2. + をクリックして nFactor フローを追加します。
  3. EmailOnlyLoginSchemaを使用して、LDAP グループ抽出ポリシーを使用してグループ抽出の要素を追加します。入力する名前は nFactor フローの名前です。[作成] をクリックします。

    アダプティブ認証

  4. nFactor ブロックの [ スキーマの追加 ] をクリックします。 カスタマイズされたログインスキーマ (EmailOnlyLSchema) を作成するには、組み込みの OnlyUsername.xml スキーマを編集できます。

    アダプティブ認証

  5. ポリシーを追加」をクリックします。
  6. 「ポリシー aaa_local_grp_extraction_pol」を選択し、「追加」をクリックします。

    アダプティブ認証

  7. EmailBasedGroupExtractionブロックの緑色の「+」記号をクリックして、後続の要素に関するデシジョンブロックを作成します。

    アダプティブ認証

  8. Next Factor to Connect 」画面で、「 デシジョンブロックの作成」を選択し、 デシジョンブロックの名前を入力して「作成」をクリックします。

    アダプティブ認証

  9. ポリシーを追加」をクリックします

    アダプティブ認証

  10. [ポリシー] を選択し、[ 追加] をクリックします。

    アダプティブ認証

  11. 次の図は、すべてのデシジョンブロックを作成した後の nFactor フローを示しています。

    アダプティブ認証

  12. すべてのデシジョンブロックを作成したら、グループベースのデシジョンブロックをそれぞれの認証ファクターにバインドします。たとえば、従業員グループにはユーザー名とパスワードの認証要素を設定できます。

    アダプティブ認証

  13. [認証ログインスキーマ] ドロップダウンメニューからログインスキーマを選択し、[ 追加] をクリックします。

    アダプティブ認証

  14. 認証ポリシーを選択し、[ Add] をクリックします。

    アダプティブ認証

  15. すべてのグループベースのデシジョンブロックに認証ポリシーをファクターとして設定すると、nFactor フローは次の図のようになります。

    アダプティブ認証

  16. [ 認証サーバーにバインド ] をクリックし、[ 作成] をクリックします。

    アダプティブ認証

  17. 仮想認証サーバーを選択し、nFactor Flow をクリックします。

    アダプティブ認証

  18. 「nFactor フローの選択」フィールドでnFactor フローを選択し、「追加」をクリックします。

    アダプティブ認証

  19. このフローを認証、認可、および監査仮想サーバーにバインドします。

    アダプティブ認証

注:

Azure AD では、SAML リクエストのサブジェクト ID フィールドは想定していません。 Citrix ADC がサブジェクトIDフィールドを送信しないようにするには、Citrix ADC CLIで次のコマンドを入力します。nsapimgr_wr.sh-ys call= “ns_saml_dont_send_subject」このコマンドは nFactor 認証ワークフローにのみ適用されます。

まとめ

このガイドでは、アダプティブ認証を使用して、ローカルADアカウントを作成および管理したり、複数のIDPを許可したりすることなく、クライアントまたは第三者にCitrix DaaSへのアクセスを提供する方法について説明しました。