配置基于角色的访问控制
NetScaler 控制台提供精细的、基于角色的访问控制 (RBAC),您可以根据企业内个人用户的角色授予访问权限。
在 NetScaler 控制台中,所有用户都添加到 Citrix Cloud 中。作为组织的第一个用户,您必须先在 Citrix Cloud 中创建一个帐户,然后使用 Citrix Cloud 凭据登录 NetScaler 控制台GUI。您被授予超级管理员角色,默认情况下,您拥有 NetScaler 控制台中的所有访问权限。稍后,您可以在 Citrix Cloud 中在组织中创建其他用户。
稍后创建并以普通用户身份登录到 NetScaler 控制台的用户被称为委托管理员。默认情况下,这些用户拥有除用户管理权限之外的所有权限。但是,您可以通过创建相应的策略并将其分配给这些委派用户来授予特定的用户管理权限。用户管理权限位于“设置”>“用户和角色”。
有关如何分配特定权限的更多信息,请参阅 如何向委派管理员用户分配额外权限。
以下各节提供了有关如何创建策略、角色、组以及如何将用户绑定到组的更多信息。
示例:
以下示例说明了如何在 NetScaler 控制台中实现 RBAC。
NetScaler 小组负责人 Chris 是其组织中 NetScaler 控制台的超级管理员。他创建三个管理员角色:安全管理员、应用程序管理员和网络管理员。
- 安全管理员 David 必须具有 SSL 证书管理和监视的完全访问权限,但必须具有系统管理操作的只读访问权限。
- 应用程序管理员 Steve 需要只对特定应用程序和特定配置模板拥有访问权限。
- 网络管理员 Greg 需要访问系统和网络管理的权限。
- Chris 还必须为所有用户提供 RBAC,无论他们是本地还是外部用户。
下图显示了管理员和其他用户拥有的权限以及他们在组织中的角色。
为了向用户提供基于角色的访问控制,Chris 必须先在 Citrix Cloud 中添加用户,之后他才能在 NetScaler 控制台中看到这些用户。Chris 必须根据每个用户的角色为其创建访问策略。访问策略与角色紧密相关。因此,Chris 还必须创建角色,然后他必须创建组,因为角色只能分配给组,不能分配给单个用户。
访问权限是执行特定任务(例如查看、创建、修改或删除文件)的能力。角色是根据企业内用户的权限和责任定义的。例如,可能允许一个用户执行所有网络操作,而另一个用户可以观察应用程序中的流量流量并帮助创建配置模板。
策略决定用户角色。创建策略后,您可以创建角色,将每个角色绑定到一个或多个策略,并将角色分配给用户。您还可以为用户组分配角色。组是拥有共同权限的用户集合。例如,管理特定数据中心的用户可以分配到一个组。角色是通过根据特定条件将用户添加到特定组来授予用户的身份。在 NetScaler 控制台中,创建角色和策略特定于 NetScaler 中的 RBAC 功能。可以根据企业逐步发展的需求轻松地创建、更改或停用角色和策略,而无需单独更新每个用户的权限。
角色可以基于功能,也可以基于资源。例如,假定一个 SSL/安全管理员和一个应用程序管理员。SSL/安全管理员必须对SSL 证书管理和监视功能具有完全访问权限,但对于系统管理操作必须具有只读访问权限。应用程序管理员只能访问其范围内的资源。
因此,以超级管理员 Chris 的身份在 NetScaler 控制台中执行以下示例任务,为组织中的安全管理员 David 配置访问策略、角色和用户组。
在 NetScaler 控制台上配置用户
作为超级管理员,您可以通过在 Citrix Cloud 而不是在 NetScaler 控制台中为他们配置帐户来创建更多用户。将新用户添加到 NetScaler 控制台后,您只能通过向用户分配相应的组来定义他们的权限。
要在 Citrix Cloud 中添加新用户,请执行以下操作:
-
在 NetScaler 控制台 GUI 中,单击左上角的汉堡图标, 然后选择身份和访问管理。
-
在“身份和访问管理”页面上,选择“管理 员”选项卡。
此选项卡列出了在 Citrix Cloud 中创建的用户。
-
从列表中选择身份提供商。
-
Citrix 身份:键入要在 NetScaler 控制台中添加的用户的电子邮件地址,然后单击“邀请”。
注意:
用户会收到来自 Citrix Cloud 的电子邮件邀请。用户必须单击电子邮件中提供的链接,通过提供其全名和密码完成注册过程,然后使用其凭据登录 NetScaler Console。
-
Azure Active Directory (AD):只有当您的 Azure AD 连接到 Citrix Cloud 时,此选项才会出现,请参阅 将 Azure ActiveDirectory 选择此选项邀请用户或组时,只能为选定的用户或组指定“自定义访问权限”。用户可以使用他们的 Azure AD 凭据登录 NetScaler 控制台。而且,您不需要为属于所选 Azure AD 的用户创建 Citrix 身份。如果用户被添加到受邀组,则无需向新添加的用户发送邀请。该用户可以使用 Azure AD 凭据访问 NetScaler 控制台。
-
-
为指定用户或组选择“自定义访问权限”。
-
选择 应用程序交付管理。
此选项列出了在 NetScaler 控制台中创建的用户组。选择要向其添加用户的组。
Citrix 身份 Azure AD 单击发送邀请。 单击“添加管理员组”。
作为管理员,只有在用户登录到 NetScaler 控制台后,您才能在 NetScaler 控制台用户列表中看到新用户。
要在 NetScaler 控制台中配置用户,请执行以下操作:
-
在 NetScaler 控制台 GUI 中,导航 到 设置 > 用户和角色 > 用户 。
-
用户将显示在“用 户 页面上。
-
您可以通过选择用户并单击“编辑”来 编辑向用户提供的权限。您还可以在“设 置”节点下的“组”页面上编辑 群 组权限。
注意:
-
用户只能从 Citrix Cloud 添加到 NetScaler 控制台中。因此,即使您拥有管理员权限,也无法在 NetScaler 控制台 GUI 中添加或删除用户。您只能编辑组权限。可以在 Citrix Cloud 中添加或删除用户。
-
只有在用户登录到 NetScaler 控制台至少一次后,用户详细信息才会显示在服务 GUI 上。
-
在 NetScaler 控制台上配置访问策略
访问策略定义权限。可以通过创建角色将策略应用于一个用户组或多个组。策略决定用户角色。创建策略后,您必须创建角色,将每个角色绑定到一个或多个策略,并将角色分配给用户组。NetScaler 控制台提供五种预定义的访问策略:
- admin_policy。授予对所有 NetScaler 控制台节点的访问权限。用户拥有查看和编辑权限,可以查看所有 NetScaler 控制台内容,并且可以执行所有编辑操作。也就是说,用户可以对资源进行添加、修改和删除操作。
- adminExceptSystem_Pol 授予用户访问 NetScaler 控制台 GUI 中所有节点的权限,但对“设置”节点的访问权限除外。
- readonly_policy。授予只读权限。用户可以在 NetScaler 控制台上查看所有内容,但无权执行任何操作。
-
appadmin_policy。授予在 NetScaler 控制台中访问应用功能的管理权限。绑定到此政策的用户可以:
- 添加、修改和删除自定义应用程序
- 启用或禁用服务、服务组和各种虚拟服务器,例如内容切换和缓存重定向
- appreadonly_policy。授予对应用程序功能的只读权限。绑定到此策略的用户可以查看应用程序,但不能执行任何添加、修改或删除、启用或禁用操作。
尽管您无法编辑这些预定义策略,但您可以创建自己的(用户定义的)策略。
以前,当您为角色分配策略并将角色绑定到用户组时,可以在 NetScaler 控制台GUI 中为节点级别的用户组提供权限。例如,您可能只提供对整个 负载平衡 节点的访问权限。 您的用户有权访问负载平衡下的所有实体特定子节点(例如,虚拟服务器、服务等),或者他们无权访问负载平衡下的任何节点。
在 NetScaler 控制台507.x 版本及更高版本中,访问策略管理已扩展到为子节点提供权限。可以为所有子节点(如虚拟服务器、服务、服务组和服务器)配置访问策略设置。
目前,您只能为负载平衡节点下的子节点以及 GSLB 节点下的子节点提供这种精细级别的访问权限。
例如,作为管理员,您可能希望向用户授予访问权限,仅允许其查看虚拟服务器,而不能查看 负载平衡 节点中的后端服务、服务组和应用程序服务器。分配了此类策略的用户只能访问虚拟服务器。
要创建用户定义的访问策略,请执行以下操作:
-
在 NetScaler 控制台 GUI 中,导航 到 设置 > 用户和角色 > 访问策略 。
-
单击添加。
-
在“创建访问策略”页上的“策略名称”字段中,输入策略的名称,然后在“策略描述”字段中输入描述 。
权 限 部分列出了所有 NetScaler 控制台功能,以及用于指定只读、启用-禁用或编辑权限的选项。
-
单击 (+) 图标将每个功能组扩展为许多功能。
-
选中功能名称旁边的权限复选框以向用户授予权限。
-
查看:此选项允许用户在 NetScaler 控制台中查看该功能。
-
启用-禁用:此选项仅适用于允许在 NetScaler 控制台上启用或禁用操作的 网络功能功能 。用户可以启用或禁用该功能。用户还可以执行“立即投票”操作。
向用户授予“启用-禁用”权限时,也会授予“查看”权限。您不能取消选择此选项。
-
编辑: 此选项向用户授予完全访问权限。用户可以修改该功能及其功能。
如果您授予“编辑”权限,则会同时授予“查看”和“启用-禁用”权限。您不能取消选择自动选择的选项。
如果选中该功能复选框,它将选择该功能的所有权限。
-
注意:
展开 负载平衡 和 GSLB 以查看更多配置选项。
在下图中,负载平衡功能的配置选项具有不同的权限:
“查 看”权限授予用户使用 虚拟服务器 功能。用户可以在 NetScaler 控制台中查看负载平衡虚拟服务器。要查看虚拟服务器,请导航到 基础结构 > 网络功能 > 负载平衡 ,然后选择 虚拟服务器 选项卡。
向用户授予 服务 功能的 启用-禁 用权限。此权限还授予“查 看”权限。用户可以启用或禁用绑定到负载平衡虚拟服务器的服务。此外,用户可以对服务执行 立即轮询 操作。要启用或禁用服务,请导航到 基础结构 > 网络功能 > 负载平衡 ,然后选择 服务 选项卡。
注意:
如果用户具有“启用-禁用”权限,则在以下页面中限制对服务的启用或禁用操作:
-
导航到 基础结构 > 网络功能。
-
选择一个虚拟服务器,然后单击 配置。
-
选择负 载平衡虚拟服务器服务绑定 页面。 如果您选择“启 用”或“禁用”,则此页面会显示一条错误消息。
“编辑”权限被授予用户使用“服务组”功能。此权限授予完全访问权限,授予了“查看”和“启用-禁用”权限。用户可以修改绑定到负载平衡虚拟服务器的服务组。要编辑服务组,请导航到 基础结构 > 网络功能 > 负载平衡 ,然后选择 服务组 选项卡。
-
-
单击创建。
注意:
选择“编辑”可能会在内部分配相关权限,这些权限在“权限”部分中未显示为启用。例如,当您启用故障管理的编辑权限时,NetScaler 控制台会在内部提供配置邮件配置文件或创建 SMTP 服务器设置的权限,以便用户可以将报告作为邮件发送。
向用户授予样书权限
您可以创建访问策略来授予样书权限,例如导入、删除、下载等。
注意:
当您授予其他样书权限时,“查看”权限会自动启用。
在 NetScaler 控制台上配置角色
在 NetScaler 控制台中,每个角色都绑定到一个或多个访问策略。您可以在策略与角色之间定义一对一、一对多和多对多关系。您可以将一个角色绑定到多个策略,也可以将多个角色绑定到一个策略。
例如,一个角色可能绑定到两个策略,其中一个策略定义对一个功能的访问权限,另一个策略定义对另一个功能的访问权限。一种策略可能授予在 NetScaler 控制台中添加 NetScaler 实例的权限,另一种策略可能授予创建和部署样书以及配置 NetScaler 实例的权限。
当多个策略为单个要素定义编辑和只读权限时,编辑权限优先于只读权限。
NetScaler 控制台提供五种预定义角色:
-
admin_role。可以访问所有 NetScaler 控制台功能。(此角色绑定到
adminpolicy
。) - adminExceptSystem_role 除设置权限外,有权访问 NetScaler 控制台 GUI。(此角色绑定到 adminExceptSystem_Policy)
-
readonly_role。拥有只读访问权限。(此角色绑定到
readonlypolicy
。) - appAdmin_role。只能对 NetScaler 控制台中的应用功能具有管理权限。(此角色绑定到 appAdminPolicy。)
- appReadonly_role。对应用程序功能具有只读访问权限。(此角色绑定到 appReadOnlyPolicy。)
尽管您无法编辑预定义角色,但可以创建自己的(用户定义的)角色。
要创建角色并为其分配策略,请执行以下操作:
-
在 NetScaler 控制台 GUI 中,导航 到 设置 > 用户和角色 > 角色 。
-
单击添加。
-
在 创建角色 页面的 角色名称 字段中,输入角色的名称,并在角色描述字段中提供 描述 (可选)。
-
在 策略 部分中,将一个或多个策略添加到 已配置 列表中。
注意:
这些策略以所有租户唯一的租户 ID(例如
maasdocfour
)为前缀。注意:
您可以通过单击“新建”来创建访问策略,也可以导航到“**设置”>“用户和角色”>“访问策略”,** 然后创建策略。
-
单击创建。
在 NetScaler 控制台上配置组
在 NetScaler 控制台中,组可以同时具有功能级别和资源级访问权限。例如,一组用户可能只能访问选定的 NetScaler 实例;另一组用户只能访问选定的几个应用程序,依此类推。
创建组时,您可以为组分配角色、提供对组的应用程序级别访问权限以及将用户分配给组。在 NetScaler 控制台中,该组中的所有用户都被分配了相同的访问权限。
您可以在 NetScaler 控制台中管理各个网络功能实体级别的用户访问权限。您可以在实体级别为用户或组动态分配特定权限。
NetScaler 控制台将虚拟服务器、服务、服务组和服务器视为网络功能实体。
-
虚拟服务器(应用程序) -负载平衡 (
lb
)、GSLB、上下文切换 (CS
)、缓存重定向 (CR
)、身份验证 (Auth
) 和 NetScaler Gateway (vpn
) - 服务 -负载平衡和 GSLB 服务
- 服务组 -负载平衡和 GSLB 服务组
- 服务器 -负载平衡服务器
要创建组,请执行以下操作:
-
在 NetScaler 控制台中,导航到设置 > 用户和角色 > 组。
-
单击添加。
屏幕上将显示“创建系统组”页面。
-
在 组名称 字段中,输入组的名称。
-
在“组描述”字段中,键入组的描述。提供良好的描述可以帮助您了解组的角色和职能。
-
在“角色”部分中,将一个或多个角色移至“已配置”列表。
注意:
角色以所有租户唯一的租户 ID(例如
maasdocfour
)为前缀。 -
在“可用”列表中,您可以单击“新 建”或“编辑”,然后创建或修改角色。
或者,您可以导航到“设置”>“用户和角色”>“用户”,然后创建或修改用户。
-
单击下一步。
-
在 授权设置 选项卡中,您可以从以下类别中选择资源:
- AutoScale 组
- 实例
- 应用程序
- 配置模板
- IPAM 提供商和网络
- 样书
- 配置包
- 域名
从用户可以访问的类别中选择特定资源。
AutoScale 组:
要选择用户可以查看或管理的特定 AutoScale 组,请执行以下操作:
-
清除“所有 AutoScale 组”复选框,然后单击“添加 AutoScale 组”。
-
从列表中选择所需的 AutoScale 组,然后单击“确定”。
实例:
要选择用户可以查看或管理的特定实例,请执行以下操作:
-
清除“所有实例”复选框,然后单击“选择实例”。
-
从列表中选择所需的实例,然后单击“确定”。
标记:
要授权用户根据关联标签查看或管理特定实例,请执行以下操作:
-
清除“所有实例”复选框,然后单击“选择标签”。
-
从列表中选择所需的标签,然后单击“确定”。
之后,当您将更多实例与所选标签关联时,授权用户会自动获得对新实例的访问权限。
有关标签以及将标签与实例关联的更多信息,请参阅 如何创建标签和分配给实例。
应用程序:
“选择应用程序”列表允许您向用户授予所需应用程序的访问权限。
您可以向应用程序授予访问权限,而无需选择其实例。因为应用程序独立于其实例来授予用户访问权限。
当您向用户授予应用程序访问权限时,无论选择何种实例,该用户都有权仅访问该应用程序。
此列表为您提供了以下选项:
-
所有应用程序: 默认情况下,此选项处于选中状态。它添加了 NetScaler 控制台中存在的所有应用程序。
-
选定实例的所有应用程序: 仅当您从“所有 实例”类别中选择实例时,此选项才会出现。它添加了选定实例上存在的所有应用程序。
-
特定应用程序: 此选项允许您添加希望用户访问的所需应用程序。单击 添加应用程序”,然后从列表中选择所需的应用程序。
-
选择单个实体类型: 此选项允许您选择特定类型的网络函数实体和相应实体。
您可以添加单个实体,也可以选择所需实体类型下的所有实体,以向用户授予访问权限。
同时应用于绑定实体 选项对绑定到选定实体类型的实体进行授权。例如,如果您选择一个应用程序并选择“同时应用于绑定实体”,则 NetScaler 控制台会对绑定到所选应用程序的所有实体进行授权。
注意:
如果要授权绑定实体,请确保只选择了一种实体类型。
您可以使用正则表达式搜索和添加符合组正则表达式条件的网络函数实体。指定的正则表达式保留在 NetScaler 控制台中。要添加正则表达式,请执行以下步骤:
-
单击“添加正则表达式”。
-
在文本框中指定正则表达式。
下图说明了在选择“特定应用程序”选项时如何使用正则表达式添加应用程序:
下图说明了在选择“选择单个实体类型”选项时如何使用正则表达式添加网络功能实体 :
如果要添加更多正则表达式,请单击 + 图标。
注意:
正则表达式仅匹配服务器实体类型的服务器名称,而不匹配服务器 IP 地址。
如果您为已发现的 实体选择“同时应用于绑定 实体”选项,则用户可以自动访问绑定到已发现实体的实体。
正则表达式存储在系统中以更新授权范围。当新实体与其实体类型的正则表达式匹配时,NetScaler 控制台会将授权范围更新为新实体。
配置模板:
如果要选择用户可以查看或管理的特定配置模板,请执行以下步骤:
-
清除“所有配置模板”,然后单击“添加配置模板”。
-
从列表中选择所需的模板,然后单击“确定”。
IPAM 提供商和网络:
如果要添加用户可以查看或管理的特定 IPAM 提供程序和网络,请执行以下操作:
-
添加提供商 -清除 所有提供商 ,然后单击“添加提供商”。您可以选择所需的提供商, 然后单击确定。
-
添加网络 -清除 所有网络 ,然后单击“添加网络”。您可以选择所需的网络, 然后单击确定。
样书:
如果要选择用户可以查看或管理的特定样书,请执行以下步骤:
-
清除“所有样书”复选框,然后单击“将样式手册添加到组”。您可以选择单个样书,也可以指定筛选器查询来授权样书。
如果要选择单个样书,请从“单个样书”窗格中选择样书,然后单击保存所选内容。
如果要使用查询来搜索样书,请选择自定义过滤器窗格。查询是键值对的字符串,其中键是
name
、namespace
和version
。您也可以使用正则表达式作为值来搜索和添加符合组正则表达式条件的样书。用于搜索样书的自定义筛选器查询同时支持
And
和Or
操作。示例:
name=lb-mon|lb AND namespace=com.citrix.adc.stylebooks AND version=1.0 <!--NeedCopy-->
此查询列出了满足以下条件的样书:
- 样书名称是
lb-mon
或lb
。 - 样书名称空间是
com.citrix.adc.stylebooks
。 - 样书版本是
1.0
。
在为键表达式定义的值表达式之间使用
Or
操作。示例:
-
name=lb-mon|lb
查询是有效的。它返回名称为lb-mon
或lb
的样书。 -
name=lb-mon | version=1.0
查询无效。
按
Enter
以查看搜索结果,然后单击 保存查询。保存的查询将显示在 自定义筛选器查询中。根据保存的查询,NetScaler 控制台允许用户访问这些样书。
- 样书名称是
-
从列表中选择所需的样书,然后单击“确定”。
您可以在创建组并将用户添加到该组时选择所需的样书。当用户选择允许的样书时,也会选择所有相关样书。
配置包:
在配置包中,选择以下选项之一:
-
所有配置:默认情况下,此选项处于选中状态。它允许用户管理 ADM 中的所有配置。
-
所选样书的所有配置:此选项添加所选样书的所有配置包。
-
特定配置:此选项允许您添加任何样书的特定配置。
-
用户组创建的所有配置:此选项仅允许用户访问由同一组的用户创建的配置。
在创建组并将用户分配到该组时,您可以选择适用的配置包。
域名:
如果要选择用户可以查看或管理的特定域名,请执行以下步骤:
-
清除“所有域名”复选框,然后单击“添加域名”。
-
从列表中选择所需的域名,然后单击“确定”。
-
单击创建组。
-
在“分配用户”部分,在“可用”列表中选择用户,然后将该用户添加到“已配置”列表中。
注意:
您也可以通过单击“新建”来添加 新用户。
- 单击完成。
用户访问权限如何根据授权范围进行更改
当管理员将用户添加到具有不同访问策略设置的组时,该用户将被映射到多个授权作用域和访问策略。
在这种情况下,NetScaler 控制台根据特定的授权范围向用户授予对应用程序的访问权限。
考虑分配给具有两个策略策略 1 和策略 2 的组的用户。
-
策略 1 — 仅查看应用程序的权限。
-
Policy-2 -查看和编辑应用程序的权限。
用户可以查看 Policy-1 中指定的应用程序。此外,此用户还可以查看和编辑策略 2 中指定的应用程序。对组 1 应用程序的编辑访问受到限制,因为它不在组 1 授权范围内。
限制
以下 NetScaler 控制台功能不完全支持 RBAC:
-
分析 - 分析模块不完全支持 RBAC。RBAC 支持仅限于实例级别,不适用于 Gateway Insight、HDX Insight 和 Security Insight 分析模块中的应用程序级别。
- 示例 1:基于实例的 RBAC(支持)。分配了几个实例的管理员只能在 HDX Insight > 设备下看到这些实例,在 HDX Insight > 应用程序下只能看到相应的虚拟服务器,因为实例级别支持 RBAC。
- 示例 2:基于应用程序的 RBAC(不支持)。分配了几个应用程序的管理员可以在 HDX Insight > 应用程序 下查看所有虚拟服务器,但无法访问它们,因为应用程序级别不支持 RBAC。
-
样书—样书不完全支持 RBAC。
- 考虑这样一种情况:许多用户可以访问单个样书,但对不同的 NetScaler 实例具有访问权限。用户可以在自己的实例上创建和更新配置包,因为除了自己的实例外,他们无权访问其他实例。但是,他们仍然可以查看在 NetScaler 实例上创建的配置包和对象,而不是自己的配置包和对象。