Spring 云数据流本地模式限制和 LDAP 安全性



我正在尝试将Spring Cloud Data Flow(SCDF)设置为在本地模式下运行,以及有多少问题可以帮助我确定它是否适合我的要求。

  1. 尽管建议使用Cloud Foundry,Kubernetes等作为任务执行环境,但我更喜欢在生产环境中运行东西是本地模式,主要是因为我没有很多工作负载,也无法处理所有额外的复杂性。现在,在本地模式下,我是否能够不受限制地运行所有类型的 SCDF 应用程序,即流、作业和任务?文档的某些部分提到只有作业可以在本地模式下运行。

  2. 安全性 - 我希望围绕应用程序的部署和对工具(仪表板)的操作访问进行控制,并且确实看到对带有角色的LDAP的支持作为一种选项,但是使用Cloudfoundry UAA的整个概念,另一种驱动用户管理的产品似乎有点矫枉过正。是否无法使用现有的LDAP服务器配置该工具?在 Github 中的一个 LDAP 问题中找到了以下内容,但不清楚它是否在其 docker 映像中使用 UAA。最坏的情况是,我不介意仪表板是否可以在查看/只读模式下运行。

https://github.com/spring-cloud/spring-cloud-dataflow/issues/2871

如果Spring Cloud Data Flow是一个纯粹的整体应用程序,那么将安全性的各个方面直接集成到应用程序中肯定更容易理解。这就是Spring Cloud Data Flow最初从安全角度开始的方式,因此,Spring Cloud Dataflow的版本<2.0.0支持我们所说的传统安全性

但是,即使在2.0.xSpring Cloud Data Flow之前:

  • 必须与外部平台(如Cloud Foundry)集成
  • 越来越面向微服务(例如,通过使用 Skipper)

因此,出现了2个并行安全架构,一个使用传统安全性,另一个由OAuth2/OpenID Connect驱动。

这开始变得越来越难以维护,2.0.x我们决定专注于OAuth2/OpenID Connect。但是,我们仍然必须支持一组丰富的企业功能,例如角色,LDAP集成等。因此,我们发现开源、生产就绪的CloudFoundry用户帐户和身份验证(UAA)服务器是一个出色的选择。它的LDAP支持和功能实际上超过了Spring Cloud Dataflow<2.0.0提供的功能。

所以是的,为了在本地设置Spring Cloud数据流的安全性,您需要运行UAA。UAA还将提供LDAP支持。从技术上讲,Spring Cloud Data Flow根本不知道LDAP设置。

我希望这能提供有关Spring Cloud Data Flow安全架构如何出现的一些背景。请查看参考文档和前面提到的使用 UAA + LDAP 的 SCDF 安全性示例。如有其他问题,请随时与我们联系!

免责声明:我是该项目的提交者。

从 v2.0 开始,我们委托给 UAA 进行身份验证和授权。关于这个问题有各种各样的文章;一个更全面的研究是关于如何将所有这些在本地组合在一起的端到端示例。您不需要 CF 或 K8s,所有这些都可以在本地运行。我们依靠UAA作为网关,跨所有客户端工具(包括shell,dashboard,RESTful API,CTR等)标准化端到端SSO。

示例:使用 UAA + LDAP 的 SCDF 安全性。如需进一步阅读,请参阅参考指南中的安全部分。

最后,我们不建议将本地安装用于生产安装,但我知道某些工作负载不需要故障情况下应用程序的复原能力和/或可重启性。

最新更新