ADC

Webサービスフェデレーションプロトコル

Web サービスフェデレーション (WS-Federation) は、2 つのドメイン間に信頼関係がある場合に、ある信頼ドメインのセキュリティトークンサービス (STS) が別の信頼ドメインの STS に認証情報を提供できるようにするアイデンティティプロトコルです。

WS-フェデレーションの利点

WS フェデレーションはアクティブクライアントとパッシブクライアントの両方をサポートしますが、SAML IdP はパッシブクライアントのみをサポートします

  • アクティブクライアントは、Outlook などのMicrosoft ネイティブクライアントと Office クライアント (Word、PowerPoint、Excel、および OneNote) です。
  • パッシブクライアントは、Google Chrome、Mozilla Firefox、Internet Explorer などのブラウザベースのクライアントです。

NetScaler ADC を WS フェデレーションとして使用するための前提条件

NetScaler ADCアプライアンスをADFSプロキシとして構成する前に、以下を確認してください。

  • Active Directory
  • ドメイン SSL 証明書。
  • ADFSサーバー上のNetScaler ADC SSL証明書とADFSトークン署名証明書は同じである必要があります。

重要

SAML IdP は WS フェデレーションプロトコルを処理できるようになりました。したがって、WS-Federation IdP を設定するには、実際に SAML IdP を設定する必要があります。WS-Federation について明示的に言及しているユーザーインターフェイスは表示されません。

ADFSプロキシおよびWS-Federation IdPとして構成されている場合にNetScaler ADCでサポートされる機能

次の表に、ADFSプロキシおよびWS-Federation IdPとして構成された場合にNetScaler ADCアプライアンスでサポートされる機能を示します。

Features NetScaler ADCアプライアンスをADFSプロキシとして構成する WS-フェデレーションIdPとしてのNetScaler ADC ADFSPIPとしてのNetScaler ADC
負荷分散 はい はい はい
SSL 終了 はい はい はい
レート制限 はい はい はい
統合 (DMZサーバの設置面積を削減し、パブリックIPを節約) はい はい はい
Webアプリケーションファイアウォール(WAF) はい はい はい
NetScaler ADCアプライアンスへの認証オフロード はい はい (アクティブクライアントとパッシブクライアント) はい
シングルサインオン(SSO) はい はい (アクティブクライアントとパッシブクライアント) はい
多要素(nFactor)認証 いいえ はい (アクティブクライアントとパッシブクライアント) はい
Azure 多要素認証 いいえ はい (アクティブクライアントとパッシブクライアント) はい
ADFS サーバーファームは避けられる いいえ はい はい

NetScaler ADCアプライアンスをWSフェデレーションIdPとして構成する

DMZゾーンでNetScaler ADCをWSフェデレーションIdP(SAML IdP)として構成します。ADFS サーバーは、バックエンドの AD ドメインコントローラーとともに構成されます。

WS フェデレーション IdP

  1. Microsoft Office365へのクライアント要求は、NetScaler ADCアプライアンスにリダイレクトされます。
  2. ユーザーは、多要素認証の資格情報を入力します。
  3. NetScaler ADCはADで資格情報を検証し、NetScaler ADCアプライアンスでネイティブにトークンを生成します。資格情報は、アクセスのために Office365 に渡されます。

WS-Federation IdPのサポートは、F5 Networksロードバランサーと比較した場合、NetScaler ADCアプライアンスを介してネイティブに行われます。

CLIを使用してNetScaler ADCアプライアンスをWS-フェデレーションIdP(SAML IdP)として構成する

以下のセクションは、構成手順を完了するための要件に基づいて分類されています。

LDAP 認証を設定してポリシーを追加するには

重要

ドメインユーザーの場合、会社の電子メールアドレスを使用してNetScaler ADCアプライアンスにログオンするには、以下を構成する必要があります。

  • NetScaler ADCアプライアンスでLDAP認証サーバーとポリシーを構成します。
  • 認証、承認、および監査用の仮想 IP アドレスにバインドします (既存の LDAP 設定の使用もサポートされています)。
add authentication ldapAction <Domain_LDAP_Action> -serverIP <Active Directory IP> -serverPort 636 -ldapBase "cn=Users,dc=domain,dc=com" -ldapBindDn "cn=administrator,cn=Users,dc=domain,dc=com" -ldapBindDnPassword <administrator password> -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -followReferrals ON -Attribute1 mail -Attribute2 objectGUID

add authentication Policy <Domain_LDAP_Policy> -rule true -action <Domain_LDAP_Action>
<!--NeedCopy-->

add authentication ldapAction CTXTEST_LDAP_Action -serverIP 3.3.3.3 -serverPort 636 -ldapBase "cn=Users,dc=ctxtest,dc=com" -ldapBindDn "cn=administrator,cn=Users,dc=ctxtest,dc=com" -ldapBindDnPassword xxxxxxxxxxx -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -followReferrals ON -Attribute1 mail -Attribute2 objectGUID

add authentication Policy CTXTEST_LDAP_Policy -rule true -action CTXTEST_LDAP_Action
<!--NeedCopy-->

NetScaler ADC を WS フェデレーション IdP または SAML IdP として構成するには

トークン生成のための WS-Federation IdP (SAML IdP) アクションとポリシーを作成します。後で認証、承認、および監査仮想サーバーにバインドします。

add authentication samlIdPProfile <Domain_SAMLIDP_Profile> -samlIdPCertName <SSL_CERT> -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName <Issuer Name for Office 365 in ADFS Server> -rejectUnsignedRequests OFF -audience urn:federation:MicrosoftOnline -NameIDFormat persistent -NameIDExpr "HTTP.REQ.USER.ATTRIBUTE(2).B64ENCODE" -Attribute1 IDPEmail -Attribute1Expr "HTTP.REQ.USER.ATTRIBUTE(1)"

add authentication samlIdPPolicy <Domain_SAMLIDP_Policy> -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action <Domain_SAMLIDP_Profile>
<!--NeedCopy-->

add authentication samlIdPProfile CTXTEST_SAMLIDP_Profile -samlIdPCertName ctxtest_newcert_2019 -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName "http://ctxtest.com/adfs/services/trust/" -rejectUnsignedRequests OFF -audience urn:federation:MicrosoftOnline -NameIDFormat persistent -NameIDExpr "HTTP.REQ.USER.ATTRIBUTE(2).B64ENCODE" -Attribute1 IDPEmail -Attribute1Expr "HTTP.REQ.USER.ATTRIBUTE(1)"

add authentication samlIdPPolicy CTXTEST_SAMLIDP_Policy -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action CTXTEST_SAMLIDP_Profile
<!--NeedCopy-->

企業の資格情報を使用して Office365 にログオンする従業員を認証するように、認証、承認、および監査仮想サーバーを構成するには

add authentication vserver <Domain_AAA_VS> SSL <IP_address>`
<!--NeedCopy-->

add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0

bind authentication vserver CTXTEST_AAA_VS -portaltheme RfWebUI
<!--NeedCopy-->

認証仮想サーバーとポリシーをバインドするには

bind authentication vserver <Domain_AAA_VS> -policy <Domain_SAMLIDP_Policy> -priority 100 -gotoPriorityExpression NEXT

bind authentication vserver <Domain_AAA_VS> -policy <Domain_LDAP_Policy> -priority 100 -gotoPriorityExpression NEXT
<!--NeedCopy-->

bind authentication vserver CTXTEST_AAA_VS -policy CTXTEST_SAMLIDP_Policy -priority 100 -gotoPriorityExpression NEXT

bind authentication vserver CTXTEST_AAA_VS -policy CTXTEST_LDAP_Policy -priority 100 -gotoPriorityExpression NEXT

bind ssl vserver CTXTEST_AAA_VS -certkeyName ctxtest_newcert_2019
<!--NeedCopy-->

コンテンツスイッチングを設定するには

add cs action <Domain_CS_Action> -targetVserver <Domain_AAA_VS>

add cs policy <Domain_CS_Policy> -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action <Domain_CS_Action>
<!--NeedCopy-->

add cs action CTXTEST_CS_Action -targetVserver CTXTEST_AAA_VS

add cs policy CTXTEST_CS_Policy -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action CTXTEST_CS_Action
<!--NeedCopy-->

コンテンツスイッチ仮想サーバーをポリシーにバインドするには

bind cs vserver CTXTEST_CSVS -policyName CTXTEST_CS_Policy -priority 100
<!--NeedCopy-->