SAML 認証ポリシーは、クライアント認証実装の一部として構成できます。認証ポリシーは、一致するルールと対応するアクションの組み合わせです。ルールは、クライアント IP、Host ヘッダー、またはパスの一致に一致するように構成できます。

ユーザー インターフェイスを使用した認証ポリシーの構成

  1. [テンプレート] > [セキュリティ] > [SSO ポリシー] > [作成] の順に移動します。

    注:

    または、SSO ポリシーがバインドされている仮想サービスに移動することもできます。[仮想サービスの編集] 画面で、[ポリシー] > [アクセス] > [SAML] の順に移動し、仮想サービスに適用されている [SSO ポリシー] を選択します。ペン アイコンをクリックして SSO ポリシーを編集します。

  2. [認証] > [認証ルール] の順に移動します。

  3. [追加] をクリックします。

  4. [認証ルール] 画面で、ルールの [名前] を入力します。

  5. [ルールの有効化] オプションを選択します。

  6. 必要に応じて、一致条件とアクションを追加します。



  7. [保存] をクリックします。

CLI を使用した認証ポリシーの構成

認証ポリシーを構成する手順は、次のとおりです。

  1. 認証ポリシーを構成し、認証プロファイルをバインドします。

  2. 認証ルールを作成します。

  3. 構成されたルールのアクションを定義します。

認証ポリシーの構成と認証プロファイルのバインド

NSX Advanced Load Balancer で SAML 認証ポリシーを構成するには、次の手順を実行します。

  • configure ssopolicy コマンドを使用して認証ポリシーを構成します。

    [admin:controller]: > configure ssopolicy auth-policy-test
        [admin:controller]: ssopolicy>
        authentication_policy   (submode)
  • 認証プロファイルを IdP メタデータを含む構成済みポリシーに適用します。

    [admin:controller]: ssopolicy> authentication_policy default_auth_profile_ref saml-auth-1

認証ルールの作成

authn_rules コマンドを使用して認証ルールを構成します。

[admin:controller]: ssopolicy:authentication_policy> authn_rules name rule_1
   New object being created
   [admin:controller]: ssopolicy:authentication_policy:authn_rules> index 1
   [admin:controller]: ssopolicy:authentication_policy:authn_rules> match
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match>
    client_ip     (submode)
    host_hdr      (submode)
    path          (submode)  

上記のように、ルールは 3 つのパラメータ(クライアント IP、Host ヘッダー、パス)に基づいて構成できます。これらのパラメータについては、以下で詳しく説明しています。

クライアント IP

受信要求のクライアント IP アドレスは、構成されたルールと照合されます。クライアント IP の一致が見つかった場合は、対応するルールが実行されます。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:match>
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match> client_ip

クライアント IP の一致には、クライアント IP アドレス、アドレス範囲、IP プレフィックス、または IP グループを指定できます。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:match:client_ip>
   addrs            IP address(es)
   group_refs       name of IP address group(s)
   match_criteria   Criterion to use for IP address matching the HTTP request
   prefixes         IP address prefix(es)
   ranges           (submode)
   save             Save and exit the current submode

例:次のコード スニペットは、クライアント IP アドレス 1.1.1.1 の一致の構成を示しています。

 [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:client_ip> addrs 1.1.1.1
   addrs            IP address(es)
   group_refs       name of IP address group(s)
   match_criteria   Criterion to use for IP address matching the HTTP request
   prefixes         IP address prefix(es)

   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:client_ip> addrs 1.1.1.1 group_refs Internal

   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:client_ip> match_criteria
    is_in       is in the configured value(s)
    is_not_in   is not in the configured value(s)

   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:client_ip> match_criteria is_in

   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:client_ip>  

Host ヘッダー

Host ヘッダーは、構成された Host ヘッダー値のリストと照合されます。Host ヘッダーは、大文字と小文字を区別するように構成できます。

次のコード スニペットは、Host ヘッダーの一致の構成を示しています。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:match>
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match> host_hdr match_criteria hdr_
   hdr_begins_with           header value begins with the configure value(s)
   hdr_contains              header value contains configured value(s)
   hdr_does_not_begin_with   header value does not begins with the configure value(s)
   hdr_does_not_contain      header value  does not contains configured value(s)
   hdr_does_not_end_with     header value does not ends with the configured value(s)
   hdr_does_not_equal        header value does not equals the configured value(s)
   hdr_does_not_exist        header does not exist in the HTTP request
   hdr_ends_with             header value ends with the configured value(s)
   hdr_equals                header value equals the configured value(s)
   hdr_exists                header exists in the HTTP request
    

例:次のコード スニペットは、test.auth.com で始まる Host ヘッダーの一致の構成を示しています。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:match> host_hdr match_criteria hdr_begins_with
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:host_hdr> value test.auth.com
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:host_hdr> save 

パスの一致

パスの一致は、パスの文字列グループまたは文字列値のリストに基づいて照合されます。パスの一致は、大文字と小文字を区別するように構成できます。

次のコード スニペットは、文字列 match/avinetworks 用に構成された文字列グループ参照で始まるパスの一致の構成を示しています。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:match>
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match> path
   [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:path>
   match_case          Case sensitivity to use for the matching
   match_criteria      Criterion to use for matching the path in the HTTP request URI.
   match_str           String values
   string_group_refs   name of the string group(s)

  [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:path> match_criteria
  begins_with            begins with the configured value(s)
  contains               contains the configured value(s)
  does_not_begin_with    does not begin with the configured value(s)
  does_not_contain       does not contain the configured value(s)
  does_not_end_with      does not end with the configured value(s)
  does_not_equal         does not equal the configured value(s)
  ends_with              ends with the configured value(s)
  equals                 equals the configured value(s)
  regex_does_not_match   regex pattern does not match with the configured value(s)
  regex_match            regex pattern matches with the configured value(s)

例:次のコード スニペットは、文字列 match/index.html 用に構成された文字列グループ参照で始まるパスの一致の構成を示しています。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:match:path> string_group_refs System-Cacheable-Resource-Types
  [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:path> match_str /avinetworks match_str /index.html
  [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:path> match_criteria begins_with
  [admin:controller]: ssopolicy:authentication_policy:authn_rules:match:path> save  

構成されたルールのアクションの定義

現在、次の 2 つのアクションがサポートされています。

  • 認証をスキップします:いずれかのルールが一致した場合に認証をスキップします。

  • デフォルトの認証を使用します:いずれかのルールが一致した場合に SAML 認証を使用します。

[admin:controller]: ssopolicy:authentication_policy:authn_rules> action
 [admin:controller]: ssopolicy:authentication_policy:authn_rules:action> type
 skip_authentication          Skip Authentication
 use_default_authentication   Use Default Authentication    

アクションを認証のスキップとして構成するには、次のコマンドを使用できます。

[admin:controller]: ssopolicy:authentication_policy:authn_rules:action> type skip_authentication
[admin:controller]: ssopolicy:authentication_policy:authn_rules:action> save     

実行されたルールの統計情報を表示するには、show virtualservice virtual_service ssopolicy stats コマンドと show virtualservice virtual_service internal コマンドを使用します。

複数のインデックス付き認証ルールの構成

各ポリシーで複数のインデックス付き認証ルールを構成できます。ルールは以下の順序で評価されます。

  • インデックス番号。ルールは、ルールのインデックス順序で評価されます。つまり、インデックス番号 1 のルールは、インデックス番号 2 のルールの前に評価されます。

  • 一致する最初のルールに対応するアクションが実行され、残り部分のルールはスキップされます。

  • ルールが一致しない場合は、デフォルトで認証が実行されます。

各ルールは、パラメータ一致とアクションの組み合わせです。パラメータには、クライアント IP (client_ip)、Host ヘッダー (host_hdr)、またはパスの一致 (path) を指定できます。

注:

Host ヘッダーとパスは、大文字と小文字を区別するように構成できます。