ADC

ユーザー、ユーザーグループ、コマンドポリシー

最初にアカウントを持つユーザーを定義し、次にすべてのユーザーをグループにまとめる必要があります。コマンドポリシーを作成するか、組み込みコマンドポリシーを使用してコマンドへのユーザーアクセスを規制できます。

注:

トラフィック管理のためのNetScaler認証および承認設定の一部としてユーザーとユーザーグループを構成する方法について詳しく知りたい場合は、「ユーザーとグループの構成 」トピックを参照してください。

また、ユーザーのコマンドラインプロンプトをカスタマイズすることもできます。プロンプトは、ユーザー設定、ユーザーグループ設定、およびグローバルシステム構成設定で定義できます。ユーザーに表示されるプロンプトの優先順位は次のとおりです。

  1. ユーザーの設定で定義されているプロンプトを表示します。
  2. ユーザーのグループのグループ設定で定義されているプロンプトを表示します。
  3. システムグローバル設定で定義されているプロンプトを表示します。

システムユーザーの非アクティブな CLI セッションのタイムアウト値を指定できるようになりました。ユーザーのCLIセッションがタイムアウト値を超える時間アイドル状態になると、NetScalerアプライアンスは接続を終了します。タイムアウトは、ユーザー構成、ユーザーグループ構成、またはグローバルシステム構成設定で定義できます。ユーザの非アクティブな CLI セッションのタイムアウトは、次の優先順位で決定されます。

  1. [ユーザー設定]:
  2. ユーザーのグループのグループ構成。
  3. グローバルシステム構成設定。

NetScalerのルート管理者は、システムユーザーの最大同時セッション制限を構成できます。制限を制限することで、開いている接続の数を減らし、サーバーのパフォーマンスを向上させることができます。CLIの数が設定された制限内であれば、同時ユーザーはGUIに何度でもログオンできます。ただし、CLI セッションの数が設定された制限に達すると、ユーザは GUI にログオンできなくなります。たとえば、同時セッション数が20に設定されている場合、同時ユーザーは19のCLIセッションにログオンできます。ただし、ユーザーが 20<sup>th</sup> CLI セッションにログオンしている場合、GUI、CLI、または NITRO にログオンしようとするとエラー・メッセージが表示されます (エラー:CFE への接続制限を超えました)。

注:

デフォルトでは、同時セッション数は20に設定され、最大同時セッション数は40に設定されています。

ユーザーアカウントの構成

ユーザーアカウントを設定するには、ユーザー名とパスワードを指定するだけです。パスワードの変更やユーザーアカウントの削除はいつでもできます。

注:

パスワードのすべての文字は使用できません。ただし、文字を引用符で囲んで入力すると機能します。

また、文字列は最大長の 127 文字を超えてはなりません。

コマンドラインインターフェイスを使用してユーザーアカウントを作成するには

コマンドプロンプトで、次のコマンドを入力してユーザーアカウントを作成し、構成を確認します。

  • add system user <username> [-externalAuth ( ENABLED | DISABLED )] [-promptString <string>] [-timeout \<secs>] [-logging ( ENABLED | DISABLED )] [-maxsession <positive_integer>]
  • show system user <userName>

外部ユーザーは、「logging」パラメーターを設定して、Web ロギングまたは監査ロギングメカニズムを使用して外部ログを収集できます。このパラメータを有効にすると、監査クライアントはNetScaler ADCアプライアンスで自分自身を認証してログを収集します。

例:

> add system user johnd -promptString user-%u-at-%T

Enter password:
Confirm password:
> show system user johnd
user name: john
     Timeout:900 Timeout Inherited From: Global
     External Authentication: ENABLED
     Logging: DISABLED
     Maximum Client Sessions: 20
<!--NeedCopy-->

パラメータの説明については、「 認証および認可ユーザコマンドリファレンス 」を参照してください。

NetScaler GUIを使用してユーザーアカウントを構成します

  1. [ システム ] > [ ユーザー管理 ] > [ ユーザー] に移動し、ユーザーを作成します。
  2. 詳細ペインで、[ 追加 ] をクリックしてシステムユーザーを作成します。
  3. [システムグループの作成 ] ページで、次のパラメータを設定します。

    1. ユーザー名。ユーザーグループの名前。
    2. CLI プロンプト。CLI インターフェイスアクセス用に設定したいプロンプト。
    3. アイドルセッションタイムアウト (秒)。セッションがタイムアウトして終了する前に、ユーザーが非アクティブでいられる時間を設定します。
    4. 最大セッション数。ユーザーが試すことができる最大セッション数を設定します。nsroot ユーザーの場合、最大セッションパラメーターは変更できません。
    5. ロギング権限を有効にします。ユーザーのログ権限を有効にします。
    6. 外部認証を有効にします。外部認証サーバーを使用してユーザーを認証する場合は、このオプションを選択します。
    7. 許可された管理インターフェイス。 ユーザーグループにアクセス権限が付与されているNetScalerインターフェイスを選択します。
    8. コマンドポリシー。コマンドポリシーをユーザーグループにバインドします。
    9. パーティション。パーティションをユーザーグループにバインドします。
  4. [作成]して[閉じる] をクリックします。

システムユーザー認証用のユーザーアカウントの作成

ユーザーグループの設定

ユーザーグループを設定したら、グループ内の全員に同じアクセス権を簡単に付与できます。グループを設定するには、グループを作成し、ユーザーをそのグループにバインドします。各ユーザーアカウントを複数のグループにバインドできます。ユーザーアカウントを複数のグループにバインドすると、コマンドポリシーをより柔軟に適用できる場合があります。

コマンドラインインターフェイスを使用してユーザーグループを作成するには

コマンドプロンプトで、次のコマンドを入力してユーザーグループを作成し、構成を確認します。

  • add system group <groupName> [-promptString <string>] [-timeout <secs>]
  • show system group <groupName>

例:

> add system group Managers -promptString Group-Managers-at-%h

CLI を使用してユーザーアカウントをグループにバインドする

コマンドプロンプトで次のコマンドを入力して、ユーザーアカウントをグループにバインドし、構成を確認します。

  • bind system group <groupName> -userName <userName>
  • show system group <groupName>

例:

> bind system group Managers -userName user1

NetScaler GUIを使用してユーザーグループを構成する

  1. [ システム ] > [ ユーザー管理 ] > [ グループ] に移動し、ユーザーグループを作成します。
  2. 詳細ペインで、[ 追加 ] をクリックしてシステムユーザーグループを作成します。
  3. [システムグループの作成 ] ページで、次のパラメータを設定します。

    1. グループ名。ユーザーグループの名前。
    2. CLI プロンプト。CLI インターフェイスアクセス用に設定したいプロンプト。
    3. アイドルセッションタイムアウト (秒)。セッションがタイムアウトして終了する前に、ユーザーが非アクティブでいられる時間を設定します。
    4. 許可された管理インターフェイス。 ユーザーグループにアクセス権限が付与されているNetScalerインターフェイスを選択します。
    5. メンバー。ユーザーアカウントをグループに追加します。
    6. コマンドポリシー。コマンドポリシーをユーザーグループにバインドします。
    7. パーティション。パーティションをユーザーグループにバインドします。
  4. [作成]して[閉じる] をクリックします。

ユーザー認証用のシステムユーザーグループをNetScaler GUIで作成

注:

グループにメンバーを追加するには、「メンバー」セクションで「 追加」をクリックします。「使用可能」リストからユーザーを選択し、「構成済み」リストに追加します。

コマンドポリシーの設定

コマンドポリシーは、ユーザーとユーザーグループが使用できるコマンド、コマンドグループ、仮想サーバー、およびその他のエンティティを規制します。

アプライアンスには一連の組み込みコマンドポリシーがあり、カスタムポリシーを設定できます。ポリシーを適用するには、ポリシーをユーザーまたはグループにバインドします。

コマンドポリシーを定義して適用する際に留意すべき重要なポイントは次のとおりです。

  • グローバルコマンドポリシーを作成することはできません。コマンドポリシーは、アプライアンス上のユーザーとグループに直接バインドする必要があります。
  • コマンドポリシーが関連付けられていないユーザーまたはグループには、デフォルト(DENY-ALL)コマンドポリシーが適用されるため、適切なコマンドポリシーがアカウントにバインドされるまで、設定コマンドを実行できません。
  • すべてのユーザーは、所属するグループのポリシーを継承します。
  • コマンドポリシーをユーザーアカウントまたはグループアカウントにバインドするときは、コマンドポリシーに優先順位を割り当てる必要があります。これにより、アプライアンスは、複数の競合するポリシーが同じユーザーまたはグループに適用される場合に、どのポリシーが優先されるかを判断できます。
  • 同じ優先度の 2 つの異なるコマンドポリシーがユーザーアカウントまたはグループアカウントにバインドされている場合、最初にバインドされたポリシーが最も優先されます。
  • 次のコマンドは、デフォルトですべてのユーザーが使用でき、指定したコマンドの影響を受けません:
  • ヘルプ、CLI 属性の表示、CLI プロンプトの設定、CLI プロンプトのクリア、CLI プロンプトの表示、エイリアス、ユニエイリアス、履歴、終了、whoami、config、CLI モードの設定、CLI モードの設定解除、CLI モードの設定解除、CLI モードの表示

次の表では、組み込みポリシーについて説明します。

ポリシー名 許可する
read-only show ns RunningConfig、show ns ns.conf、およびNetScalerコマンドグループのshowコマンドを除くすべてのshowコマンドへの読み取り専用アクセス。
operator 読み取り専用アクセスと、サービスとサーバーを有効または無効にするコマンドへのアクセス。
network SSL コマンドの設定と設定解除、show ns ns.conf、show ns RunningConfig、show gslb RunningConfig コマンドを除くフルアクセス。
sysadmin [NetScaler 12.0以降に搭載] システム管理者は、アプライアンスで許可されるアクセス権の点ではスーパーユーザーよりも劣ります。sysadminユーザーは、NetScalerシェルにアクセスできない、ユーザー構成を実行できない、パーティション構成を実行できない、およびsysadminコマンドポリシーに記載されているその他の構成を実行できないという例外を除いて、すべてのNetScaler操作を実行できます。
スーパーユーザー フルアクセス。nsroot ユーザーと同じ権限です。

カスタムコマンドポリシーの作成

正規表現のサポートは、よりカスタマイズされた表現を維持するためのリソースがあるユーザーや、正規表現が提供する柔軟性を必要とする導入環境向けに提供されています。ほとんどのユーザーには、組み込みのコマンドポリシーで十分です。より高度な制御が必要だが、正規表現に慣れていないユーザーは、ポリシーを読みやすくするために、このセクションで紹介する例のような単純な表現だけを使用するとよいでしょう。

正規表現を使用してコマンドポリシーを作成するときは、次の点に注意してください。

  • 正規表現を使用してコマンドポリシーの影響を受けるコマンドを定義する場合は、コマンドを二重引用符で囲む必要があります。たとえば、 showで始まるすべてのコマンドを含むコマンドポリシーを作成するには、次のように入力します。
  • “^show .*$”
  • rm で始まるすべてのコマンドを含むコマンドポリシーを作成するには、次のように入力します。
  • “^rm .*$”
  • コマンドポリシーで使用される正規表現では、大文字と小文字は区別されません。

次の表は、コマンドポリシーの正規表現の例を示しています。

コマンド仕様 以下のコマンドにマッチします
“^rm\s+.*$” すべての削除アクションは rm 文字列で始まり、その後にスペースと、コマンドグループ、コマンドオブジェクトタイプ、引数などのパラメータが続くためです。
“^show\s+.*$” すべての show コマンド。すべての show アクションは show 文字列で始まり、その後にスペースと、コマンドグループ、コマンドオブジェクトタイプ、引数などのパラメータが続くためです。
“^shell$” シェルコマンドだけですが、コマンドグループ、コマンドオブジェクトタイプ、引数などの追加パラメーターと組み合わせることはできません。
“^add\s+vserver\s+.*$” すべて仮想サーバーアクションを作成します。仮想サーバーアクションは、add virtual server コマンドの後にスペースが続き、コマンドグループ、コマンドオブジェクトタイプ、引数などのパラメーターが続きます。
“^add\s+(lb\s+vserver)\s+.*” すべてがlb仮想サーバーアクションを作成します。これは、add lb仮想サーバーコマンドとそれに続くスペース、およびコマンドグループ、コマンドオブジェクトタイプ、引数などのパラメーターで構成されます。

組み込みコマンドポリシーの詳細については、「 組み込みコマンドポリシーテーブル 」を参照してください。

コマンドラインインターフェイスを使用してコマンドポリシーを作成するには

コマンドプロンプトで、次のコマンドを入力してコマンドポリシーを作成し、構成を確認します。

  • add system cmdPolicy <policyname> <action> <cmdspec>
  • show system cmdPolicy <policyName>

例:

add system cmdPolicy USER-POLICY ALLOW (\ server\ )|(\ service(Group)*\ )|(\ vserver\ )|(\ policy\ )|(\ policylabel\ )|(\ limitIdentifier\ )|(^show\ (?!(system|ns\ (ns.conf|runningConfig))))|(save)|(stat\ .*serv)

NetScaler GUI を使用してコマンドポリシーを構成する

  1. [ システム ] > [ ユーザー管理 ] > [ コマンドポリシー]に移動します。
  2. 詳細ペインで、[ 追加 ] をクリックしてコマンドポリシーを作成します。
  3. コマンドポリシーの設定 」ページで、次のパラメータを設定します。

    1. ポリシー名
    2. アクション
    3. コマンド仕様
  4. [OK] をクリックします。

システムユーザー認証のコマンドポリシーの設定

コマンドポリシーをユーザーアカウントとユーザーグループにバインドする

コマンドポリシーを定義したら、それらを適切なユーザーアカウントとグループにバインドする必要があります。ポリシーをバインドするときは、ポリシーに優先順位を割り当てる必要があります。これにより、適用可能な複数のコマンドポリシーが競合した場合に、アプライアンスがどのコマンドポリシーに従うべきかを判断できます。

コマンドポリシーは次の順序で評価されます。

  • ユーザーと対応するグループに直接バインドされたコマンドポリシーは、優先度番号に従って評価されます。プライオリティ番号が小さいコマンドポリシーは、プライオリティ番号が高いコマンドポリシーよりも先に評価されます。したがって、番号の小さいコマンドポリシーが明示的に付与または拒否する権限が、番号の大きいコマンドポリシーによって上書きされることはありません。
  • ユーザーアカウントとグループにバインドされた 2 つのコマンドポリシーの優先順位番号が同じ場合、ユーザーアカウントに直接バインドされたコマンドポリシーが最初に評価されます。

コマンドラインインターフェイスを使用してコマンドポリシーをユーザーにバインドするには

コマンドプロンプトで次のコマンドを入力して、コマンドポリシーをユーザーにバインドし、構成を確認します。

  • bind system user <userName> -policyName <policyName> <priority>
  • show system user <userName>

例:

> bind system user user1 -policyName read_all 1

NetScaler GUIを使用してコマンドポリシーをユーザーアカウントにバインドする

[ システム ] > [ ユーザー管理 ] > [ ユーザー] に移動し、ユーザーを選択してコマンドポリシーをバインドします。

コマンドポリシーをシステムユーザーアカウントにバインドする

オプションで、ポリシーが正しい順序で評価されるように、デフォルトの優先度を変更できます。

コマンドラインインターフェイスを使用してコマンドポリシーをグループにバインドするには

コマンドプロンプトで次のコマンドを入力して、コマンドポリシーをユーザーグループにバインドし、構成を確認します。

  • bind system group <groupName> -policyName <policyName> <priority>
  • show system group <groupName>

例:

> bind system group Managers -policyName read_all 1

NetScaler GUIを使用してコマンドポリシーをユーザーグループにバインドする

[ システム ] > [ ユーザー管理 ] > [ グループ] に移動し、グループを選択してコマンドポリシーをバインドします。

コマンドポリシーをNetScaler ADC GUIのシステムユーザーグループアカウントにバインドする

オプションで、ポリシーが正しい順序で評価されるように、デフォルトの優先度を変更できます。

ユースケースの例:製造組織のユーザーアカウント、ユーザーグループ、およびコマンドポリシーの管理

次の例は、ユーザーアカウント、グループ、およびコマンドポリシーの完全なセットを作成し、各ポリシーを適切なグループとユーザーにバインドする方法を示しています。Example Manufacturing, Inc. という会社には、NetScalerアプライアンスにアクセスできるユーザーが3人います。

  • John Doe. IT マネージャー。JohnはNetScaler構成のすべての部分を確認できる必要がありますが、何も変更する必要はありません。

  • Maria Ramiez. 主任の IT 管理者。Mariaは、NetScalerコマンド(ローカルポリシーにより、nsrootとしてログオンした状態で実行する必要がある)を除くNetScaler構成のすべての部分を表示および変更できる必要があります。

  • Michael Baldrock. 負荷分散を担当する IT 管理者。MichaelはNetScaler構成のすべての部分を確認できる必要がありますが、変更する必要があるのは負荷分散機能だけです。

次の表は、サンプル会社のネットワーク情報、ユーザーアカウント名、グループ名、およびコマンドポリシーの内訳を示しています。

フィールド Value
Citrix ADC ホスト名 ns01.example.net -
ユーザーアカウント johnd, mariar, and michaelb ITマネージャーのジョン・ドウ、IT管理者のマリア・ラミレス、IT管理者のマイケル・バルドロック。
グループ マネージャーとシステムオペス すべてのマネージャーとすべてのIT管理者。
コマンドポリシー read_all, modify_lb, and modify_all [完全な読み取り専用アクセスを許可]、[負荷分散への変更アクセスを許可]、[完全な変更アクセスを許可]。

次の説明では、ns01.example.netという名前のNetScalerアプライアンスでユーザーアカウント、グループ、およびコマンドポリシー一式を作成するプロセスについて説明します。

説明には、適切なユーザーアカウントとグループを相互にバインドする手順と、適切なコマンドポリシーをユーザーアカウントとグループにバインドする手順が含まれています。

この例は、優先順位付けを使用して IT 部門の各ユーザーに正確なアクセス権と権限を付与する方法を示しています。

この例では、NetScalerで初期インストールと構成がすでに実行されていることを前提としています。

サンプル組織のユーザーアカウント、グループ、コマンドポリシーの設定

  1. 「ユーザーアカウントの設定」セクションで説明されている手順を使用して、 johndmariar、および michaelbのユーザーアカウントを作成します。
  2. 「ユーザーグループの設定」で説明されている手順を使用して、ユーザーグループ ManagerSysOpsを作成し、ユーザー mariarmichaelbSysOps グループにバインドし、ユーザー johndManager グループにバインドします。
  3. 「カスタムコマンドポリシーの作成」で説明されている手順を使用して、以下のコマンドポリシーを作成します:

    • read_all アクション付き [ 許可 ] と [コマンド仕様] "(^show\s+(?!system)(?!ns ns.conf)(?!ns runningConfig).*)|(^stat.*)"
    • modify_lb ( アクションが [ 許可 ] で、コマンドスペック) "^set\s+lb\s+.*$"
    • modify_allとアクションAllowおよびコマンド仕様 "^\S+\s+(?!system).*"
  4. read_allコマンドポリシーをプライオリティ値 1SysOps グループにバインドするには、「コマンドポリシーをユーザおよびグループへのバインド」で説明する手順を使用します。
  5. ユーザーおよびグループへのコマンドポリシーのバインド」で説明されている手順を使用して、 modify_lb コマンドポリシーをユーザー michaelbにバインドし、優先度値 5を指定します。

作成した構成は、次のようになります:

  • ITマネージャーのJohn Doeは、NetScaler構成全体に対する読み取り専用アクセス権を持っていますが、変更を加えることはできません。
  • ITリーダーのマリア・ラミレスは、NetScaler構成のすべての領域にほぼ完全にアクセスでき、ログオンするだけでNetScalerレベルのコマンドを実行できます。
  • 負荷分散を担当するIT管理者のMichael Baldrockは、NetScaler構成への読み取り専用アクセス権を持ち、負荷分散の構成オプションを変更できます。

特定のユーザーに適用されるコマンドポリシーのセットは、ユーザーのアカウントに直接適用されるコマンドポリシーと、ユーザーがメンバーになっている 1 つ以上のグループに適用されるコマンドポリシーを組み合わせたものです。

ユーザーがコマンドを入力するたびに、オペレーティングシステムは、コマンドと一致する ALLOW または DENY アクションを含むポリシーが見つかるまで、そのユーザーのコマンドポリシーを検索します。一致するものが見つかると、オペレーティングシステムはコマンドポリシー検索を停止し、コマンドへのアクセスを許可または拒否します。

オペレーティングシステムが一致するコマンドポリシーを見つけられない場合、NetScaler ADCアプライアンスのデフォルトの拒否ポリシーに従って、コマンドへのユーザーアクセスを拒否します。

注:

ユーザーを複数のグループに分ける場合は、意図しないユーザーコマンドの制限や権限を与えないように注意してください。このような競合を避けるため、ユーザーをグループにまとめる際には、NetScalerのコマンドポリシー検索手順とポリシー順序規則を念頭に置いてください。

ユーザー、ユーザーグループ、コマンドポリシー