【问题标题】:micro services authentication using SAML and Identity Provider使用 SAML 和身份提供者的微服务身份验证
【发布时间】:2016-10-24 07:24:09
【问题描述】:

我们正在为我们的领域开发微服务。

我们需要使用 SAML 保护微服务。

我通读了 SAML 文档,发现有一个身份提供者,我们已经向其注册了我们的应用程序 (SP),而且我们应该连接到 IdP 以进行身份​​验证。我知道我们需要在他们之间建立信任或联盟。

我尝试使用提供的示例应用程序使用 Spring Security SAML 扩展和 SSOCircle.com 作为 IdP 进行身份验证。我能够成功地进行相应的身份验证。

我的问题是,在微服务架构中,我们有多个服务。由于它不是一个整体,我们不能只将一个服务作为 SP 添加到 IdP。

这意味着我所说的每个微服务,员工、部门、销售等也应该作为单独的 SP 应用程序添加到 IdP 中。

我不确定这是否有意义或是否真的可行。

如果有人从事过类似的架构/开发,请提供您对从身份验证角度处理微服务安全性的最佳方法的想法。

谢谢, 技术员

【问题讨论】:

    标签: single-sign-on saml spring-saml siteminder


    【解决方案1】:

    两种方法:

    1. 如您所说,将每个微服务配置为 SP,每个 SP 与 IdP 对话以进行 SAML 身份验证。
      • 如果每个微服务的用户、组和角色集与其他微服务不同,这是合适的。
      • 可能有多个 SP,需要管理员维护。
    2. 将所有微服务整合并配置到您域中的单个 SP(可能使用反向代理 Web 服务器或访问管理器),并且该单个 SP 与 IdP 对话以进行 SAML 身份验证。
      • 如果所有微服务都具有相同的用户、组和角色集,这是合适的。
      • 管理员可能只需要维护一个 SP。

    【讨论】:

    • 感谢您的回复。是的,所有微服务都有相同的用户集,但可能有不同的组和角色。我也觉得拥有一个单一的 SP 应该是前进的方向。但是,我不确定我们如何使用 IdP 为与域相关的所有服务配置单个 SP。我正在使用 public IdP ssocircle.com 通过上传来添加服务元数据,该元数据在服务启动时生成。您能否告诉我如何将服务分组到单个域中并将其添加到 IdP。
    • 简单的解决方案是,使用反向代理 Web 服务器(如 Apache 反向代理或 Nginx)。 (1)。在反向代理的配置或策略文件中添加所有微服务端点。 (2)。集成反向代理(使用 SAML 模块)和您的 SAML-SP 服务器进行通话。 (3)。现在所有服务都受到保护,并将通过 IdP 的 SAML 身份验证。有关如何实现上述方法,请进一步参考反向代理 Web 服务器(如 Apache 反向代理或 Nginx)。
    猜你喜欢
    • 2021-03-22
    • 2019-08-02
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    相关资源
    最近更新 更多