Citrix ADC

用户、用户组和命令策略

您必须首先定义具有帐户的用户,然后将所有用户组织为组。您可以创建命令策略,或使用内置命令策略来规范用户对命令的访问。

注意:

如果您希望了解有关将用户和用户组配置为 Citrix ADC 身份验证和授权设置的一部分的详细信息,请参阅配置用户和组 主题。

您还可以为用户自定义命令行提示符。提示可以在用户的配置、用户组配置和全局系统配置设置中定义。为用户显示的提示按以下优先顺序排列:

  1. 显示用户配置中定义的提示。
  2. 显示用户组的组配置中定义的提示。
  3. 显示系统全局配置设置中定义的提示。

现在,您可以为系统用户的非活动 CLI 会话指定超时值。如果用户的 CLI 会话处于空闲状态超过超时值的时间,Citrix ADC 设备将终止连接。超时可以在用户配置、用户组配置或全局系统配置设置中定义。用户的非活动 CLI 会话的超时时间按以下优先顺序确定:

  1. 用户配置。
  2. 用户组的组配置。
  3. 全局系统配置设置。

Citrix ADC 根管理员可以为系统用户配置最大并发会话限制。通过限制限制,您可以减少打开的连接数量并提高服务器性能。只要 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>

外部用户可以配置“日志记录”参数,使用 Web 日志记录或审核日志记录机制收集外部日志。如果启用了该参数,审核客户端将使用 Citrix 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

有关参数说明,请参阅 身份验证和授权用户命令参考 主题。

使用 Citrix ADC GUI 配置用户帐户

  1. 导航到系统 > 用户管理 > 用户,然后创建用户。
  2. 在详细信息窗格中,单击添加以创建系统用户。
  3. 创建系统组页中,设置以下参数:

    1. 用户名。用户组的名称。
    2. CLI 提示符。您希望为 CLI 界面访问设置的提示。
    3. 空闲会话超时 (秒)。设置用户在会话超时和关闭之前可处于非活动状态的时间。
    4. 最大会话数。设置用户可以尝试的最大会话数。
    5. 启用日志记录权限。为用户启用日志记录权限。
    6. 启用外部身份验证。如果要使用外部身份验证服务器对用户进行身份验证,请选择该选项。
    7. 允许的管理界面。选择向用户组授予访问权限的 Citrix ADC 接口。
    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

使用 Citrix ADC GUI 配置用户组

  1. 导航到系统 > 用户管理 > ,然后创建用户组。
  2. 在详细信息窗格中,单击 添加 以创建系统用户组。
  3. 创建系统组页中,设置以下参数:

    1. 组名称。用户组的名称。
    2. CLI 提示符。您希望为 CLI 界面访问设置的提示。
    3. 空闲会话超时 (秒)。设置用户在会话超时和关闭之前可处于非活动状态的时间。
    4. 允许的管理界面。选择向用户组授予访问权限的 Citrix ADC 接口。
    5. 成员。将用户帐户添加到组。
    6. 命令策略。将命令策略绑定到用户组。
    7. 分区。将分区绑定到用户组。
  4. 点击 创建关闭

在 Citrix ADC GUI 上创建系统用户组以进行用户身份验证

注意:

要向组中添加成员,请在“成员”部分中单击添加。从“可用”列表中选择用户,然后将其添加到“已配置”列表中。

配置命令策略

命令策略规定允许用户和用户组使用的命令、命令组、虚拟服务器和其他实体。

设备提供一组内置命令策略,您可以配置自定义策略。要应用这些策略,请将它们绑定到用户或组。

以下是定义和应用命令策略时要牢记的要点。

  • 您无法创建全局命令策略。命令策略必须直接绑定到设备上的用户和组。
  • 没有关联命令策略的用户或组受默认 (DENY-all) 命令策略的约束,因此在将正确的命令策略绑定到其帐户之前,无法运行任何配置命令。
  • 所有用户都继承其所属组的策略。
  • 将命令策略绑定到用户帐户或组帐户时,必须为其分配优先级。这样,设备就可以确定当两个或多个冲突策略应用于同一用户或组时哪个策略具有优先级。
  • 默认情况下,以下命令可供任何用户使用,并且不受您指定的任何命令的影响:
  • 帮助、显示 CLI 属性、设置 CLI 提示符、清除 CLI 提示符、显示 CLI 提示符、别名、取消别名、历史记录、退出、Whoami、配置、设置 CLI 模式、取消设置 CLI 模式和显示 CLI 模式。

下表介绍了内置策略。

策略名称 允许
read-only 对除 show ns runningConfig、show ns ns.conf 和 Citrix ADC 命令组的 show 命令外的所有 show 命令的只读访问权限。
operator 只读访问和访问命令以启用和禁用服务和服务器。
网络 完全访问,除了设置和未设置的 SSL 命令,show ns ns.conf、show ns runningConfig 和 show gslb runningConfig 命令。
sysadmin [包含在 Citrix ADC 12.0 及更高版本中] 系统管理员低于超级用户是设备上允许的访问条款。系统管理员用户可以执行所有 Citrix ADC 操作,但以下例外情况:无法访问 Citrix ADC 外壳,无法执行用户配置,无法执行分区配置,以及系统管理员命令策略中所述的其他一些配置。
superuser 完全访问。与 nsroot 用户相同的权限。

创建自定义命令策略

对于具有维护更多自定义表达式的资源的用户,以及那些需要正则表达式提供灵活性的部署,正则表达式支持。对于大多数用户来说,内置命令策略就足够了。需要更多控制级别但不熟悉正则表达式的用户可能只希望使用简单表达式(例如本节提供的示例中的表达式)来保持策略的可读性。

使用正则表达式创建命令策略时,请记住以下事项。

  • 使用正则表达式定义受命令策略影响的命令时,必须将命令括在双引号中。例如,要创建包含以 show 开头的所有命令的命令策略,请键入以下命令:
  • “^show .*$”
  • 要创建包含以 rm 开头的所有命令的命令策略,请键入以下命令:
  • “^rm .*$”
  • 命令策略中使用的正则表达式不区分大小写。

下表列出了命令策略的正则表达式示例:

命令规范 匹配这些命令
“^rm\s+.*$” 所有删除操作,因为所有删除操作都以 rm 字符串开头,后跟空格和更多参数(如命令组、命令对象类型和参数)。
“^show\s+.*$” 所有 show 命令,因为所有 show 操作都以 show 字符串开头,后跟空格和更多参数(如命令组、命令对象类型和参数)。
“^shell$” shell 命令单独使用,但不能与任何其他参数(如命令组、命令对象类型和参数)结合使用。
“^add\s+vserver\s+.*$” 所有这些操作都会创建虚拟服务器操作,包括添加虚拟服务器命令,后面是空间和更多参数(如命令组、命令对象类型和参数)。
“^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)

使用 Citrix ADC GUI 配置命令策略

  1. 导航到系统 > 用户管理 > 命令策略
  2. 在详细信息窗格中,单击添加以创建新的命令策略。
  3. 配置命令策略页中,设置以下参数:

    1. 策略名称
    2. 操作
    3. 命令规格。
  4. 单击确定

为系统用户身份验证配置命令策略

将命令策略绑定到用户帐户和用户组

定义了命令策略后,必须将它们绑定到相应的用户帐户和组。绑定策略时,必须为其分配优先级,以便设备可以确定在两个或多个适用的命令策略发生冲突时遵循的命令策略。

命令策略按以下顺序进行评估:

  • 直接绑定到用户和相应组的命令策略将根据优先级编号进行评估。优先级较低的命令策略先评估优先级较高的命令策略。因此,编号较低的命令策略显式授予或拒绝的任何特权都不会被较高的命令策略覆盖。
  • 当两个命令策略(一个绑定到用户帐户,另一个绑定到组)具有相同的优先级号时,首先评估直接绑定到用户帐户的命令策略。

使用命令行界面将命令策略绑定到用户

在命令提示窗口中,键入以下命令以将命令策略绑定到用户并验证配置:

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

示例:

> bind system user user1 -policyName read_all 1

使用 Citrix ADC GUI 将命令策略绑定到用户帐户

导航到系统 > 用户管理 > 用户,选择用户并绑定命令策略。

将命令策略绑定到系统用户帐户

或者,您可以修改默认优先级,以确保以正确的顺序评估策略。

使用命令行界面将命令策略绑定到组

在命令提示窗口中,键入以下命令以将命令策略绑定到用户组并验证配置:

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

示例:

> bind system group Managers -policyName read_all 1

使用 Citrix ADC GUI 将命令策略绑定到用户组

导航到系统 > 用户管理 > ,选择组并绑定命令策略。

将命令策略绑定到 Citrix ADC GUI 上的系统用户组帐户

或者,您可以修改默认优先级,以确保以正确的顺序评估策略。

示例使用案例:管理制造组织中的用户帐户、用户组和命令策略

以下示例演示如何创建一组完整的用户帐户、组和命令策略,并将每个策略绑定到相应的组和用户。该公司“示例制造公司”有三个用户可以访问 Citrix ADC 设备:

  • John Doe。IT 经理。John 必须能够查看 Citrix ADC 配置的所有部分,但无需修改任何内容。

  • Maria Ramiez。首席 IT 管理员。Maria 必须能够查看和修改 Citrix ADC 配置的所有部分,但 Citrix ADC 命令除外(本地策略规定必须在以 nsroot 身份登录时执行)。

  • Michael Baldrock。负责负载平衡的 IT 管理员。Michael 必须能够查看 Citrix ADC 配置的所有部分,但必须仅修改负载平衡功能。

下表显示示示例公司的网络信息、用户帐户名称、组名称和命令策略的细目。

字段 注意
Citrix ADC 主机名称 ns01.example.net 不适用
用户帐户 johnd、mariar 和 michaelb John Doe,IT 经理,Maria Ramirez,IT 管理员,Michael Baldrock,IT 管理员。
管理人员和系统操作程序 所有经理和所有 IT 管理员。
命令策略 read_all、modify_lb 和 modify_all 允许完全只读访问、允许修改访问以实现负载平衡和允许完全修改访问。

以下描述将引导您完成在名为 ns01.example.net 的 Citrix ADC 设备上创建一组完整的用户帐户、组和命令策略的过程。

描述包括将相应的用户帐户和组绑定到另一个,以及将适当的命令策略绑定到用户帐户和组的过程。

此示例说明了如何使用优先级为 IT 部门中的每个用户授予精确的访问权限和权限。

该示例假定已在 Citrix ADC 上执行初始安装和配置。

为示例组织配置用户帐户、组和命令策略

  1. 使用“配置用户帐户”部分中描述的过程可以创建用户帐户 johndmariarMichaelb
  2. 使用配置用户组中描述的过程创建用户组 ManagersSysOps,然后将用户 mariarmichaelb 绑定到 SysOps 组,并将用户 Johnd 绑定到 Managers 组。
  3. 使用创建自定义命令策略中描述的过程创建以下命令策略:

    • read_all,操作为允许,命令规范为 "(^show\s+(?!system)(?!ns ns.conf)(?!ns runningConfig).*)|(^stat.*)"
    • modify_lb,操作为允许,命令规范为 "^set\s+lb\s+.*$"
    • modify_all,操作为“允许”,命令规范为 "^\S+\s+(?!system).*"
  4. 使用“将命令策略绑定到用户和组”中描述的过程将 read_all 命令策略绑定到具有优先级值 1系统操作员组。
  5. 使用“将命令策略绑定到用户和组”中描述的过程将 modify_lb 命令策略绑定到具有优先级值 5 的用户 michaelb

您刚刚创建的配置结果如下:

  • IT 经理 John Doe 拥有对整个 Citrix ADC 配置的只读访问权限,但他无法进行修改。
  • IT 领导人 Maria Ramirez 几乎可以完全访问 Citrix ADC 配置的所有区域,只需登录才能执行 Citrix ADC 级命令。
  • 负责负载平衡的 IT 管理员 Michael Baldrock 拥有对 Citrix ADC 配置的只读访问权限,并且可以修改负载平衡的配置选项。

适用于特定用户的命令策略集是直接应用于用户帐户的命令策略和应用于用户所属的一个或多个组的命令策略的组合。

每次用户输入命令时,操作系统都会搜索该用户的命令策略,直到找到具有与该命令匹配的“允许”或“拒绝”操作的策略。当找到匹配项时,操作系统将停止其命令策略搜索,并允许或拒绝对命令的访问。

如果操作系统未找到匹配的命令策略,则根据 Citrix ADC 设备的默认拒绝策略,将拒绝用户访问该命令。

注意:

将用户放入多个组时,请注意不要导致意外的用户命令限制或权限。为避免这些冲突,在组中组织用户时,请记住 Citrix ADC 命令策略搜索过程和策略排序规则。

用户、用户组和命令策略