ADC

Azure ADをSAML IDプロバイダーとして、NetScalerをSAMLサービスプロバイダーとして構成する

SAML サービスプロバイダー (SAML SP) は、サービスプロバイダーによってデプロイされる SAML エンティティです。ユーザーが保護されたアプリケーションにアクセスしようとすると、SPはクライアント要求を評価します。クライアントが認証されていない (有効な NSC_TMAA または NSC_TMAS Cookie がない) 場合、SP は要求を SAML ID プロバイダー (IdP) にリダイレクトします。また、SP は IdP から受信した SAML アサーションも検証します。

SAML アイデンティティプロバイダー (SAML IdP) は、顧客ネットワークにデプロイされる SAML エンティティです。IdP は SAML SP からリクエストを受信し、認証情報を入力する必要があるログオンページにユーザーをリダイレクトします。IdP は、これらの認証情報をユーザディレクトリ(LDAP などの外部認証サーバ)で認証し、SP に送信される SAML アサーションを生成します。SPはトークンを検証し、要求された保護されたアプリケーションへのアクセス権をユーザーに付与します。

次の図は、SAML 認証メカニズムを示しています。

SAMLメカニズム

Azure AD サイド構成

シングルサインオン設定を構成します。

  1. Azure ポータルで、[ Azure Active Directory] をクリックします。

  2. ナビゲーションペインの「 管理 」セクションで、「 エンタープライズアプリケーション」をクリックします。Azure AD テナント内のアプリケーションのランダムなサンプルが表示されます。

  3. 検索バーに「 Azure AD 用 NetScaler SAML コネクタ」と入力します。

    SAML アプリケーション ADC

  4. [ 管理 ] セクションで、[ シングルサインオン] を選択します。

  5. [ SAML ] を選択して、シングルサインオンを構成します。[ SAML でシングルサインオンを設定する-プレビュー ] ページが表示されます。ここで、Azure は SAML IdP として機能しています。

  6. 基本的な SAML オプションを設定します。

    識別子 (エンティティ ID) -一部のアプリで必須です。シングルサインオンが設定されているアプリケーションを一意に識別します。Azure AD は、SAML トークンのオーディエンスパラメータとして識別子をアプリケーションに送信します。アプリケーションは、それを検証することが期待されます。この値は、アプリケーションによって提供されるすべての SAML メタデータにもエンティティ ID として表示されます。

    返信 URL -必須。アプリケーションが SAML トークンの受信を期待する場所を指定します。応答 URL は、アサーションコンシューマサービス(ACS)URL とも呼ばれます。返信 URLをフォーマットhttp(s)://<SP_URL>/cgi/samlauthで指定します。

    サインオン URL -ユーザーがこの URL を開くと、サービスプロバイダーは Azure AD にリダイレクトしてユーザーを認証し、サインインします。

    Relay State :認証の完了後にユーザーをリダイレクトする場所をアプリケーションに指定します。

  7. SAML 署名証明書セクションから証明書 (Base64) をダウンロードします。この証明書は、NetScaler を SAML SP として構成する際に SAMLIDPCertName として使用されます。

    SAML セットアップそう

  8. Azure AD 側の構成が完了したら、アプリケーションへのアクセスを許可されているユーザーとユーザーグループを追加します。「 ユーザーとグループ 」タブに移動し、「 +ユーザー/グループを追加」をクリックします。

    SAML セットアップそう

NetScaler側の構成

  1. SAML アクションを作成します。

    • [ セキュリティ] > [AAA アプリケーショントラフィックポリシー] > [認証] > [詳細ポリシー] > [アクション] > [SAML] に移動します。

    • 追加」をクリックし、次のパラメータの値を入力して、「 作成」をクリックします。

      パラメータの説明:

      太字のパラメーターの値は、Azure 側の構成から取得する必要があります。

      • Name:サーバーの名前

      • リダイレクトURL -Azure AD の「NetScaler セットアップ」セクションに以前使用したログインURLを入力します。 https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2

      • シングルログアウト URL- https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2

      • SAML バインディング-SP と IdP の間で SAML リクエスタとレスポンダのメッセージを転送するために使用されるメカニズム。NetScalerがSPとして機能する場合、ポスト、リダイレクト、およびアーティファクトバインディングをサポートします。デフォルトのバインド方法は Post です。

      • ログアウトバインディング-SAML ログアウトメッセージの転送メカニズムを指定します。デフォルトのバインドメカニズムは Post です。

      • IDP 証明書名 - SAML 署名証明書セクションにある IDP 証明書証明書 (Base64)

       add ssl certkey <IDP-CERT-NAME> -cert <Name of the downloaded IdP certificate>
       <!--NeedCopy-->
      
      • ユーザーフィールド -UserPrincipalName。Azure IdP の「ユーザー属性とクレーム」セクションから取得されます。

      • 署名証明書名 -Azure AD では必要ありません。NetScalerがIdPへの認証要求に署名するために使用するSAML SP証明書(秘密キー付き)を選択します。IdP が認証要求署名を検証できるように、同じ証明書(秘密キーなし)を IdP にインポートする必要があります。このフィールドは、ほとんどの IdP では必要ありません。

      • 発行者名-エンティティ ID または識別子。この場合はhttps://gateway.nssvctesting.net。負荷分散展開シナリオでは、負荷分散仮想サーバーのFQDNを使用する必要があります。

      • 署名されていないアサーションを拒否-IdP からのアサーションに署名が必要な場合に指定できるオプション。デフォルトのオプションは [オン] です。

      • Audience-IdP によって送信されたアサーションが適用されるオーディエンス。これは通常、サービスプロバイダーを表すエンティティ名または URL です。

      • 署名アルゴリズム-SAML トランザクションの署名/検証に使用されるアルゴリズム。デフォルト値は RSA-SHA256 です。

      • ダイジェスト方式-SAML トランザクションのダイジェストの計算/検証に使用されるアルゴリズム。デフォルト値は SHA256 です。

      • デフォルト認証グループ-抽出されたグループに加えて、認証が成功した場合に選択されるデフォルトグループ。

      • Group Name Field:ユーザグループを含むアサーション内のタグの名前。

      • スキュー時間(分)-このオプションは、NetScaler サービスプロバイダーが受信アサーションで許可するクロックスキューを分単位で指定します。たとえば、16:00 にスキュー時間を 10 分に設定した場合、SAML アサーションは 15:50 から 16:10(合計 20 分)まで有効です。デフォルトのスキュー時間は 5 分です。

      • 2 つの要素- オフ

      • 要求された認証コンテキスト-正確

      • 認証クラスタイプ-なし

      • サムプリントを送信-オフ

      • ユーザー名を強制する-オン

      • 認証を強制する-オフ

      • SAML レスポンスを保存-オフ

  2. SAML アクションに対応する SAML ポリシーを作成し、そのポリシーを認証仮想サーバーにバインドします。

    • [ セキュリティ] > [AAA アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [ポリシー ] に移動し、[ 追加] をクリックします。

    • 認証 SAML ポリシーの作成 」ページで、次の詳細を入力します。

      • 名前-SAML ポリシーの名前を指定します。
      • Action Type - SAMLを認証アクションの種類として選択します。
      • アクション-SAML ポリシーをバインドする SAML サーバープロファイルを選択します。
      • 表現-ユーザーが SAML サーバーで認証する必要があるかどうかを判断するために SAML ポリシーが使用するルールまたは式の名前を表示します。テキストボックスに「rule = true」という値を設定すると、SAML ポリシーが有効になり、対応する SAML アクションが実行されます。
  3. SAML ポリシーを VPN 仮想サーバーにバインドし、認証プロファイルを通じて VPN 仮想サーバーを認証仮想サーバーにリンクします。バインディング手順の詳細については、「 認証ポリシーをバインドする」を参照してください。

    [セキュリティ] > [AAA-アプリケーショントラフィック] > [仮想サーバー] に移動し、SAML ポリシーを認証仮想サーバーに関連付けます。

注:

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