SAML認証の構成
セキュリティアサーションマークアップ言語 (SAML) は、ID プロバイダ (IdP) とサービスプロバイダの間で認証と承認を交換するための XML ベースの標準です。NetScaler Gateway はSAML認証をサポートしています。
SAML 認証を構成するときは、次の設定を作成します。
- IdP 証明書名。これは、IdP の秘密キーに対応するパブリックキーです。
- リダイレクト URL。これは認証 IdP の URL です。認証されていないユーザーは、この URL にリダイレクトされます。
- ユーザーフィールド。IdP が Subject タグの NameIdentifier タグとは異なる形式でユーザー名を送信する場合、このフィールドを使用してユーザー名を抽出できます。この設定はオプションです。
- 署名証明書名。これは、IdPへの認証要求に署名するために使用されるNetScaler Gateway サーバーの秘密キーです。証明書名を設定しない場合、アサーションは署名されずに送信されるか、認証要求が拒否されます。
- SAML 発行者名。この値は、認証要求が送信されるときに使用されます。issuer フィールドには、アサーションの送信元の機関を示す一意の名前が必要です。これはオプションのフィールドです。
- デフォルトの認証グループ。これは、ユーザが認証される認証サーバー上のグループです。
- 2要素。この設定では、2 要素認証を有効または無効にします。
- 署名なしアサーションを拒否します。有効にすると、署名証明書名が構成されていない場合、NetScaler Gateway はユーザー認証を拒否します。
NetScaler Gateway はHTTPポストバインディングをサポートしています。このバインディングでは、送信側は、必要な情報を含むフォーム自動投稿を含む 200 OK でユーザーに返信します。具体的には、デフォルトフォームには、フォームがリクエストかレスポンスかに応じてSAMLResponse
、SAMLRequest
という名前の2つの非表示フィールドを含める必要があります。このフォームには relayState も含まれます。relayState は、送信側によって処理されない任意の情報を送信するために使用される状態または情報です。依存側が情報を送り返すので、送信側がRelayStateとともにアサーションを取得したときに、送信側が次に何をすべきかを知ることができます。RelayStateを暗号化または難読化することをお勧めします。
注
NetScaler GatewayをCitrix CloudへのIdPとして使用する場合、NetScaler GatewayでRelayStateルールを構成する必要はありません。
IdPチェーンの場合は、最初のSAMLポリシーでのみRelayStateルールを設定すれば十分です。このコンテキストでは、IdPチェーンとは、設定されたSAMLアクションが、別のSAMLアクションを含む認証仮想サーバーIdPを参照するシナリオです。
Active Directory フェデレーションサービス 2.0 の構成
Active Directory フェデレーションサービス (AD FS) 2.0 は、フェデレーションサーバーの役割で使用する任意の Windows Server 2008 または Windows Server 2012 コンピューターで構成できます。ADFSサーバーをNetScaler Gateway と互換性があるように構成する場合は、Windows Server 2008またはWindows Server 2012の証明書利用者信頼ウィザードを使用して、次のパラメーターを構成する必要があります。
Windows Server 2008 のパラメーター:
- 依存パーティ信頼。NetScaler Gateway メタデータファイルの場所(
https://vserver.fqdn.com/ns.metadata.xml
など)を指定します。vserver.fqdn.comは、NetScaler Gateway 仮想サーバーの完全修飾ドメイン名(FQDN)です。FQDN は、仮想サーバーにバインドされたサーバー証明書に記載されています。 - 承認規則。証明書利用者へのユーザーのアクセスを許可または拒否できます。
Windows Server 2012 年の変数:
-
依存パーティ信頼。NetScaler Gateway メタデータファイルの場所(
https://vserver.fqdn.com/ns.metadata.xml
など)を指定します。vserver.fqdn.comは、NetScaler Gateway 仮想サーバーの完全修飾ドメイン名(FQDN)です。FQDN は、仮想サーバーにバインドされたサーバー証明書に記載されています。 -
AD FS プロファイル。AD FS プロファイルを選択します。
-
証明書。NetScaler Gateway は暗号化をサポートしていません。証明書を選択する必要はありません。
-
SAML 2.0 WebSSO プロトコルのサポートを有効にします。これにより、SAML 2.0 SSO のサポートが有効になります。NetScaler Gateway 仮想サーバーのURL(
https:netScaler.virtualServerName.com/cgi/samlauth
など)を指定します。このURLは、NetScaler Gateway アプライアンスのアサーションコンシューマサービスURLです。これは定数パラメーターであり、NetScaler Gateway はこのURLでSAMLレスポンスを期待します。
-
証明書利用者信頼識別子。NetScaler Gateway という名前を入力します。これは、
https://netscalerGateway.virtualServerName.com/adfs/services/trust
などの証明書利用者を識別する URLです。 -
承認規則。証明書利用者へのユーザーのアクセスを許可または拒否できます。
-
要求ルールを構成します。発行トランスフォームルールを使用して LDAP 属性の値を設定し、[LDAP 属性を要求として送信] テンプレートを使用できます。次に、以下を含む LDAP 設定を構成します。
- メールアドレス
- sAMAccountName
- ユーザー プリンシパル名 (UPN)
- MemberOf
-
証明書の署名。署名検証証明書を指定するには、リレーパーティのプロパティを選択し、証明書を追加します。
署名証明書が 2048 ビット未満の場合は、警告メッセージが表示されます。警告を無視して続行できます。テスト展開を設定している場合は、リレーパーティの証明書失効リスト(CRL)を無効にします。このチェックを無効にしない場合、AD FS は CRL で証明書を検証しようとします。
CRLを無効にするには、次のコマンドを実行します。set-adfwRelayingPartyTrust-signingCertfiCateRvocatonNone-TargetName NetScaler
設定を構成したら、リレーパーティの信頼ウィザードを完了する前に、証明書利用者データを確認します。NetScaler Gateway 仮想サーバー証明書をエンドポイントURL(https://vserver.fqdn.com/cgi/samlauth
など)で確認します。
リレーパーティの信頼ウィザードでの設定の構成が完了したら、構成済みの信頼を選択し、プロパティを編集します。以下の手順に従います:
-
セキュアハッシュアルゴリズムを SHA-1 に設定します。
注:Citrix はSHA-1のみをサポートしています。
-
暗号化証明書を削除します。暗号化されたアサーションはサポートされていません。
-
次の項目を含む要求ルールを編集します。
- トランスフォームルールの選択
- クレームルールの追加
- 要求規則テンプレートの選択:LDAP 属性を要求として送信する
- 名前を挙げて
- 属性ストアの選択:Active Directory
- LDAP 属性を選択:<Active Directory parameters>
- 「名前 ID」として「アウトゴーイングクレームルール」を選択します
注:属性名の XML タグはサポートされていません。
-
シングルサインオフのログアウト URL を設定します。要求ルールは [ログアウト URL の送信] です。カスタムルールは、次のとおりである必要があります。
pre codeblock => issue(Type = "logoutURL", Value = "https://<adfs.fqdn.com>/adfs/ls/", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"); <!--NeedCopy-->
AD FSの設定を構成したら、AD FS署名証明書をダウンロードし、NetScaler Gateway で証明書キーを作成します。その後、証明書とキーを使用して、NetScaler Gateway でSAML認証を構成できます。
SAML 二要素認証の設定
SAML の 2 要素認証を設定できます。LDAP 認証を使用した SAML 認証を設定する場合は、次のガイドラインに従ってください。
- SAML がプライマリ認証タイプの場合、LDAP ポリシーで認証を無効にし、グループ抽出を設定します。次に、LDAP ポリシーをセカンダリ認証タイプとしてバインドします。
- SAML 認証はパスワードを使用せず、ユーザー名のみを使用します。また、SAML 認証は、認証が成功した場合にのみユーザーに通知します。SAML 認証が失敗した場合、ユーザーには通知されません。失敗応答は送信されないため、SAML はカスケードの最後のポリシーであるか、唯一のポリシーである必要があります。
- 不透明な文字列ではなく、実際のユーザー名を構成することをお勧めします。
- SAML をセカンダリ認証タイプとしてバインドすることはできません。