SSO SAML SP - 一个 SP 覆盖多少个网站?

SSO SAML SP - How many websites to cover under one SP?

我正在尝试实施 saml 服务提供商,但我不确定单个 SP 可以覆盖哪个级别的系统。

每个 SP 的哪个级别的架构被认为是好的做法?我们是否应该为我们的整个部门、每个服务器、每个域、每个应用程序池甚至每个站点配备一个?

我们的组织有一个 shibboleth IDP,我正在使用 kentor authservices。它适用于一个站点,但 sp 是该站点的一部分。 假设最佳实践不是每个站点一个,如果有人暗示如何最好地使它更通用(即多个站点的一个 entityid),我们将不胜感激。

您需要以某种方式获取每个 site/application 中的登录信息。您可以为每个站点使用一个 SP(这是 Kentor.AuthServices 方法),或者您在 Web 应用程序前面设置一个 Shibboleth SP 代理。后者意味着您必须向每个站点添加代码以解析 Shibboleth 提供的 http headers。我不喜欢这种方法 - 这就是我启动 Kentor.AuthServices 项目的原因。

因此,我的偏好是让每个站点都成为适当的 SP,通过一个尽可能原生的模块用于 Web 应用程序框架。可能相关的模块是 Kentor.AuthServices (.NET)、SimpleSamlPhp、Spring (Java)、saml2-js (node).

如果您的组织有多个 sites/applications 您想要与多个上游身份提供者联合,您将获得 NxM 对配置,这是不可扩展的。在这种情况下,一个选项是插入一个 SAML2 proxy,它充当内部应用程序的 Idp 和外部 Idps 的 SP。新的sites/applications只需要在代理中配置,新的外部Idps只需要在代理中配置。