用户管理与安全性 user-administration-and-security
本章介绍如何配置和维护用户授权,并阐述 AEM 中身份验证和授权的工作原理。
AEM 中的用户和组 users-and-groups-in-aem
本节将更详细地说明各类实体和相关概念,以帮助您设计一个易于维护的用户管理方案。
用户 users
用户使用其帐户登录 AEM。每个用户帐户都是唯一的,并包含基本的帐户信息以及分配的权限。
用户通常是组的成员,而组可以简化权限和/或特权的分配。
组 groups
组是用户、其他组或两者的集合。这些集合统称为组的成员。
其主要目的是通过减少需要更新的实体数量来简化维护流程,因为对组所做的更改会应用到该组的所有成员。组通常反映以下情况:
- 应用程序中的角色,例如仅允许浏览内容的用户,或允许贡献内容的用户。
- 您的组织;您可能希望扩展角色,以区分来自不同部门的贡献者,并在他们被限制于内容树的不同分支时加以管理。
因此,组通常保持稳定,而用户的进出更为频繁。
通过合理规划并设置清晰的结构,使用组可以很好地映射您的组织结构,为您提供清晰的概览和高效的更新机制。
内置用户和组 built-in-users-and-groups
AEM WCM 会安装多个用户和组。在安装完成后首次访问安全控制台时,您会看到这些集合。
下表列出了每个条目及其内容:
- 简要说明
- 有关必要更改的建议
请更改所有默认密码(如果未在某些情况下删除该帐户本身)。
AEM 中的权限 permissions-in-aem
AEM 使用 ACL 来确定用户或组可以执行哪些操作,以及在何处执行这些操作。
权限和 ACL permissions-and-acls
权限定义了谁可以对资源执行哪些操作。这些权限是对访问控制评估的结果。
您可以通过选择或清除单个 AEM 操作的复选框,来更改授予/拒绝某用户的权限。复选标记表示允许该操作。没有复选标记则表示拒绝该操作。
复选标记在权限网格中的位置还表示用户在 AEM 内部哪些位置(即路径)具有什么权限。
操作 actions
操作可以在页面(资源)上执行。对于层级中的每个页面,您都可以指定是否允许该用户在该页面上执行某个操作。权限可用于允许或拒绝某一操作。
访问控制列表及其评估方式 access-control-lists-and-how-they-are-evaluated
AEM WCM 使用访问控制列表(ACL)来组织应用于各个页面的权限。
访问控制列表由单个权限组成,用于确定这些权限的应用顺序。该列表根据所涉及页面的层级生成。然后,系统会自下而上扫描此列表,直到找到适用于某页面的第一个合适权限为止。
/etc/cloudservices/home/users/we-retail
*/social/relationships/friend/*- 或
*/social/relationships/pending-following/*。
/content/we-retail/us/en/community权限状态 permission-states
这些权限同样适用于所有子页面。
如果某权限不是从父节点继承的,但至少有一个本地条目,则会在复选框中附加以下符号。本地条目是在 CRX 2.2 界面中创建的(目前通配符 ACL 只能在 CRX 中创建)。
对于指定路径上的某个操作:
当您将鼠标悬停在星号或感叹号上时,会显示一个工具提示,其中会提供有关已声明条目的更多信息。工具提示分为两部分:
以下是管理访问控制列表的建议:
-
请勿将权限直接分配给用户。仅将它们分配给组。
这样可以简化维护,因为组的数量远小于用户数量,且相对更稳定。
-
如果您希望某个组/用户只能修改页面,请不要授予其创建或拒绝权限。只需授予修改和读取权限即可。
-
谨慎使用“拒绝”。尽量只使用“允许”。
如果权限的应用顺序与预期不同,使用“拒绝”可能会导致产生意外结果。当用户属于多个组时,一个组中的拒绝声明可能会抵消另一个组中的允许声明,反之亦然。在这种情况下很难保持整体清晰,并且容易导致不可预见的结果,而“允许”分配则不会引发此类冲突。
Adobe 建议您尽量使用“允许”而非“拒绝”,请参阅最佳做法。
在修改任何权限之前,请务必了解其工作方式及相互关系。请参阅 CRX 文档,其中说明了 AEM WCM 如何评估访问权限,并提供了设置访问控制列表的示例。
权限 permissions
权限为用户和组提供在 AEM 页面上使用 AEM 功能的访问权。
您可以通过展开/折叠节点按路径浏览权限,并可追踪权限继承,直至根节点。
您可以通过选中或清除相应复选框来允许或拒绝权限。
查看详细的权限信息 viewing-detailed-permission-information
除了网格视图,AEM 还为指定路径下的选定用户或用户组提供详细的权限视图。详细视图会显示更多补充信息。
除了查看信息外,您还可以将当前用户或用户组加入某个组,或将其移出组。请参阅在添加权限时添加用户或组。在此处所做的更改会立即反映在详细视图的上半部分。
要访问详细视图,请在 权限 选项卡中,针对任意已选定的组/用户及路径,单击 详细信息。
详细信息分为两部分:
模拟其他用户 impersonating-another-user
通过模拟功能,用户可以代表另一位用户执行操作。
也就是说,一个用户帐户可以指定其他帐户以其身份进行操作。例如,如果允许用户 B 模拟用户 A,那么用户 B 就可以使用用户 A 的完整帐户信息进行操作。
此功能允许模拟帐户像被模拟帐户一样完成任务。例如,可在用户缺席期间或短期分担过重工作量时使用。
最佳做法 best-practices
以下为处理权限和特权时的最佳做法:
避免逐一为单个用户分配访问权限。之所以建议这样做,原因有以下几点:
- 系统中用户数量远多于用户组,使用组可以简化结构。
- 组有助于全面了解所有帐户。
- 继承关系在组中更为简单。
- 用户会进进出出。而组则具有长期性。
管理用户和组 managing-users-and-groups
用户包括使用系统的人员,以及向系统发出请求的外部系统。
组是一组用户的集合。
两者都可以通过“安全控制台”中的用户管理功能进行配置。
通过安全控制台访问用户管理 accessing-user-administration-with-the-security-console
您可以使用安全控制台访问所有用户、组及其相关权限。本节所述的所有程序均在此窗口中完成。
要访问 AEM WCM 安全性,请执行以下任一操作:
- 在 AEM 欢迎屏幕或其他位置,单击安全图标:
- 直接导航至
https://<server>:<port>/useradmin。请确保您以管理员身份登录 AEM。
随后会显示以下窗口:
左侧树状结构列出了系统中当前的所有用户和组。您可以选择要显示的列,对列内容进行排序,甚至可以通过将列标题拖动到新位置来更改列的显示顺序。
这些选项卡提供了对各种配置的访问:
筛选用户和组 filtering-users-and-groups
您可以通过输入筛选表达式来筛选列表,从而隐藏所有与该表达式不匹配的用户和组。您还可以使用隐藏用户和隐藏组按钮来隐藏用户和组。
筛选用户或组的方法:
-
在左侧树状列表中,在提供的空间内键入您的筛选表达式。例如,输入 admin 将显示所有包含该字符串的用户和组。
-
单击放大镜来筛选列表。
-
当您要移除所有筛选条件时,请单击 x。
隐藏用户和组 hiding-users-and-groups
隐藏用户或组是过滤系统中所有用户和组列表的另一种方式。此功能提供两种切换机制。单击“隐藏用户”将会从视图中隐藏所有用户,单击“隐藏组”将会从视图中隐藏所有组(您不能同时隐藏用户和组)。如需通过筛选表达式筛选列表,请参阅筛选用户和组。
隐藏用户和组的方法:
-
在 安全 控制台中,单击 隐藏用户 或 隐藏组。所选按钮会显示为高亮状态。
-
如需重新显示用户或组,请再次单击相应按钮。
创建用户和组 creating-users-and-groups
要创建用户或组:
-
在 安全 控制台的树状列表中,单击 编辑,然后选择 创建用户 或 创建组。
-
根据您要创建的是用户或者组,输入所需的详细信息。
- 如果选择 创建用户, 则需输入登录 ID、名字和姓氏、电子邮件地址以及密码。默认情况下,AEM 会根据姓氏的首字母创建路径,但您也可以选择其他路径。
- 如果选择 创建组,则需输入组 ID 和可选的描述信息。
-
单击 创建。您创建的用户或组会显示在树状列表中。
删除用户和组 deleting-users-and-groups
要删除用户或组:
- 在 安全 控制台中,选择要删除的用户或组。如果要删除多个条目,请按住 Shift 单击或按住 Ctrl 单击进行选择。
- 单击 编辑, 然后选择删除。AEM WCM 会询问您是否要删除该用户或组。
- 单击 确定 以确认,或单击取消。
修改用户和组属性 modifying-user-and-group-properties
要修改用户和组属性:
-
在 安全 控制台中,双击要修改的用户或组名称。
-
单击 属性 选项卡,进行所需更改,然后单击 保存。
更改用户密码 changing-a-user-password
请按照以下程序修改用户密码。
-
在 安全 控制台中,双击要更改密码的用户名。
-
单击 属性 选项卡(如果尚未处于活动状态)。
-
单击 设置密码。系统会打开“设置密码”窗口,您可以在此更改密码。
-
输入新密码两次;由于不会以明文显示,因此该操作是为了确认输入是否一致——如果两次输入不一致,系统会显示错误。
-
单击 设置 以启用该帐户的新密码。
将用户或用户组添加到组 adding-users-or-groups-to-a-group
AEM 提供三种方式将用户或组添加到现有组:
- 当您处于组页面时,可以添加成员(用户或组)。
- 当您处于成员页面时,可以将成员添加到组中。
- 当您处理权限时,可以将成员添加到组中。
组——将用户或组添加到组 groups-adding-users-or-groups-to-a-group
组 选项卡显示当前帐户所属的组。您可以使用它将所选帐户添加到某个组:
-
双击要分配到组的帐户(用户或组)名称。
-
单击 组 选项卡。您将看到该帐户已属于的组列表。
-
在树状列表中,单击要添加到帐户的组名称,并将其拖动到 组 窗格中。(如果要添加多个用户,请按住 Shift 单击或按住 Ctrl 单击这些名称并进行拖动。)
-
单击 保存 以保存更改。
成员——将用户或组添加到组 members-adding-users-or-groups-to-a-group
成员 选项卡仅适用于组,用于显示属于当前组的用户和组。您可以使用它将帐户添加到组中:
-
双击要向其中添加成员的组名称。
-
单击 成员 选项卡。您将看到已属于该组的成员列表。
-
在树状列表中,单击要添加到组的成员名称,并将其拖动到 成员 窗格中。(如果要添加多个用户,请按住 Shift 单击或按住 Ctrl 单击这些名称并进行拖动。)
-
单击 保存 以保存更改。
在添加权限时添加用户或组 adding-users-or-groups-while-adding-permissions
要在特定路径下向组添加成员:
-
双击您希望添加用户的组或用户名称。
-
单击 权限 选项卡。
-
导航至您希望添加权限的路径,并单击 详细信息。详细信息窗口的下半部分会显示哪些用户拥有该页面的权限。
-
在 成员 列中选中您希望拥有该路径权限的成员复选框。取消选中要移除权限的成员复选框。您更改过的单元格中会显示一个红色三角形。
-
单击 确定 以保存更改。
从组中移除用户或组 removing-users-or-groups-from-groups
AEM 提供三种方式将用户或组从现有组中移除:
- 当您处于组轮廓中时,可以移除成员(用户或组)。
- 当您处于成员轮廓中时,可以将成员从组中移除。
- 当您处理权限时,可以将成员从组中移除。
组——从组中移除用户或组 groups-removing-users-or-groups-from-groups
要将用户或组帐户从组中移除:
-
双击您希望从组中移除的组或用户帐户名称。
-
单击 组 选项卡。您将看到所选帐户所属的组。
-
在 组 窗格中,单击要从组中移除的用户或组名称,然后单击 移除。(如果要移除多个帐户,请按住 Shift 单击或按住 Ctrl 单击这些名称并单击 移除。)
-
单击 保存 以保存更改。
成员——从组中移除用户或组 members-removing-users-or-groups-from-groups
要将帐户从组中移除:
-
双击您希望移除成员的组的名称。
-
单击 成员 选项卡。您将看到已属于该组的成员列表。
-
在 成员 窗格中,单击要从组中移除的成员名称,然后单击 移除。(如果要移除多个用户,请按住 Shift 单击或按住 Ctrl 单击这些名称并单击 移除。)
-
单击 保存 以保存更改。
在添加权限时移除用户或组 removing-users-or-groups-while-adding-permissions
要在特定路径下将成员从组中移除:
-
双击您希望移除用户的组或用户名。
-
单击 权限 选项卡。
-
导航至您希望移除权限的路径,并单击 详细信息。详细信息窗口的下半部分会显示哪些用户拥有该页面的权限。
-
在 成员 列中选中您希望拥有该路径权限的成员复选框。取消选中要移除权限的成员复选框。您更改过的单元格中会显示一个红色三角形。
-
单击 确定 以保存更改。
用户同步 user-synchronization
当部署为发布场时,必须在所有发布节点之间同步用户和组。
要了解用户同步及其启用方法,请参阅用户同步。
管理权限 managing-permissions
本节将介绍如何设置权限,包括复制特权。
设置权限 setting-permissions
权限允许用户在特定路径下对资源执行某些操作。它还包括创建或删除页面的能力。
要添加、修改或删除权限:
-
在 安全 控制台中,双击要为其设置权限的用户或组名称,或搜索节点。
-
单击 权限 选项卡。
-
在树状网格中,选中复选框可允许所选用户或组执行某个操作,清除复选框则可拒绝该用户或组执行该操作。要了解更多信息,请单击 详细信息。
-
完成后,单击 保存。
设置复制权限 setting-replication-privileges
复制权限是发布内容的权利,可以为组或用户设置。
- 授予组的任何复制权限都会应用于该组中的所有用户。
- 单个用户的复制权限优先于组的复制权限。
- “允许”复制权限的优先级高于“拒绝”复制权限。有关更多信息,请参阅 AEM 中的权限。
要设置复制权限:
-
从列表中选择用户或组,双击以打开,然后单击 权限。
-
在网格中,导航到希望用户拥有复制权限的路径,或搜索节点。
-
在所选路径的 复制 列中,选中复选框可为该用户或组添加复制权限,清除复选框则可移除复制权限。AEM 会在尚未保存更改的位置显示红色三角形。
-
单击 保存 以保存更改。
搜索节点 searching-for-nodes
在添加或移除权限时,您可以浏览节点,也可以搜索节点。
路径搜索有两种类型:
- 路径搜索——如果搜索字符串以 “/” 开头,则会搜索指定路径下的直接子节点:
在搜索框中,您可以执行以下操作:
- 全文搜索——如果搜索字符串不是以 “/” 开头,则会在 “/content” 路径下的所有节点上执行全文搜索。
要执行路径搜索或全文搜索:
-
在安全控制台中,选择一个用户或组,然后单击 权限 选项卡。
-
在搜索框中输入要搜索的词语。
模拟用户 impersonating-users
您可以指定一个或多个用户来模拟当前用户。此功能意味着他们可以将自己的帐户设置切换为当前用户的帐户设置,并代表该用户执行操作。
请谨慎使用此功能,因为它可能会让用户执行其自身帐户无法执行的操作。在模拟用户时,系统会通知他们当前并非以自己的身份登录。
您可能会在以下各个场景中使用此功能,包括:
- 如果您不在办公室,可以让其他人在您离开期间模拟您的身份。通过使用此功能,您可以确保他人拥有与您相同的访问权限,而无需修改用户轮廓或泄露密码。
- 您也可以将其用于调试目的。例如,查看具有受限访问权限的用户在网站上的实际体验。此外,如果某个用户报告技术问题,您可以模拟该用户来诊断并解决问题。
要模拟现有用户:
-
在树状列表中,选择您希望为其分配模拟用户的人员姓名。双击以打开。
-
点击 模拟者 选项卡。
-
单击您希望能够模拟所选用户的用户。将该用户(模拟者)从列表拖动到“模拟者”窗格中。该姓名会显示在列表中。
-
单击 保存。
设置用户和组首选项 setting-user-and-group-preferences
要设置用户和组的首选项(包括语言、窗口管理和工具栏首选项):
-
在左侧树状结构中选择您要更改首选项的用户或组。要选择多个用户或组,请使用按住 Ctrl 单击或按住 Shift 单击您的选择。
-
点击 首选项 选项卡。
-
根据需要更改组或用户的首选项,完成后单击 保存。
为用户或管理员设置管理其他用户的权限 setting-users-or-administrators-to-have-the-privilege-to-manage-other-users
要为用户或管理员授予删除/启用/停用其他用户的权限:
-
将您希望授予管理其他用户权限的用户添加到管理员组中,然后保存更改。
-
在用户的 权限 选项卡中,导航到“/”,然后在“复制”列中选中复选框以允许在 “/” 执行复制操作,并单击 保存。
此时,所选用户即可停用、启用、删除和创建用户。
在项目层面扩展权限 extending-privileges-on-a-project-level
如果您计划实施特定于应用程序的权限,以下信息说明了在 CQ 中实施自定义权限及其强制执行时需要了解的内容:
层级修改权限由多个 jcr-privileges 组合实现。复制权限的名称为 crx:replicate,它与其他权限一同在 jcr 存储库中存储和评估。然而,它并不会在 jcr 层面强制执行。
自定义权限的定义和注册自 2.4 版本起正式成为 Jackrabbit API 的一部分(另请参阅 JCR-2887)。其后续使用由 JCR 访问控制管理覆盖,例如 JSR 283(第 16 节)中所定义的内容。此外,Jackrabbit API 还定义了若干扩展。
权限注册机制会在 存储库配置 的用户界面中体现。
新建(自定义)权限的注册本身受内置权限保护,必须在存储库级别授予该权限。在 JCR 中:在 ac mgt API 中将 “absPath” 参数设为 “null”,详细信息请参阅 JSR 333。默认情况下,管理员 和所有管理员组成员均已获得此权限。