本章介绍如何配置和维护用户授权,并描述身份验证和授权在AEM中工作的原理。
本节将更详细地介绍各种实体和相关概念,以帮助您配置易于维护的用户管理概念。
用户将使用其帐户登录AEM。 每个用户帐户都是唯一的,包含基本帐户详细信息以及分配的权限。
用户通常是组的成员,这简化了这些权限和/或权限的分配。
组是用户和/或其他组的集合;这些都称为组成员。
其主要目的是通过减少要更新的实体数来简化维护过程,因为对组所做的更改会应用于组的所有成员。 组通常反映:
因此,组往往保持稳定,而用户来来去的频率更高。
借助规划和整洁的结构,组的使用可以反映您的结构,为您提供清晰的概述和高效的更新机制。
AEM WCM安装许多用户和用户组。 安装后首次访问安全控制台时,可以看到这些内容。
下表将每个项目与以下项目列表在一起:
请更改所有默认密码 (如果在某些情况下不删除帐户本身)。
用户 ID | 类型 | 描述 | 推荐 |
管理员 默认密码:管理员 |
用户 | 具有完全访问权限的系统管理帐户。 此帐户用于AEM WCM和CRX之间的连接。 如果意外删除了此帐户,将在重新启动存储库(在默认设置中)时重新创建它。 管理员帐户是AEM平台的一项要求。 因此,无法删除此帐户。 |
Adobe强烈建议将此用户帐户的密码从默认值更改。 最好在安装时,尽管可以在安装后完成。 注意:不要将此帐户与CQ Servlet引擎的管理员帐户混淆。 |
匿名
|
用户 | 保留对实例的未验证访问的默认权限。 默认情况下,它包含最小访问权限。 如果意外删除了此帐户,将在启动时重新创建它。 它无法永久删除,但可以禁用。 |
请避免删除或禁用此帐户,因为这将对作者实例的功能产生负面影响。 如果有安全要求要求您删除它,请确保首先正确测试它对您的系统的影响。 |
作者 默认密码:作者 |
用户 | 允许写入/content的作者帐户。 包含投稿人和冲浪者特权。 可以用作Web主站点,因为它有权访问整个/content树。 这不是内置用户,而是另一个geometrixx演示用户 |
Adobe建议完全删除帐户,或者从默认帐户更改密码。 最好在安装时,尽管可以在安装后完成。 |
管理员 | 组 | 授予其所有成员管理员权限的组。 仅允许管理员编辑此组。 具有完全访问权限。 |
如果在节点上设置“拒绝所有人”,则只有在再次为该组启用该权限时,管理员才具有访问权限。 |
content-authors | 组 | 负责内容编辑的组。 需要读取、修改、创建和删除权限。 |
您可以创建具有项目特定访问权限的您自己的内容作者组,前提是您添加读取、修改、创建和删除权限。 |
contributor | 组 | 允许用户编写内容的基本权限(仅在功能中)。 不向/content树分配任何权限——必须为单个组或用户专门分配这些权限。 |
|
dam用户 | 组 | 典型AEM Assets用户的现成参考组。 此组的成员具有相应的权限,可启用资产和集合的上传/共享。 | |
人 | 组 | AEM中的每个用户都是组中每个人的成员,即使您可能看不到组或所有工具中的成员关系。 可以将此组视为默认权限,因为它可用于为所有人(甚至是将来创建的用户)应用权限。 |
请勿修改或删除此组。 修改此帐户还会产生其他安全影响。 |
标签管理员 | 组 | 允许编辑标记的组。 | |
用户管理员 | 组 | 授权用户管理,即创建用户和用户组的权利。 | |
工作流编辑器 | 组 | 允许创建和修改工作流模型的组。 | |
工作流用户 | 组 | 参与工作流的用户必须是组工作流用户的成员。 这使他/她能够完全访问:/etc/workflow/instances,以便他或她可以更新工作流实例。 该组包含在标准安装中,但您必须手动将用户添加到该组。 |
AEM使用ACL确定用户或用户组可以执行哪些操作以及在何处执行这些操作。
权限定义允许谁对资源执行哪些操作。 权限是访问控制评估的结果。
您可以通过选择或清除单个AEM 操作的复选框来更改授予/拒绝给定用户的权限。 复选标记表示允许执行操作。 没有复选标记表示操作被拒绝。
复选标记位于网格中的位置还指示用户在AEM中的哪些位置(即哪些路径)拥有哪些权限。
可以对页面(资源)执行操作。 对于层次结构中的每个页面,您可以指定允许用户对该页面执行哪些操作。 允 许您允许或拒绝操作。
操作 | 描述 |
读取 | 允许用户读取页面和任何子页面。 |
修改 | 用户可以:
在JCR级别,用户可以通过修改资源的属性、锁定、版本控制、nt修改来修改资源,并且他们对定义jcr:content子节点的节点具有完全写入权限,例如cq:Page、nt:file、cq:Asset。 |
创建 | 用户可以:
如果拒绝modify,则明确排除jcr:content下的子树,因为创建jcr:content及其子节点被视为页面修改。 这仅适用于定义jcr:content子节点的节点。 |
删除 | 用户可以:
如果拒绝modify,则会明确排除jcr:content下的任何子树,因为删除jcr:content,其子节点将被视为页面修改。 这仅适用于定义jcr:content子节点的节点。 |
读取 ACL | 用户可以阅读页面或子页面的访问控制列表。 |
编辑 ACL | 用户可以修改页面或任何子页面的访问控制列表。 |
复制 | 用户可以将内容复制到其他环境(例如,发布环境)。 该权限也会应用于任何子页面。 |
AEM会自动为集合中的角色分配(所有者、编辑者、查看器)生成用户组。 但是,手动为此类组添加ACL可能会在AEM中引入安全漏洞。 Adobe建议您避免手动添加ACL。
AEM WCM使用访问控制列表(ACL)来组织应用于各个页面的权限。
访问控制列表由各个权限组成,用于确定实际应用这些权限的顺序。 该列表根据所考虑页面的层次结构而形成。 然后,从下到上扫描此列表,直到找到应用于页面的第一个适当权限。
示例中包含有ACL。 建议您查看并确定适合您的应用程序的内容。 要查看包含的ACL,请转至CRXDE,并为以下节点选择访问控制选项卡:
/etc/cloudservices/facebookconnect/geometrixx-outdoorsfacebookapp
:允许所有人读取访问。
/etc/cloudservices/twitterconnect/geometrixx-outdoors-twitter-app
:允许所有人读取访问。
/home/users/geometrixx-outdoors
:允许所有人访问*/profile*
和
*/social/relationships/following/*
。
您的自定义应用程序可以设置对其他关系(如*/social/relationships/friend/*
或*/social/relationships/pending-following/*
)的访问权限。
当您创建特定于社区的ACL时,加入这些社区的成员可能会获得额外的权限。 例如,当用户在/content/geometrixx-outdoors/en/community/hiking
或/content/geometrixx-outdoors/en/community/winter-sports
加入社区时,可能会出现这种情况。
对于CQ 5.3用户:
与以前的CQ版本不同,如果用户只需修改页面,则不应再授予create和delete。 相反,仅当您希望用户能够创建、修改或删除现有页面上的组件时,才授予modify操作。
由于向后兼容性的原因,动作测试不考虑定义jcr:content的节点的特殊处理。
操作 | 描述 |
---|---|
允许(复选标记) | AEM WCM允许用户在此页面或任何子页面上执行操作。 |
拒绝(无复选标记) | AEM WCM不允许用户在此页面或任何子页面上执行此操作。 |
权限也会应用于任何子页面。
如果某个权限未从父节点继承,但至少有一个本地条目,则以下符号将附加到该复选框。 本地条目是在CRX 2.2接口中创建的条目(通配符ACL当前只能在CRX中创建。)
对于给定路径上的操作:
*(星号) | 至少有一个本地条目(有效或无效)。 这些通配符ACL在CRX中定义。 |
! (感叹号) | 至少有一个条目当前无效。 |
当您将指针悬停在星号或感叹号上时,工具提示会提供有关声明条目的更多详细信息。 工具提示分为两部分:
上部 | 列表有效条目。 |
下部 | 列表可能在树中其他位置有效的无效条目(由具有相应ACE的特殊属性表示,该属性限制了条目的范围)。 或者,这是一个条目,其效果已被在给定路径或祖先节点中定义的另一个条目撤销。 |
如果没有为页面定义权限,则会拒绝所有操作。
以下是有关管理访问控制列表的建议:
请勿直接将权限分配给用户。 仅将它们分配给组。
这将简化维护,因为组数量比用户数少得多,而且波动性也更小。
如果您希望组/用户只能修改页面,请勿授予他们创建或拒绝权限。 仅授予他们修改和读取权限。
少用拒绝。 尽可能仅使用“允许”。
如果权限的应用顺序与预期顺序不同,则使用拒绝可能会产生意外效果。 如果用户是多个组的成员,来自一个组的拒绝语句可以取消来自另一个组的允许语句,反之亦然。 在发生这种情况时,很难保留概述,并且很容易导致无法预见的结果,而“允许”分配不会造成此类冲突。
Adobe建议您使用“允许”而非“拒绝”,请参阅最佳实践。
在修改任一权限之前,请确保您了解它们的工作方式和相互关联。 请参阅CRX文档以说明AEM WCM 如何评估访问权限以及设置访问控制列表的示例。
权限允许用户和用户组访问AEM页面上的AEM功能。
通过展开/折叠节点按路径浏览权限,并可以跟踪到根节点的权限继承。
通过选择或清除相应的复选框,可以允许或拒绝权限。
除网格视图外,AEM还为给定路径下的选定用户/组提供详细的权限视图。 详细信息视图提供其他信息。
除了查看信息外,您还可以将当前用户或用户组包含或排除在用户组之外。 请参阅添加权限时添加用户或用户组。 此处所做的更改会立即反映在详细视图的上半部分。
要访问详细信息视图,请在权限选项卡中,单击任何选定组/用户和路径的详细信息。
详细信息分为两部分:
上部 | 重复在树网格中看到的信息。 对于每个操作,都会显示一个图标,显示是允许还是拒绝该操作:
|
下部 | 显示执行以下操作的用户和用户组网格:
|
借助模拟功能,用户可以代表其他用户工作。
这意味着用户帐户可以指定其他可以使用其帐户操作的帐户。 换言之,如果允许用户-B模拟用户-A,则用户-B可以使用用户-A的完整帐户详细信息执行操作。
这允许模拟者帐户完成任务,就像他们使用的是模拟的帐户一样;例如,在缺勤期间或共享过多负荷的短期情况。
为了模拟以适用于非管理员用户,模拟者(在上述情况下,用户-B)需要在/home/users
路径中具有READ权限。
有关如何实现此目的的详细信息,请参阅AEM](/docs/experience-manager-64/sites-administering/security.html?lang=zh-Hans#permissions-in-aem)中的[权限。
如果一个帐户模拟另一个帐户,则很难查看。 当模拟开始和结束时,在审计日志中创建一个条目,但其他日志文件(如访问日志)不包含有关事件上已发生模拟的事实的信息。 因此,如果用户- B是模拟用户- A所有事件看起来就像是由用户- A个人执行。
模拟用户身份时可以执行页面锁定。但是,以这种方式锁定的页面随后只能由被模拟的用户或拥有管理员权限的用户解锁。
不能通过模拟锁定页面的用户的身份来解锁页面。
下面介绍了使用权限和权限时的最佳实践:
规则 | 原因 |
---|---|
使用组 | 避免按用户分配访问权限。 原因有几:
|
积极 | 始终使用“允许”语句指定组的权利(尽可能)。 避免使用Deny语句。 按顺序评估组,并且对顺序的定义可以不同于用户。 换言之:您可能几乎无法控制语句的实现和评估顺序。 如果仅使用“允许”语句,则顺序不重要。 |
保持简单 | 在配置新安装时投入一些时间和思考将得到很好的回报。 应用清晰的结构将简化持续的维护和管理,确保您的当前同事和/或未来继任者都能轻松了解正在实施的内容。 |
测试 | 使用测试安装来练习并确保您了解不同用户和组之间的关系。 |
默认用户/用户组 | 始终在安装后立即更新默认用户和用户组,以帮助防止出现任何安全问题。 |
用户包括使用该系统的用户和向系统提出请求的外国系统。
组是一组用户。
这两种配置都可以使用安全控制台中的用户管理功能进行配置。
您可以使用安全控制台访问所有用户、用户组和关联权限。 本节中描述的所有过程都在此窗口中执行。
要访问AEM WCM安全性,请执行下列操作之一:
https://<server>:<port>/useradmin
。 请确保以管理员身份登录到AEM。此时将显示以下窗口:
左侧的树将列表系统中当前的所有用户和用户组。 您可以选择要显示的列,对列的内容进行排序,甚至通过将列标题拖动到新位置来更改列的显示顺序。
这些选项卡提供对各种配置的访问:
选项卡· | 描述 |
---|---|
过滤器框 | 用于筛选列出的用户和/或组的机制。 请参阅筛选用户和用户组。 |
隐藏用户 | 一个切换开关,它将隐藏所有列出的用户,仅保留用户组。 请参阅隐藏用户和用户组。 |
隐藏组 | 一个切换开关,它将隐藏所有列出的组,仅保留用户。 请参阅隐藏用户和用户组。 |
编辑 | 允许您创建和删除以及激活和取消激活用户或组的菜单。 请参阅创建用户和用户组和删除用户和用户组。 |
属性 | 列表有关用户或用户组的信息,这些信息可以包含电子邮件信息、说明和名称信息。 还允许您更改用户的口令。 请参阅创建用户和用户组、修改用户和组属性和更改用户口令。 |
组 | 列表选定用户或组所属的所有组。 您可以将选定的用户或用户组分配给其他用户组,或将其从用户组中删除。 请参阅组。 |
成员 | 仅适用于组。 列表特定组的成员。 请参阅成员。 |
权限 | 您可以为用户或用户组分配权限。 允许您控制以下内容: |
模拟者 | 允许其他用户模拟该帐户。 当您需要用户代表其他用户时非常有用。 请参阅模拟用户。 |
首选项 | 设置组或用户](#setting-user-and-group-preferences)的[首选项。 例如,语言首选项。 |
您可以通过输入筛选表达式来筛选列表,该过滤表达式会隐藏所有与该不匹配的用户和用户组。 还可以使用隐藏用户和隐藏组按钮隐藏用户和组。
要筛选用户或用户组,请执行以下操作:
在左树列表中,在提供的空间中键入筛选表达式。 例如,输入admin将显示包含此字符串的所有用户和组。
单击放大镜以过滤列表。
如果要删除所有过滤器,请单击x。
隐藏用户或用户组是筛选系统中所有用户和用户组列表的另一种方法。 有两种切换机制。 单击“隐藏用户”可隐藏视图中的所有用户,单击“隐藏组”可隐藏视图中的所有用户组(您不能同时隐藏用户和用户组)。 要使用过滤器列表筛选表达式,请参阅筛选用户和用户组。
要隐藏用户和用户组,请执行以下操作:
在Security控制台中,单击隐藏用户或隐藏组。 此时将突出显示所选按钮。
要使用户或用户组重新显示,请再次单击相应的按钮。
要创建新用户或用户组,请执行以下操作:
在Security控制台树列表中,单击编辑,然后单击创建用户或创建组。
根据您是创建用户还是用户组,输入所需的详细信息。
单击创建。您创建的用户或用户组显示在树列表中。
要删除用户或用户组,请执行以下操作:
要修改用户和组属性,请执行以下操作:
在Security控制台中,多次单击要修改的用户或用户组名称。
单击属性选项卡,进行所需的更改,然后单击保存。
用户的路径显示在用户属性的底部。 无法修改。
请按照以下过程修改用户的口令。
无法使用安全控制台更改管理员密码。 要更改管理员帐户的口令,请使用Granite Operations提供的用户控制台。
在Security控制台中,多次单击要更改密码的用户名。
单击属性选项卡(如果尚未处于活动状态)。
单击设置密码。 “Set Password(设置密码)”窗口将打开,您可以在其中更改密码。
输入新密码两次;由于它们未以明文显示,因此这是为了确认——如果它们不匹配,系统会显示错误。
单击设置以激活帐户的新密码。
AEM优惠了三种将用户或用户组添加到现有用户组的不同方法:
组选项卡显示当前帐户所属的组。 您可以使用它将选定帐户添加到组:
多次-单击要分配给组的帐户(用户或组)的名称。
单击组选项卡。 您会看到帐户已属于的列表组。
在树列表中,单击要添加到帐户的组的名称,并将其拖至组窗格。 (如果要添加多个用户,请按住Shift键并单击或按住Ctrl键并单击这些名称并拖动它们。)
单击保存以保存更改。
成员选项卡仅适用于组,并显示属于当前组的用户和组。 您可以使用它向组添加帐户:
多次-单击要添加成员的组的名称。
单击成员选项卡。 您会看到已属于此组的成员列表。
在树列表中,单击要添加到组的成员的名称,并将其拖动到成员窗格。 (如果要添加多个用户,请按住Shift键并单击或按住Ctrl键并单击这些名称并拖动它们。)
单击保存以保存更改。
要将成员添加到特定路径中的组:
多次-单击要添加用户的组或用户的名称。
单击权限选项卡。
导览至要添加权限的路径,然后单击详细信息。 详细信息窗口的下半部分提供有关谁对该页面具有权限的信息。
选中成员列中要具有该路径权限的成员的复选框。 清除要删除其权限的成员的复选框。 您对单元格进行更改时,单元格中会出现一个红色三角形。
单击确定以保存您的更改。
AEM优惠了三种从组中删除用户或用户组的不同方法:
要从组中删除用户或组帐户,请执行以下操作:
多次-单击要从组中删除的组或用户帐户的名称。
单击组选项卡。 您会看到选定帐户所属的组。
在组窗格中,单击要从组中删除的用户或组的名称,然后单击删除。 (如果要删除多个帐户,请按住Shift键或Control键并单击这些名称,然后单击删除。)
单击保存以保存更改。
要从组中删除帐户,请执行以下操作:
多次-单击要从中删除成员的组的名称。
单击成员选项卡。 您会看到已属于此组的成员列表。
在成员窗格中,单击要从组中删除的成员的名称,然后单击删除。 (如果要删除多个用户,请按住Shift键或Control键并单击这些名称,然后单击删除。)
单击保存以保存更改。
要从特定路径的组中删除成员:
多次单击要从中删除用户的组或用户的名称。
单击权限选项卡。
导览至要删除权限的路径,然后单击详细信息。 详细信息窗口的下半部分提供有关谁对该页面具有权限的信息。
选中成员列中要具有该路径权限的成员的复选框。 清除要删除其权限的成员的复选框。 您对单元格进行更改时,单元格中会出现一个红色三角形。
单击确定以保存您的更改。
当部署为发布场时,用户和组需要在所有发布节点之间进行同步。
要了解用户同步以及如何启用它,请参阅用户同步。
本节介绍如何设置权限,包括复制权限。
权限允许用户在特定路径上对资源执行某些操作。 它还包括创建或删除页面的功能。
要添加、修改或删除权限:
在Security控制台中,多次单击要设置权限的用户或组的名称,或者搜索节点。
单击权限选项卡。
在树网格中,选中一个复选框以允许选定的用户或用户组执行操作,或清除一个复选框以拒绝选定的用户或用户组执行操作。 有关详细信息,请单击详细信息。
完成后,单击保存。
复制权限是发布内容的权利,可以为组和用户设置该权限。
要设置复制权限:
从列表中选择用户或用户组,按住多次单击以打开,然后单击权限。
在网格中,导航到您希望用户具有复制权限或搜索节点的路径。
在所选路径的复制列中,选中一个复选框以添加该用户或组的复制权限,或清除该复选框以删除复制权限。 AEM会在您所做更改但尚未保存的任何地方显示一个红色三角形。
单击保存以保存更改。
添加或删除权限时,您可以浏览或搜索节点。
路径搜索有两种不同类型:
在搜索框中,您可以执行以下操作:
操作 | 它的用途 |
---|---|
向右箭头键 | 在搜索结果中选择子节点 |
向下箭头键 | 开始搜索。 |
输入(返回)键 | 选择子节点并将其加载到树网格中 |
要搜索路径或全文,请执行以下操作:
在“安全”控制台中,选择用户或用户组,然后单击权限选项卡。
在搜索框中,输入要搜索的词。
您可以指定一个或多个允许模拟当前用户的用户。 这意味着他们可以将其帐户设置切换为当前用户的帐户设置,并代表此用户行事。
使用此函数时要小心,因为它可能允许用户执行其自己的用户无法执行的操作。 模拟用户时,系统会通知用户他们没有以自己的身份登录。
您可能希望使用此功能的情况有多种,包括:
要模拟现有用户,请执行以下操作:
在树列表中,选择要将其他用户模拟给其他用户的人员的姓名。 多次单击以打开。
单击模拟器选项卡。
单击要能够模拟选定用户的用户。 将用户(将模拟)从列表拖动到“模拟”窗格。 该名称将显示在列表中。
单击保存。
要设置用户和用户组首选项,包括语言、窗口管理和工具栏首选项:
在左侧树中选择要更改其首选项的用户或组。 要选择多个用户或用户组,请按住Ctrl或Shift键并单击您的选择。
单击首选项选项卡。
根据需要对组或用户首选项进行更改,完成后单击保存。
要设置用户或管理员具有删除/激活/取消激活其他用户的权限,请执行以下操作:
将要授予管理其他用户权限的用户添加到管理员组并保存所做的更改。
在用户的权限选项卡中,导航到“/”,在“复制”列中,选中允许复制的复选框“/”,然后单击保存。
选定用户现在可以取消激活、激活、删除和创建用户。
如果您计划实施特定于应用程序的权限,以下信息将说明实施自定义权限时需要了解的内容以及如何在整个CQ中实施该权限:
层次结构修改权限由jcr-priviles的组合覆盖。 复制权限命名为crx:replicate,该权限与jcr存储库上的其他权限一起存储/评估。 但是,它没有在jcr级别上执行。
自定义权限的定义和注册正式属于版本2.4的Jackrabbit API的一部分(另请参见JCR-2887)。 JCR访问控制管理涵盖进一步的使用,如由JSR 283定义(第16节)。 此外,Jackrabbit API定义了几个扩展。
权限注册机制反映在UI的存储库配置下。
新(自定义)权限的注册本身受必须在存储库级别授予的内置权限保护(在JCR中:在ac mgt api中将“null”作为“absPath”参数传递,有关详细信息,请参阅jsr 333)。 默认情况下,admin和管理员的所有成员都具有该权限。
虽然实现负责验证和评估自定义权限,但除非它们是一聚合内置权限,否则将无法实施这些权限。