SAML でサポートされる機能の追加
SAML では次の機能がサポートされています。
SAML SP および IdP 構成のメタデータの読み取りと生成のサポート
NetScalerアプライアンスは、SAMLサービスプロバイダー(SP)とIDプロバイダー(IdP)の両方の構成エンティティの手段としてメタデータファイルをサポートするようになりました。メタデータファイルは、エンティティの設定を記述する構造化された XML ファイルです。SP と IdP のメタデータファイルは別々です。デプロイメントに基づき、1 つの SP または IdP エンティティに複数のメタデータファイルがある場合もあります。 管理者は、NetScaler上のメタデータファイル(SAML SPおよびIdP)をエクスポートおよびインポートできます。 SAML SP および IdP のメタデータのエクスポートとインポートの機能については、次のセクションで説明します。
SAML SP のメタデータエクスポート
NetScalerがSAML SPとして構成されていて、SAML IdPがNetScaler SP構成を含むメタデータをインポートしようとしている例を考えてみましょう。NetScalerアプライアンスには、SAML SP構成を指定する「samlAction」属性がすでに構成されていると仮定します。
ユーザーまたは管理者からメタデータをエクスポートするには、次に示すようにNetScaler Gatewayまたは認証仮想サーバーにクエリを実行します。
https://vserver.company.com/metadata/samlsp/<action-name>
SAML SP のメタデータのインポート
現在、NetScalerアプライアンスのSAMLアクション構成にはさまざまなパラメーターが必要です。管理者はこれらのパラメータを手動で指定します。ただし、異なる SAML システムとの相互運用に関しては、管理者は命名法に気付かないことがよくあります。IdP のメタデータが利用可能であれば、「samlAction」エンティティの設定の大部分を避けることができます。実際、IdP メタデータファイルを指定すると、IdP 固有の設定全体が省略されることがあります。’samlAction ‘エンティティは、メタデータファイルから設定を読み取るための追加パラメータを取るようになりました。
NetScalerアプライアンスにメタデータをインポートする場合、メタデータには使用する署名アルゴリズムは含まれず、エンドポイントの詳細が含まれます。メタデータは、メタデータそのものを検証するために使用できる特定のアルゴリズムで署名できます。アルゴリズムは ‘samlAction’ エンティティには保存されません。
したがって、’samlAction’ エンティティで指定する内容は、データを送信するときに使用されます。受信データには、NetScalerアプライアンスが処理する別のアルゴリズムが含まれる場合があります。
最大サイズは 64 K バイトのメタデータをインポートできます。
コマンドラインインターフェイスを使用してメタデータファイルをフェッチする。
set samlAction <name> [-metadataUrl <url> [-metadataRefreshInterval <int>] https://idp.citrix.com/samlidp/metadata.xml
注
metadataRefreshInterval パラメータは、指定したメタデータ URL からメタデータ情報をフェッチする間隔(分)です。デフォルト値は 36000 です。
Metadata import for SAML IdP
「samlidpProfile」パラメータは、SP に固有の設定全体を読み取るために、新しい引数を取ります。SAML IdP の設定は、SP 固有のプロパティを SP メタデータファイルに置き換えることで簡略化できます。このファイルは HTTP 経由で照会されます。
コマンドラインインターフェイスを使用してメタデータファイルから読み込むには:
set samlIdPProfile <name> [-metadataUrl <url>] [-metadataRefreshInterval <int>]
Name-value attribute support for SAML authentication
SAML 認証属性に一意の名前と値を設定できるようになりました。名前は SAML アクションパラメータで設定され、値は名前のクエリによって取得されます。name 属性値を指定すると、管理者は属性名に関連付けられた属性値を簡単に検索できます。また、管理者は属性を値だけで覚える必要がなくなりました。
重要
- samlAction コマンドでは、合計サイズが 2048 バイト未満で、カンマで区切って最大 64 個の属性を設定できます。
- 属性リストを使用することをお勧めします。「属性 1 から属性 16」を使用すると、抽出された属性のサイズが大きい場合にセッションが失敗します。
CLI を使用して名前と値の属性を設定するには
コマンドプロンプトで入力します。
add authentication samlAction <name> [-Attributes <string>]
例:
add authentication samlAction samlAct1 -attributes “mail,sn,userprincipalName”
SAML IdP に対するアサーションコンシューマーサービス URL のサポート
SAML IDプロバイダー(IdP)として構成されたNetScalerアプライアンスは、SAMLサービスプロバイダー(SP)要求を処理するためのアサーションコンシューマーサービス(ACS)インデックス作成をサポートするようになりました。SAML IdP は、ACS インデックス設定を SP メタデータからインポートするか、ACS インデックス情報を手動で入力できるようにします。 次の表は、NetScalerアプライアンスをSAML SPまたはSAML IdPとして使用する展開環境に固有の記事の一覧です。
他の特定のデプロイメントに関するいくつかの情報:
認証メカニズムに対する WebView クレデンシャルタイプのサポート
NetScalerアプライアンスの認証がAuthV3プロトコルをサポートできるようになりました。AuthV3 プロトコルの WebView 資格情報タイプは、すべてのタイプの認証メカニズム (SAML や OAuth を含む) をサポートします。WebView資格情報の種類はAuthV3の一部で、Citrix ReceiverおよびブラウザによってWebアプリケーションに実装されます。
次の例は、NetScaler GatewayとCitrix Receiverを経由するWebViewイベントのフローを説明しています。
- Citrix Receiverは、AuthV3プロトコルのサポートについてNetScaler Gatewayとネゴシエートします。
- NetScalerアプライアンスは肯定的に反応し、特定の開始URLを提案します。
- その後、Citrix Receiverは特定のエンドポイント(URL)に接続します。
- NetScaler Gatewayは、WebViewを起動するための応答をクライアントに送信します。
- Citrix ReceiverはWebViewを起動し、最初のリクエストをNetScalerアプライアンスに送信します。
- NetScalerアプライアンスはURIをブラウザログインエンドポイントにリダイレクトします。
- 認証が完了すると、NetScalerアプライアンスはWebViewに完了応答を送信します。
- WebViewが終了し、セッション確立のためにAuthV3プロトコルを続行するようにCitrix Receiverに制御が戻されます。
SAML SP でのセッションインデックスサイズの増加
SAML サービスプロバイダ (SP) の SessionIndex サイズが 96 バイトに増加しました。以前は、sessionIndex のデフォルトの最大サイズは 63 バイトでした。
注
NetScaler 13.0ビルド36.xで導入されたサポート
SAML SP のカスタム認証クラスリファレンスのサポート
SAML action コマンドで、カスタム認証クラス参照属性を設定できます。カスタム認証クラス参照属性を使用すると、適切な SAML タグ内のクラス名をカスタマイズできます。カスタム認証クラス参照属性と名前空間は、SAML SP 認証リクエストの一部として SAML IdP に送信されます。
以前は、SAML action コマンドを使用すると、authnctxClassRef 属性に定義されている定義済みクラスのセットのみを設定できました。
重要
customAuthnctxClassRef 属性を設定する際には、次の点を確認してください。
- クラス名には、英数字、または適切な XML タグを持つ有効な URL を含める必要があります。
- 複数のカスタムクラスを設定する必要がある場合は、各クラスをカンマで区切る必要があります。
CLI を使用して customAuthnCtxClassRef 属性を設定するには
コマンドプロンプトで入力します。
- add authentication samlAction
<name>
[-customAuthnCtxClassRef<string>
] - set authentication samlAction
<name>
[-customAuthnCtxClassRef<string>
]
例:
add authentication samlAction samlact1 –customAuthnCtxClassRef http://www.class1.com/LoA1,http://www.class2.com/LoA2
set authentication samlAction samlact2 –customAuthnCtxClassRef http://www.class3.com/LoA1,http://www.class4.com/LoA2
GUI を使用して customAuthnCtxClassRef 属性を設定するには
- セキュリティ > AAA-アプリケーショントラフィック > ポリシー > 認証 > 詳細ポリシー > アクション > SAMLに移動します。
- [SAML] ページで [ サーバー ] タブを選択し、[ 追加] をクリックします。
- [認証 SAML サーバーの作成 ] ページで、SAML アクションの名前を入力します。
-
下にスクロールして、[ カスタム認証クラスタイプ] セクションのクラスタイプを設定します 。
SAML IdP でのアーティファクトバインディングのサポート
SAML IDプロバイダー(IdP)として構成されたNetScalerアプライアンスは、アーティファクトバインディングをサポートします。Artifact バインディングは SAML IdP のセキュリティを強化し、悪意のあるユーザによるアサーションの検査を制限します。
SAML IdP に対するアサーションコンシューマーサービス URL のサポート
SAML IDプロバイダー(IdP)として構成されたNetScalerアプライアンスは、SAMLサービスプロバイダー(SP)要求を処理するためのアサーションコンシューマーサービス(ACS)インデックス作成をサポートするようになりました。SAML IdP は、ACS インデックス設定を SP メタデータからインポートするか、ACS インデックス情報を手動で入力できるようにします。
FIPS オフロードサポート
SAMLサービスプロバイダーとして使用されるNetScaler MPX FIPSアプライアンスは、暗号化されたアサーションをサポートするようになりました。また、SAMLサービスプロバイダーまたはSAML IDプロバイダーとして機能するNetScaler MPX FIPSアプライアンスを、FIPSハードウェアでSHA2アルゴリズムを使用するように構成できるようになりました。
注
FIPS モードでは、RSA-V1_5 アルゴリズムのみがキートランスポートアルゴリズムとしてサポートされます。
コマンドラインインターフェイスを使用して FIPS オフロードサポートを構成します。
-
SSL FIPS を追加する
add ssl fipsKey fips-key
-
CSR を作成し、CA サーバで使用して証明書を生成します。その後、 /nsconfig/sslに証明書をコピーできます。このファイルが fips3cert.cerであると仮定します。
add ssl certKey fips-cert -cert fips3cert.cer -fipsKey fips-key<!--NeedCopy-->
-
SAML SP モジュールの SAML アクションでこの証明書を指定する
set samlAction <name> -samlSigningCertName fips-cert<!--NeedCopy-->
-
SAML IdP モジュールの SAMLidpProfile の証明書を使用する
set samlidpprofile fipstest –samlIdpCertName fips-cert<!--NeedCopy-->
一般的な SAML 用語
SAML の一般的な用語をいくつか挙げます。
-
アサーション: SAML アサーションは、ユーザの認証後に ID プロバイダからサービスプロバイダに返される XML ドキュメントです。アサーションには、SAML 標準で定義されている特定の構造があります。
-
アサーションのタイプ: アサーションのタイプは次のとおりです。
- 認証-ユーザーは特定の時間に、特定の手段で認証されます。
- Authorization-指定されたリソースへのアクセスを許可または拒否されたユーザー
- Attributes-ユーザーは指定された属性に関連付けられます。
-
アサーションコンシューマサービス (ACS): SAML アサーションの受信と解析を担当するサービスプロバイダのエンドポイント (URL)
-
オーディエンス制限: SAML アサーション内の値で、アサーションの対象となるユーザー(および対象者のみ)を指定します。 「オーディエンス」はサービスプロバイダーで、通常は URL ですが、技術的には任意のデータ文字列としてフォーマットできます。
-
ID プロバイダ (IdP): SAML の観点では、ID プロバイダは、サービスプロバイダからの要求に応じて、ユーザの ID を検証するエンティティです。
ID プロバイダーは、ユーザーの ID を維持および認証する責任を負います。
-
サービスプロバイダ (SP): SAML に関しては、サービスプロバイダ (SP) はユーザーにサービスを提供し、ユーザーが SAML を使用してサインインできるようにします。ユーザーがサインインしようとすると、SP は ID プロバイダ (IdP) に SAML 認証要求を送信します。
-
SAML バインディング: SAML リクエスタとレスポンダは、メッセージを交換して通信します。これらのメッセージを転送するメカニズムを SAML バインディングと呼びます。
-
HTTP Artifact: SAML プロトコルでサポートされるバインディングオプションの 1 つ。HTTP Artifact は、SAML リクエスタとレスポンダが HTTP User-Agent を使用していて、技術的またはセキュリティ上の理由からメッセージ全体を転送したくないシナリオで役立ちます。代わりに、SAML Artifact が送信されます。SAML Artifact は、完全な情報の一意の ID です。IdP は Artifact を使用して完全な情報を取得できます。Artifact issuer は、Artifact が保留されている間、状態を維持する必要があります。Artifact 解決サービス (ARS) を設定する必要があります。
HTTP Artifact はアーティファクトをクエリパラメータとして送信します。
-
HTTP POST: SAML プロトコルでサポートされているバインディングオプションの 1 つ。
HTTP POST は、メッセージコンテンツを POST パラメータとしてペイロードで送信します。
-
HTTP リダイレクト: SAML プロトコルでサポートされるバインディングオプションの 1 つ。
HTTP リダイレクトを使用すると、サービスプロバイダはログインが発生する ID プロバイダにユーザをリダイレクトし、ID プロバイダはユーザをサービスプロバイダにリダイレクトして戻します。HTTP リダイレクトには、User-Agent(ブラウザ)による介入が必要です。
HTTP リダイレクトはメッセージコンテンツを URL で送信します。このため、レスポンスのサイズは通常、ほとんどのブラウザで許可されている URL の長さを超えるため、SAML レスポンスには使用できません。
注: NetScalerアプライアンスは、ログアウト中のPOSTバインディングとリダイレクトバインディングをサポートします。
-
メタデータ: メタデータは、SP と IdP の相互通信方法を知るための設定データで、XML 標準になります。
SAML 認証に関連するCitrix その他の有用な記事
SAML 認証に関する次の記事が役に立つかもしれません。
この記事の概要
- SAML SP および IdP 構成のメタデータの読み取りと生成のサポート
- Name-value attribute support for SAML authentication
- SAML IdP に対するアサーションコンシューマーサービス URL のサポート
- 認証メカニズムに対する WebView クレデンシャルタイプのサポート
- SAML SP でのセッションインデックスサイズの増加
- SAML SP のカスタム認証クラスリファレンスのサポート
- SAML IdP でのアーティファクトバインディングのサポート
- SAML IdP に対するアサーションコンシューマーサービス URL のサポート
- FIPS オフロードサポート
- 一般的な SAML 用語
- SAML 認証に関連するCitrix その他の有用な記事