我试图实施一个saml服务提供商,但我不确定用一个SP覆盖什么级别的系统。
每个SP的架构级别被认为是一种良好的做法?我们应该为整个部门,每台服务器,每个域,每个应用程序池甚至每个站点都有一个吗?
我们的组织有一个shibboleth IDP,我正在使用kentor authservices。它在一个站点工作,但sp是该站点的一部分。 假设最佳实践并非每个站点都有一个,如果有人提示如何最好地使其更通用(即多个站点的一个实体),那将是值得赞赏的。
答案 0 :(得分:2)
不知何故,您需要将登录信息存入每个站点/应用程序。您可以在每个站点使用SP(这是Kentor.AuthServices方法),也可以在Web应用程序前设置Shibboleth SP代理。后者意味着您必须向每个站点添加代码以解析Shibboleth提供的http标头。我不喜欢这种方法 - 这就是我开始使用Kentor.AuthServices项目的原因。
所以,我的偏好是通过一个尽可能为Web应用程序框架本地的模块使每个站点成为一个合适的SP。可能相关的模块是Kentor.AuthServices(.NET),SimpleSamlPhp,Spring(Java),saml2-js(节点)。
如果您的组织有多个站点/应用程序要与多个上游身份提供程序联合,您将获得NxM配置对,这是不可扩展的。在这种情况下,一个选项是将作为Idp的SAML2 代理插入内部应用程序,并将SP作为外部Idps。只需在代理中配置新站点/应用程序,只需在代理中配置新的外部Idps。