ADC

OAuthサービスプロバイダーとしてのNetScaler ADC

認証、承認、および監査トラフィック管理機能は、Google、Facebook、Twitter などのアプリケーションでホストされているアプリケーションに対してユーザーを認証するための OAuth 認証をサポートします。

注意事項

  • ソリューションが機能するには、NetScaler ADC Advanced Edition以上が必要です。
  • Citrix ADC 上の OAuth は、「OpenID 接続 2.0」に準拠しているすべての SAML IdP に対応しています。

重要:

コンテンツの多いWebサイトがセッションの有効期限切れ時に複数の認証要求を送信すると、Citrix ADCがCSRFエラーで応答することがあります。回避策として、OAuth ポリシーを設定するときに、メインエントリポイントであるホスト名とパスの両方に対してポリシーが設定されていることを確認することをお勧めします。

GUI を使用して OAuth を設定する

  1. OAuth アクションとポリシーを設定します。

    [ セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [高度なポリシー] > [ポリシー] に移動し、アクションタイプとして OAuth を使用してポリシーを作成し、必要な OAuth アクションをポリシーに関連付けます。

  2. OAuth ポリシーを認証仮想サーバーに関連付けます。

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

注:

属性 (1 ~ 16) は OAuth レスポンスで抽出できます。現在、これらの属性は評価されません。これらは将来の参照のために追加されます。

CLI を使用して OAuth を設定する

  1. OAuth アクションを定義します。

    add authentication OAuthAction <name> -authorizationEndpoint <URL> -tokenEndpoint <URL> [-idtokenDecryptEndpoint <URL>] -clientID <string> -clientSecret <string> [-defaultAuthenticationGroup <string>][-tenantID <string>][-GraphEndpoint <string>][-refreshInterval <positive_integer>] [-CertEndpoint <string>][-audience <string>][-userNameField <string>][-skewTime <mins>][-issuer <string>][-Attribute1 <string>][-Attribute2 <string>][-Attribute3 <string>] [-tokenEndpointAuthMethod <tokenEndpointAuthMethod>]
    <!--NeedCopy-->
    
  2. アクションを高度な認証ポリシーに関連付けます。

    add authentication Policy <name> -rule <expression> -action <string>
    <!--NeedCopy-->
    

    例:

    add authentication oauthAction a -authorizationEndpoint https://example.com/ -tokenEndpoint https://example.com/ -clientiD sadf -clientsecret df
    <!--NeedCopy-->
    

認証 OAuthAction パラメータの詳細については、「 認証 OAuthAction」を参照してください。

注:

certEndpointが指定されると、Citrix ADCは設定された頻度でそのエンドポイントをポーリングしてキーを学習します。

ローカルファイルを読み取り、そのファイルからキーを解析するようにNetScaler ADCを構成するために、次のような新しい構成オプションが導入されました:

set authentication OAuthAction <name> -CertFilePath <path to local file with jwks>
<!--NeedCopy-->

OAuth機能は、証明書利用者側(RP)側およびNetScaler GatewayおよびNetScaler ADCのIdP側からのトークンAPIで次の機能をサポートするようになりました。

  • PKCE(コード交換のための証明キー)のサポート

  • client_assertion のサポート

OAuth 認証に対する名前と値の属性のサポート

OAuth 認証属性に一意の名前と値を設定できるようになりました。名前は OAuth アクションパラメーターで「Attributes」として設定され、名前はクエリーによって取得されます。抽出された属性は、認証、認可、および監査セッションに保存されます。管理者は、選択した属性名の指定方法に基づいて、http.req.user.attribute("attribute name")またはhttp.req.user.attribute(1)を使用して、これらの属性をクエリできます。

属性の名前を指定することで、管理者はその属性名に関連付けられている属性値を簡単に検索できます。また、管理者は「attribute1 to attribute16」を番号だけで覚えておく必要がなくなりました。

重要

OAuth コマンドでは、合計サイズが 1024 バイト未満の最大 64 個の属性をカンマで区切って設定できます。

「属性 1 から属性 16」の合計値サイズと「属性」で指定された属性の値が 10 KB 以下であれば、セッションの失敗を回避できます。

CLI を使用して名前と値の属性を設定するには

コマンドプロンプトで入力します:

add authentication OAuthAction <name> [-Attributes <string>]

set authentication OAuthAction <name> [-Attributes <string>]
<!--NeedCopy-->

例:

add authentication OAuthAction a1 –attributes "email,company" –attribute1 email

set authentication OAuthAction oAuthAct1 -attributes "mail,sn,userprincipalName"
<!--NeedCopy-->
OAuthサービスプロバイダーとしてのNetScaler ADC