11.4. 为用户配置访问控制
授权 是检查是否允许用户执行操作的机制。授权点在需要授权检查的某些操作组中定义。
11.4.1. 关于访问控制 复制链接链接已复制到粘贴板!
访问控制列表 (ACL)是指定服务器操作授权的机制。发生授权检查的每个操作集合都会有一个 ACL。可以在 ACL 中添加其他操作。
ACL 包含 访问控制指令 (ACI),该指令专门允许或拒绝操作,如读或修改。ACI 还包含一个评估表达式。ACL 的默认实现仅指定可能评估类型的用户、组和 IP 地址。ACL 中的每个 ACI 指定访问是允许或拒绝的、特定 Operator 被允许或拒绝的访问,以及哪些用户、组或 IP 地址是允许或拒绝的来执行操作。
证书系统用户的特权是通过更改与用户所属的组相关联的访问控制列表(ACL)、用户本身或用户的 IP 地址来更改。通过将该组添加到访问控制列表来分配新组。例如,只有授权查看日志的管理员的新组 LogAdmins 可以添加到与日志相关的 ACL 中,以允许读取或修改此组的访问。如果此组没有添加到任何其他 ACL 中,则此组的成员只能访问日志。
通过编辑 ACL 中的 ACI 条目来更改用户、组或 IP 地址的访问。在 ACL 界面中,每个 ACI 都在其自己的行中显示。在这个接口窗口中,ACI 具有以下语法:
allow|deny (operation) user|group|IP="name"
IP 地址可以是 IPv4 或 IPv6 地址。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.m.m.m。例如:128 .21.39.40 或 128.21.39.40,255.255.255.00。IPv6 地址使用 128 位命名空间,其 IPv6 地址用冒号分隔,子网掩码由句点分隔。例如: 0:0:0:0:0:0:13.1.68.3,FF01::43,0:0:0:0:0:0:13.1.68.3,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.
例如,以下是一个 ACI,它允许管理员执行读取操作:
allow (read) group="Administrators"
ACI 可以配置多个操作或操作。操作用逗号分隔,没有空格。例如:
allow (read,modify) group="Administrators"
ACI 可以有多个组、用户或 IP 地址,用两个竖线符号(||)分隔它们,并具有两侧空格。例如:
allow (read) group="Administrators" || group="Auditors"
管理控制台可创建或修改 ACI。接口设置在 Allow 和 Deny 字段中是否允许或拒绝操作,设置 Operations 字段中可能的操作,然后在 Syntax 字段中列出组、用户或 IP 地址的访问权限。
ACI 可以允许或拒绝指定组、用户 ID 或 IP 地址的操作。通常,不需要创建 ACI 来拒绝访问。如果没有允许 ACI,包括用户 ID、组或 IP 地址,则组、用户 ID 或 IP 地址将被拒绝访问。
如果用户没有明确允许访问资源的任何操作,则此用户将被视为被拒绝;他不需要拒绝访问。
例如,用户 JohnB 是 Administrators 组的成员。如果 ACL 只具有以下 ACL,则 JohnB 会拒绝任何访问,因为他与任何允许 ACI 不匹配:
Allow (read,modify) group="Auditors" || user="BrianC"
通常不需要包含 deny 语句。然而,可能会出现一些情况,当指定 时非常有用。例如,JohnB 是 Administrators 组的成员,刚刚触发。如果无法立即删除用户,可能需要拒绝对 JohnB 的访问。另一个情况是用户ian C 是管理员,但他不应具有更改某些资源的能力。由于 Administrators 组必须访问此资源,因此 可通过创建一个拒绝此用户访问的 ACI 来明确拒绝访问。
允许的权限是 ACI 控制的操作,可以通过允许或拒绝权限来执行操作。可以为 ACL 设置的操作因 ACL 和子系统而异。两个可以定义的常用操作是读取和修改。
ACI 编辑器的 syntax 字段为表达式设置 evaluator。evaluator 可以指定组、名称和 IP 地址(IPv4 和 IPv6 地址)。它们与作为等号(=)或不相等的实体名称(!=)指定。
在 ACL 中包含组的语法是 group="groupname"。排除组的语法为 group!="groupname",它允许除名为 的组之外的任何组。例如:
group="Administrators" || group!="Auditors"
也可以使用正则表达式来指定组,比如使用类似星号(*)的通配符字符。例如:
group="* Managers"
在 ACL 中包含用户的语法是 user="userID"。排除用户的语法为 user!="userID",它允许除用户 ID 之外的任何用户 ID。例如:
user="BobC" || user!="JaneK"
要指定所有用户,请提供值 anybody。例如:
user="anybody"
也可以使用正则表达式来指定用户名,例如使用类似星号(*)的通配符字符。例如:
user="*johnson"
在 ACL 中包含 IP 地址的语法是 ipaddress="ipaddress"。从 ACL 中排除 ID 地址的语法是 ipaddress!="ipaddress"。IP 地址是通过其数字值来指定的;不允许 DNS 值。例如:
ipaddress="12.33.45.99"
ipaddress!="23.99.09.88"
IP 地址可以是 IPv4 地址,如上所示。IPv4 地址的格式是 n.n.n.n 或 n. n.n.n,m.m.m.m.m,子网掩码为。IPv6 地址使用 128 位命名空间,其 IPv6 地址用冒号分隔,子网掩码由句点分隔。例如:
ipaddress="0:0:0:0:0:0:13.1.68.3"
也可以使用正则表达式来指定 IP 地址,例如使用类似星号(*)的通配符字符。例如:
ipaddress="12.33.45.*"
通过将各个值分开具有两个竖线字符(||)来创建一个具有多个值的字符串,并在两侧使用一个空格。例如:
user="BobC" || group="Auditors" || group="Administrators"
11.4.2. 更改子系统的访问控制设置 复制链接链接已复制到粘贴板!
有关如何通过编辑 CS.cfg 文件来配置此功能的说明,请参阅 规划、安装和部署指南中的 9.2.3.13 更改子系统的访问控制设置 (Common标准版本)。
11.4.3. 添加 ACL 复制链接链接已复制到粘贴板!
ACL 存储在内部数据库中,只能在管理控制台中修改。
添加新 ACL:
登录到管理控制台。
注意pkiconsole已被弃用,并将在以后的主发行版本中被新的基于浏览器的 UI 替代。虽然pkiconsole在发布替代 UI 之前继续可用,但我们鼓励在此鼓励使用命令行与pkiconsole等效,因为 pki CLI 将继续支持并在将来有新的基于浏览器的 UI 时受到改进。选择 Access Control List。
- 单击 以打开 Access Control Editor。
填写
Resource name和Available rights字段。
要添加访问控制指令(ACI),点 并提供 ACI 信息。
- 从 Access 字段中选择 allow 或 deny 单选按钮,以允许或拒绝操作到指定的组、用户或 IP 地址。有关允许或拒绝访问的详情,请参考 第 11.4.1 节 “关于访问控制”。
-
设置权利。可用的选项有
读取和修改。若要同时选择两者,可在选择条目时按 或 按钮。 - 在 Syntax 字段中指定将授予或拒绝访问的用户、组或 IP 地址。有关语法的详情,请查看 第 11.4.1 节 “关于访问控制”。
- 点 返回 Access Control Editor 窗口。
- 点 存储 ACI。
11.4.3.1. 编辑 ACL 复制链接链接已复制到粘贴板!
ACL 存储在内部数据库中,只能在管理控制台中修改。
编辑现有 ACL:
登录到管理控制台。
注意pkiconsole已被弃用,并将在以后的主发行版本中被新的基于浏览器的 UI 替代。虽然pkiconsole在发布替代 UI 之前继续可用,但我们鼓励在此鼓励使用命令行与pkiconsole等效,因为 pki CLI 将继续支持并在将来有新的基于浏览器的 UI 时受到改进。在左侧导航菜单中选择 Access Control List。
从列表中选择要编辑的 ACL,然后单击 。
ACL 在 Access Control Editor 窗口中打开。
要添加 ACI,点 并提供 ACI 信息。
要编辑 ACI,请从 ACL Editor 窗口的 ACI 条目 文本区中的列表中选择 ACI。点 。
- 从 Access 字段中选择 allow 或 deny 单选按钮,以允许或拒绝操作到指定的组、用户或 IP 地址。有关允许或拒绝访问的详情,请参考 第 11.4.1 节 “关于访问控制”。
-
设置访问控制的权限。选项为
读取和修改。若要同时设置两者,可使用 或 按钮。 - 在 Syntax 字段中指定将授予或拒绝访问的用户、组或 IP 地址。有关语法的详情,请查看 第 11.4.1 节 “关于访问控制”。