我正在尝试将Spring Cloud Data Flow(SCDF)设置为在本地模式下运行,有几个问题可以帮助我确定其是否适合我的需求。
尽管建议将Cloud Foundry,Kubernetes等用作任务执行环境,但我偏爱在生产环境中运行事物是本地模式,这主要是因为我没有太多的工作量并且无法处理所有其他工作复杂。现在,在本地模式下,我将能够不受限制地运行所有类型的SCDF应用程序,即流,作业和任务?该文档的某些部分提到只能在本地模式下运行作业。
安全性-我希望围绕应用程序的部署和对该工具的操作访问(仪表板)放置控件,并且确实看到了对LDAP的支持(可以选择角色),但可以使用Cloudfoundry UAA的整个概念,另一种驱动用户管理的产品似乎过大了。无法使用现有的LDAP服务器配置工具吗?在Github中的LDAP问题之一中发现了以下内容,但不清楚是否在其docker映像中使用UAA。最糟糕的情况是,我不会介意仪表板是否可以以查看/只读模式运行。
https://github.com/spring-cloud/spring-cloud-dataflow/issues/2871
答案 0 :(得分:2)
如果Spring Cloud Data Flow是纯粹的单片应用程序,那么将安全性的各个方面直接集成到应用程序中肯定会更容易使人心动。这就是Spring Cloud Data Flow最初从安全性角度出发的方式,因此,Spring Cloud Dataflow <2.0.0
的版本支持我们标记为传统安全性的东西。
但是,甚至在2.0.x
Spring Cloud数据流之前:
结果,出现了2种并行安全体系结构,一种使用传统安全性,另一种由OAuth2 / OpenID Connect驱动。
这变得越来越难以维护,对于2.0.x
,我们决定专门关注OAuth2 / OpenID Connect。但是,我们仍然必须支持一组丰富的企业功能,例如角色,LDAP集成等。因此,我们发现开放源代码,可用于生产的CloudFoundry User Account and Authentication (UAA) Server是一个不错的选择。其LDAP支持和功能实际上超过了Spring Cloud Dataflow <2.0.0
提供的功能。
是的,为了在本地设置Spring Cloud Data Flow的安全性,您需要运行UAA。 UAA也将提供LDAP支持。从技术上讲,Spring Cloud Data Flow完全不了解LDAP设置。
我希望这提供有关Spring Cloud Data Flow安全架构如何出现的背景知识。请查看参考文档和前面提到的SCDF Security with UAA + LDAP example。如有其他问题,请随时与我们联系!
免责声明:我是该项目的提交人。
答案 1 :(得分:0)
从v2.0开始,我们委托给UAA进行身份验证和授权。关于这个问题有各种各样的文章;一个更全面的例子是如何将所有这些都可以在本地组合在一起的端到端示例。您不需要CF或K8,所有这些都可以在本地运行。我们依靠UAA作为网关来标准化所有客户端工具(包括外壳,仪表板,RESTful API,CTR等)的端到端SSO,
示例:SCDF Security with UAA + LDAP。要进一步阅读,请参考参考文献中的security section。指南。
最后,我们不建议在生产安装中使用“本地”,但我了解某些情况下,在故障情况下应用的弹性和/或可重启性并不是必需的。