IBM Workplace Web Content Management 是帮助您生成、存储和提供 Web 内容的功能强大的工具。其优势之一是具备控制用户访问某些内容的能力。
本文讨论了 Workplace Web Content Management 的安全原理。我们将解释与安全相关的概念,比如角色、门户访问、身份验证和访问级别。我们假设您已经具备了 Workplace Web Content Management 的特性和术语方面的基本知识。
访问角色和 Web Content Management authoring portlet
Workplace Web Content Management 管理员组的任何成员(通常称为 wcmadmins)都可以访问 authoring portlet,并且具有 Workplace Web Content Management 中所有对象的完全控制和访问权。然而,这只是您控制对 authoring portlet 内容的访问权的方式之一。Workplace Web Content Management 管理员可以编辑、创建和删除创作(authoring)环境中的任何事情。您想要具有更多的控制权,例如,您可能有一些用户,他们只能创建纯内容,不应对其他项有控制权。或者,您可能有一个组,该组能够创建站点和站点区域,但不能更改放入站点的内容。这就是 authoring portlet 中控制访问权的用武之地。
对 authoring portlet 有三种不同的访问级别:
- 不能访问(No access) 意味着用户将不能读取或编辑 authoring portlet 中的所有项。即使他们已经被明确地授予对象级别的访问权,如果他们没有授予 Workplace Web Content Management 创作模板级别的访问权,他们也无法看到 authoring portlet 中的这些项。
- 查看/读访问权(View/read access) 允许用户查看和读取现有的项,但不能在这些类别中编辑它们或者创建新的项。要具有访问对象的权限,还必须授予对象级别的访问权。还要注意,如果已经在对象级别授予访问权,即使您在类别级别只具有查看/读访问权,您仍然能够编辑/删除对象。
- 管理访问权(Management access) 允许您编辑、创建、删除类别中的项。同样,要具有访问对象的权限,必须在对象级别授予访问权。因此,您可以具有管理权,但如果没有在对象级别授予编辑访问权,您将不能编辑该对象。
控制 authoring portlet 环境中对象的访问权时,根据 Workplace Web Content Management 创作的不同方面,可分为 12 个不同的类别。下表描述了这些类别,以及当授予某个类别不同的访问权时对用户有何影响。
| 访问控制 | 查看/读访问权 | 管理访问权 |
| 内容管理 | 授予对 Content Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个内容项的读访问权。 | 授予对 Content Management 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个内容项的读取、编辑或删除访问权。 |
| 站点管理 | 授予对 Site Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个站点和站点区域的读访问权。 | 授予对 Site Management 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个站点和站点区域的读取、编辑或删除访问权。 |
| 类别管理 | 授予对 Category Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每种分类法和类别的读访问权。 | 授予对 Category Management 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每种分类法和类别的读取、编辑或删除访问权。 |
| 用户信息 | 授予对 Category Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对每个用户信息的读访问权,但不能访问分类法和类别。 | 授予对 Category Management 视图的查看访问权。 授予对每个用户信息的编辑访问权,但不能访问分类法和类别。 |
| 组件库 | 授予对 Component Library 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个库组件的读访问权。 | 授予对 Component Library 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个库组件的读取、编辑或删除访问权。 |
| 创作模板 | 授予对 Authoring Templates 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个创作模板的读访问权。 | 授予对 Authoring Templates 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个创作模板的读取、编辑或删除访问权。 |
| 表示模板 | 授予对 Presentation Templates 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个表示模板的读访问权。 | 授予对 Presentation Templates 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个表示模板的读取、编辑或删除访问权。 |
| 搜索规则 | 授予对 Search Rules 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个搜索规则的读访问权。 | 授予对 Search Rules 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个搜索规则的读取、编辑或删除访问权。 |
| 工作流管理 | 授予对 Workflow Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个工作流、工作流阶段和动作的读访问权。 | 授予对 Workflow Management 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个工作流、工作流阶段和动作的读取、编辑或删除访问权。 |
| 版本管理 | 授予对 Version Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的版本库中每一项的读访问权。 | 授予对 Version Management 视图和相关版本库功能的完全访问权。 |
| 联合 | 授予对 Syndicators 和 Subscribers 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。还授予对您已具有读访问权的每个联合和订阅项的读访问权。 | 授予对 Syndicators 和 Subscribers 视图和相关功能的完全访问权。这还授予对您已具有读取、编辑或删除访问权的每个联合和订阅项的读取、编辑或删除访问权。 |
| 缓存管理 | 授予对 Cache Management 视图的查看访问权。这包括对某些按钮、表单和功能的有限访问权。 | 授予对 Cache Management 视图和相关缓存管理功能的完全访问权。 |
要更改 Workplace Web Content Management authoring portlet 的访问权设置,请遵循以下步骤:
- 以 Workplace Web Content Management 管理员组成员的身份登录 WebSphere Portal。
- 单击 Web Content Management 选项卡以访问 authoring portlet。
- 单击 portlet 右上角的 Configure 图标(参见图 1)。
图 1. Configure 图标
- 展开 Access Options。您将看到 12 个类别,以及用于每个项的查看/读取和管理访问权级别的按钮(参见图 2)。还将看到一个标记为 Edit Security 的按钮。这里有两种选择。单击 Edit Security 来批量更新设置,或者单击 Add/Remove 按钮来授予单个类别的查看/读取和管理访问权。对于本例,我们单击 Edit Security。
图 2. Access Options(Edit Security 按钮突出显示)
- 在接下来的屏幕中,可以选择需要授权的用户和组(参见图 3)。您可以选择用户针对每个类别所具有的访问权级别。单击 Add 按钮可以增加项。
图 3. Change the Security level of selected items 对话框
- 在接下来的屏幕中(参见图 4),选择要搜索的用户或组。建议使用组来控制对象的访问权。本例如图 4 所示,我们搜索 Content_Creators 组。找到之后,通过选中复选框来选中它,然后单击 OK。
图 4. Search for Users or Groups 对话框
- 现在可以看到屏幕上列出的组,这里您可以设置访问级别。对于 12 个类别中的任何一个,都有一个下拉框用于选择授予用户/组的访问权。在本例中,我们为所有 12 个类别选择 Grant Management Access,然后单击 OK。
- 现在 Content_Creators 组在所有 12 个项的 Management Access 下列出(参见图 5)。
图 5. Content_Creators 组
- 单击 OK 让这些更改生效。
对 Web Content Management viewer portlets 的门户访问
wcmadmins 的成员还具有对其他两个 Workplace Web Content Management portlets 的自动访问权,即远程呈现 portlet 和本地呈现 portlet。如果您想要其他人能够编辑这些 portlet 设置,以确定将要显示的内容,还必须为他们授予该访问权。与 Workplace Web Content Management authoring portlet 不同,这一访问权通过门户管理授予,并且 WebSphere Portal Administrator(或者该组中的成员)也必须授予该访问权。
要授予必要的访问权,请遵循以下操作:
- 以 wpsadmin 身份或者 wpsadmins 组其他成员的身份登录。
- 单击右上角的 Administration 链接。出现门户管理员信息。
- 单击 Portlet Management 链接,出现 Portlets。您可以看到所有 portlets 列表。找到想要编辑访问权的 portlet。在本例中,我们将授予本地呈现 portlets 之一的访问权。
- 将 "Search by" 更改为 "Title Contains,",然后在搜索文本框中输入 "Web Content Viewer”。
- 单击 Search 按钮。显示 Workplace Web Content Management portlets 列表(参见图 6)。
图 6. Workplace Web Content Management portlets
在图 6 中,我们已经部署了本地和远程呈现 portlets。注意,如果您已经备份了 portlet,还可以将 portlet 命名为任何名字。因此,应该相应地更改搜索关键词。 - 单击靠近想要授予访问权的 portlet 的 “key” 图标。这将显示访问选项列表。
- 在本例中,我们要授予用户 Editor 对 portlet 的访问权,因此,单击 Editor 栏中的编辑角色(铅笔)。
- 接下来的屏幕显示已经添加到此角色的用户或组。单击 Add 按钮添加新的用户/组。
- 现在可以选择想要授予访问权的组/用户。本例中我们选择组,然后搜索 Content_*(参见图 7)。
图 7. Resource Permissions 对话框
- 通过选择靠近名称的复选框,选择想要添加的用户或组,然后单击 OK。
- 现在已经添加了用户。要退出屏幕,单击左上角 portlet 链接的名称,这样您就可以返回到当前安全性映射。然后单击 Done 按钮。
为了使用户能够看到页面上的 portlets,必须至少具有对该 portlet 的用户访问权。通过遵循上述步骤,您可以授予用户相应的访问级别。
Web Content Management 远程呈现 portlet 身份验证
Workplace Web Content Management 远程呈现 portlet 需要建立与存储 Workplace Web Content Management 内容的服务器的连接。因此,它需要传递凭证来建立连接。另外,用于建立连接的凭证与用于确定它必须指定 Workplace Web Content Management 内容的访问权的凭证是相同的。有两种选项用于验证远程呈现 portlet 与远程 Workplace Web Content Management 服务器的连接:
- LTPA。当指定 LTPA 身份验证方式时,将使用登录到 WebSphere Portal 服务器(远程呈现 portlet 部署在该服务器上)的用户数据来验证远程 Workplace Web Content Management 服务器。这意味着用户必须以相同的方式存在于两个 WebSphere Portal 服务器上。通常,这两个 WebSphere Portal 服务器将共享相同的 LDAP 服务器,因此这一点应特别注意。因此,如果您选择 LTPA,它将把已登录并经过验证的用户的信息带入具有该信息的远程服务器上的 Workplace Web Content Management。如果您选择使用 LTPA,必须遵守 WebSphere Portal Information Center 上的信息,以共享两个 WebSphere Portal 服务器之间的 LTPA 标记。基本上来说,您从一个实例导出 LTPA 标记,然后导入到另一个实例中。使用 LTPA 标记进行身份验证有一个优势,那就是能够根据用户登录信息控制用户所具有的访问权。当您提供一个凭证保险库(credential vault)时,所有远程呈现 portlet 用户将共享一个用户名(这一点将在本文后面讨论)。
- 凭证保险库槽(Credential vault slot)。凭证保险库是一种可以在 WebSphere Portal 中定义共享用户名和密码的方式。通过使用凭证保险库槽,您可以设置用户名和密码组合。然后,许多不同的资源可以引用该槽。对于 Workplace Web Content Management 来说,您将为槽赋予用户和密码,使用它来验证想要获取内容的远程 Workplace Web Content Management 服务器。
使用凭证保险库槽来进行身份验证的好处是简化了身份验证方法。原因是多方面的,首先,您不必共享 LTPA 标记。其次,所有想要通过 Workplace Web Content Management 远程呈现 portlet 提供的内容可以只为一个用户授予活动访问权,这个用户就是在凭证保险库槽中定义的用户。最后,正提供内容的 WebSphere Portal 服务器的用户也不必存在于远程服务器上。这意味着两个 WebSphere Portal 服务器不必共享相同的 LDAP 服务器。
要创建凭证保险库槽,请遵循以下步骤:
- 以 wpsadmins 组成员的身份登录到 WebSphere Portal。
- 单击右上角的 Administration 链接。进入 WebSphere Portal 管理页面。
- 单击左侧的 Access 链接。
- 从显示的选项中,单击 Credential Vault。这将显示 credential vault 页面。
- 让我们为 Workplace Web Content Management Remote Rendering Portlet 赋予其自己的保险库和保险库槽。单击菜单中的 Add a Vault Segment。
- 保留 Vaults 字段为默认值,并且不考虑 “Resources within selected vault” 字段中的值。对于 vault segment name 字段,输入您将要用于 vault segment 的名称(我们使用 WCMVaultSegment)。如果需要的话,输入相关描述(参见图 8)。
图 8. Credential Vault 对话框
- 单击 OK。回到主 credential vault 页面。
- 现在您已经创建了一个 vault segment,让我们创建一个 credential vault slot。单击 “Add a vault slot” 链接。这将显示创建一个新 vault slot 的表单(参见图 9)。
图 9. Create a vault slot 对话框
- 输入一个名称(本例中是 WCM)。从 Vault Segment 下拉框中,选择您在上述步骤中创建的 credential vault segment(在本例中是 WCMVaultSegment)。在 "Vault resource associated with vault slot," 下,选中 New,然后为新资源赋予一个名称(例如,WCM)。选中 “Vault slot is shared” 复选框,然后输入您将要用于验证远程 Workplace Web Content Management 服务器的用户名和密码(例如,wpsadmin)。如果需要的话,输入相关描述。完成之后,单击 OK。
现在您已经创建了一个可以在远程呈现 portlet 设置中指定的凭证保险库槽。当要求您输入凭证保险库槽的名称时,输入您命名的保险库槽。在本例中,就是 WCM。
Workplace Web Content Management 访问级别
在 Workplace Web Content Management 中可以赋予对象五种不同的访问级别:
- 不可访问(No access) 意味着用户无论如何都没有对内容的访问权。这是对 Workplace Web Content Management 对象的默认访问级别,因为在您指定用户具有访问权之前(直接指定或者通过组安全策略继承),具有对象访问权的惟一用户就是作者本人。还有一个例外是 Workplace Web Content Management Administrators 组的任何成员,它们对 Workplace Web Content Management 中的所有对象都有完全访问权。
- 活动访问权(Live access) 是用户需要 Workplace Web Content Management 对象的最小访问权,用于查看显示/呈现在 Web 页面上的对象。Live access 意味着用户具有查看所呈现的对象的访问权,但仅此而已。用户没有对 Workplace Web Content Management 对象/文档本身的访问权。
- 读访问权(Read access) 允许用户查看 Workplace Web Content Management 对象的实际文档。这意味着用户将查看 Workplace Web Content Management authoring portlet 中的对象,并因此能够在配置 portlets 为指向该对象或者基于该对象创建新的对象时引用该对象。
- 编辑访问权(Edit access) 允许用户编辑对象。
- 删除访问权(Delete access) 授予用户从 Workplace Web Content Management 中删除对象的能力。
注意,各个访问级别继承自低于自身的级别。这意味着如果用户有编辑访问权,则他们也有读访问权和活动访问权,依此类推。
例如,考虑一个名为 TestSecurityAuthTemplate 的创作模板。让我们假设组 Content_Creators 已经被授予对该创作模板的读访问权(参见图 10)。
图 10. TestSecurityAuthTemplate 模板
该组具有对创作模板的读访问权,因此,当他们创建一些新内容时,将能够为新内容选择该创作模板(参见图 11)。
图 11. 选择 TestSecurityAuthTemplate
如果用户准备选择 Workplace Web Content Management 对象用于本地或远程呈现 portlet,这是用户必须具有的最小访问权。如果用户只有活动访问权,或者根本没有访问权,则他们将不能选择 Workplace Web Content Management viewer portlets 中的对象。
当设置 Workplace Web Content Management 对象的访问权时,可以按以下三种方式进行定义。 。
- 用户定义的访问权(User-defined access) 可以被任何具有对象编辑访问权的人添加和删除。如果您不是一名管理员,则只能授予用户定义的访问权。如果对象正在参与工作流,则用户将不能授予用户定义的访问权。
- 系统定义的访问权(System-defined access) 只能由 wcmadmins 组的成员添加和删除。这意味着如果管理员已经授予系统定义的对象访问权,则不是 wcmadmins 组成员的作者将无法移除该访问权。
- 工作流安全性(Workflow security) 是对象从所处的工作流阶段接收的访问级别。如果对象正在参与工作流,它将从当前工作流阶段获得其访问权。注意,如果对象正在参与工作流,用户定义的访问权将不可用。这意味着只有 Workplace Web Content Management 管理员组的成员将能够授予对内容的附加访问权。
不管如何分配,定义访问权的最终结果是相同的。如果您被分配对象的读访问权,则如果您已经从用户定义的安全性、系统定义的安全性和工作流安全性接收了该访问权,您将具有对象的读访问权。
在工作流阶段,您定义了在工作流的该阶段谁具有对文档的访问权。您授予的访问权只适用于该特定工作流阶段的对象。使用工作流阶段中不同级别的访问权,您可以控制在工作流的特定阶段谁具有编辑内容的能力。
例如,假设某个工作流具有三个阶段:Draft、Approve 和 Publish。您可以在 Draft 阶段为 Content_Creators 组授予删除访问权,但在 Approve 和 Publish 阶段只能授予读访问权。这意味着该组的成员在 Draft 阶段可以编辑和删除对象,但对象转移到 Approve 和 Publish 阶段后,他们就不能再做任何更改了。这就是工作流安全性设置的主要原理。管理员总体控制哪个用户对哪个特定对象具有哪种访问权,以及在工作流的哪个阶段用户将具有该访问权。
工作流安全性具有与前述相同的访问级别:活动(live)、读(read)、编辑(edit)和删除(delete)。它还具有一个新的访问级别:批准(approve)。批准访问权主要用于确定谁能够将对象从他们具有批准访问权的阶段移入工作流的下一个阶段。例如,如果对象处于 Draft 阶段,用户必须被授予 Draft 阶段的批准访问权,才能批准对象移入下一个阶段。
这里将简要提一下涉及 Workplace Web Content Management 安全性的两个特例。首先,任何 Workplace Web Content Management administrators (wcmadmins) 组的成员始终具有对 Workplace Web Content Management 对象的完整访问权。这意味着即使用户未授予针对特定对象的特定安全权限,如果他们是 wcmadmins 组的成员,他们仍将具有完全访问权。
另外,如果对象已经指定匿名 WebSphere Portal 用户有权访问它,这并不意味着任何经过验证的 WebSphere Portal 用户也将具有对该对象的访问权。例如,如果您授予匿名 WebSphere Portal 用户对某个对象具有活动访问权,任何登录的用户将不会自动具有对该对象的活动访问权。例如,如果您正在使用具有远程呈现 portlet 的 LTPA 身份验证,在您登录之后,它将不能正常工作。为处理这一点,应该将访问权授予 [all users],它对应于所有经过验证的 WebSphere Portal 用户以及匿名用户。
本文介绍了 Workplace Web Content Management 的安全性。希望本文能对您有所帮助。使用本文学到的内容,您可以更好地管理所有 Workplace Web Content Management 内容的安全性,确保正确的用户(也只有这些用户)具有对公司数据的正确访问权。
学习
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文。
-
developerWorks Lotus 文章 "了解 IBM Workplace Web Content Management 中的内容存储库和索引" 讨论了该产品的两个关键组件,即内容存储库和相关的索引。
-
文章 "Lotus Workplace Web Content Management API 简介" 演示了如何使用 Lotus Workplace Web Content Management API 构建 Java 应用程序。
-
文章 "Implementing a globalization solution with IBM Lotus Workplace Web Content Management" 解释了如何使用 Workplace Web Content Management 快速构建一个简单的全球化 Web 站点。
-
参考 WebSphere Portal Information Center,获得有关如何共享两个 WebSphere Portal 服务器之间 LTPA 标记的信息。
讨论
-
通过参与 developerWorks
blogs 加入 developerWorks 社区。