0

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

每个 SP 的什么级别的架构被认为是好的实践?我们是否应该为整个部门、每个服务器、每个域、每个应用程序池甚至每个站点都设置一个?

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

4

1 回答 1

2

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

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

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

于 2016-07-08T11:34:03.613 回答