Active Directory 与 Sitecore 安全提供商

Active Directory vs Sitecore Security Provider

我们公司开始为我们的网站实施 Sitecore。我们正处于发现阶段并正在评估 Active Directory 模块。我们有 40-50 名用户将使用 Sitecore,还有超过 100 名用户将在 Sitecore 上使用一些定制的应用程序。

我们聘请的顾问要求我们不要使用 Active Directory,因为只有 40-50 位用户会使用它。另一方面,我认为从长远来看,使用 Active Directory 模块会很有用。

你们有什么意见吗?推荐的做法是什么?

谢谢

这实际上取决于您希望如何管理 CMS 用户。 AD 模块将这些用户作为用户冒泡到 CMS 中,从而公开他们以供登录。你甚至可以用 groups/units 做同样的事情。这里的优势是,如果新人加入您的组织,如果您将他们添加到 OU 或分配到具有 Sitecore 访问权限的组,那么他们将获得对 Sitecore 的访问权限。

另一方面,如果您希望 Sitecore 成为拥有自己的用户配置文件和登录名的独立实体,它可以在没有 AD 连接的孤岛中做到这一点

对于CMS来说,用户实际认证的地方没有区别,因为你select的提供者是低级别的。所以最终的决定更多的是治理/IT/流程决策,因为实际上没有功能差异。

我对你的建议是提出场景或用例,并在这两种场景中仔细考虑。例如,您雇用了 10 名需要作者访问权限的人员。使用 AD 模块,您只需将它们分配给继承 Sitecore 中作者角色的 OU 或组即可。

我不认为用户数量应该是决定是否集成 AD 的唯一原因,也不应该是因为您可能需要也可能不需要它 运行。我会说与 AD 集成,因为它有最明显的好处

  1. 单一用户名和密码
  2. 更好的安全性
  3. 易于维护

尽管当您需要创建数千个用户并为他们设置授权时,用户数量成为重要的决定因素。

在 sitecore 中手动创建和维护用户的最常见原因是您需要主要为营销团队创建少数作者和批准者帐户。但是,如果您预见到实施成员资格或需要根据现有用户和组策略提供访问和授权,那么请进行 AD 集成。

我现在已经实施了几次 Active Directory 模块,当您希望用户能够通过 SSO 进入创作界面并管理您在 Active Directory 中的安全访问时,它非常有效。如果您在 Sitecore 上构建类似于 Intranet 应用程序的东西,您也可以很好地使用它来执行最终用户 SSO。

从安全管理的角度来看,这对组织来说变得更容易了,也让您不必担心必须在不同环境(开发、测试、生产)之间复制用户。

也就是说,使用 Active Directory 模块会产生性能开销,如果您仅使用本机 Sitecore 安全提供程序则不会出现这种情况。根据您的用户数量,您可能不会看到任何差异,但是对于具有复杂组成员身份的非常大的 AD 目录,如果您使用间接成员身份(即组中组),您可能 运行 会遇到性能问题。

示例场景:

  1. Sitecore 中的内容项受角色 MyDomain\SuperAuthor
  2. 保护
  3. 用户A直接是MyDomain\SuperAuthor
  4. 的成员
  5. 用户 B 是 MyDomain\SuperUser
  6. 的成员
  7. MyDomain\SuperUser 组是 MyDomain\SuperAuthor
  8. 的成员

如果您使用 Sitecore 安全提供程序,解析用户 B 的访问非常有效。 Sitecore 能够使用系统内的角色快速检查间接成员资格。

如果您使用 Active Directory 模块,默认情况下禁用间接成员资格。只有用户 A 可以访问。如果您更改配置设置以启用间接成员资格,则该模块将允许用户 B 访问,但是您将开始看到该方案的性能变慢。

然而,正如我之前提到的,如果 Active Directory 对于被拉入 Sitecore 的内容不是很复杂,您应该没问题,并且可能不会注意到这些性能影响。