当前位置: 首页 > 知识库问答 >
问题:

使用Git/Vault的Spring Cloud配置生产环境

空英达
2023-03-14

Spring Boot-2.0.0.m3 Spring Cloud-Finchley.m1

我想知道是否有人在使用数据库存储后端的生产设置中使用了同时支持vault和git的Spring Cloud config server。我使用vault对Spring cloud配置进行了评估,并考虑是使用Oracle JCE加密username/pwd还是vault,并寻求有关建议。我们正在开发SpringBoot/MicroServices。

以下是我的发现-

>

  • Vault将引入一个额外的层,因此将引入安全性的额外用途,即在与Vault通信时进行审计。

    Spring cloud Config actuatorendpoint在这一点上被打破,用于生成加密值,如果我们使用Oracle JCE支持,/encrypt/decrypt可能无法工作,因此我们通过稳定的版本生成加密值。

    以下是我的一些观察,如果有任何案例研究/白皮书涉及生产微服务环境中spring cloud config vault的用法、设置和挑战,请分享您的想法。

    谢谢

  • 共有1个答案

    狄彬彬
    2023-03-14

    谢谢你来找我。我认为应用程序角色后端使用两个不同的令牌,实际上spring-cloud-config-vault确实支持此功能,请参见:http://cloud.spring.io/spring-cloud-vault/single/spring-cloud-vault.html#_approle_authentication。根据文档,我使用vault的方式与使用config server的方式相同。我不加密配置中的任何值,我只是不把它们放在那里。我把秘密值放在vault中,让它为配置服务。只要键不碰撞,您就不必乱来,否则您可能需要调整优先级以便vault获胜,再次参见我上面提到的文档。我个人不会在spring-cloud-config中搞乱加密/解密。因为您必须将密钥签入SCM或将它们分发到您的团队进行本地开发,所以您失去了IMO拥有这些密钥的价值。

     类似资料:
    • 我一直在修补Spring Cloud配置,但有一个用例,其中配置属性分为两种类型: > 非机密值,开发人员应该能够查看和维护这些值。JDBC的URL等) 秘密值,只能由具有特殊访问权限(如密码)的指定人员查看和维护 因此,我对“复合环境存储库”的支持非常感兴趣,它目前在快照版本中可用。我似乎可以将Git用于开发人员管理的属性,将Vault用于机密属性,并对其进行配置,以便在发生冲突时Vault始终

    • 只要遵循默认设置,如http、localhost和8200,存储库endpoint和tls_disable=1关闭SSL,一切都可以正常工作。然而,对于任何实际环境来说,这些都不是实用的设置,而且很少有任何地方的例子对此有所帮助。有人能提供一个可行的例子吗? 我已经成功地设置了启用TLS的保险库。我已经成功地设置了一个配置服务器,该服务器使用自签名证书进行连接。我甚至可以将一个秘密值注入配置服务器

    • 引言 Sentinel 目前已可用于生产环境,除了阿里巴巴以外,也有很多企业在生产环境中广泛使用 Sentinel。 生产环境的 Sentinel Dashboard 需要具备下面几个特性: 规则管理及推送,集中管理和推送规则。sentinel-core 提供 API 和扩展接口来接收信息。开发者需要根据自己的环境,选取一个可靠的推送规则方式;同时,规则最好在控制台中集中管理。 监控,支持可靠、快

    • 主要内容:用户信息,文本编辑器,检查配置信息,获取帮助,以下是纠正/补充内容:假设经过上一篇文章的学习,你已经在系统上安装了 Git,那么现在要做几件事来配置/定制 Git 环境。每台计算机上只需要配置一次,程序升级时会保留配置信息。可以在任何时候再次通过运行命令来修改它们。 注: 如果还没有安装 Git,请参考:http://www.yiibai.com/git/git_environment.html Git 自带一个 的工具来帮助设置控制 Git 外观和行为的配置变量

    • Kibana 的配置很大程度上依赖于您的使用场景。如果只有自己使用,可以在自己的机器上运行 Kibana,配置它指向任何您想要交互的 Elasticsearch 实例。相反,如果有大量的 Kibana 使用者,需要多个 Kibana 实例连接至同一个 Elasticsearch 节点,来保证负载均衡。 尽管 Kibana 不是非常耗费资源,我们仍然建议运行 Kibana 的节点和 Elastics

    • 目标 建立一个lesson3项目,解决上一节lesson2遗留下来的—即开发环境打包到生产环境的问题。 知识点 1、process.env.NODE_ENV:node运行环境变量。 课程内容 process.env.NODE_ENV是node运行时的全局变量,node服务端中的任一js文件中都可以拿到它的值,先来试试是否真的能获取到值 先新建一个lesson3的项目,再创建一个test.js文件