Jason Song
Jason Song
The documentation is [here](https://www.apolloconfig.com/#/zh/development/portal-how-to-implement-user-login-function) and the code is [here](https://github.com/apolloconfig/apollo/blob/master/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/configuration/AuthConfiguration.java#L114). The default spring security auth should work well with the default user data. You may check the server log to see...
assigned to student `武跃航`, see https://summer-ospp.ac.cn/#/org/orgdetail/c4cc2271-6627-4965-a5ec-37d5ac3c0ad8/
@DiegoKrupitza I think this is a good idea and we need someone to take a look and estimate the effort before doing the migration.
The only reason to put the static contents inside apollo portal is to ease the deployment process, so that user doesn't need to start a standalone server to serve those...
是一个不错的建议,不过可能需要从api、服务端设计、界面交互上通盘考虑设计一下。比如`使用非最新配置的实例`可能需要增加更多的信息来区分是实例不在线还是实例更新配置失败
对于敏感配置的处理一直是社区中很热的话题,目前apollo分别提供了[配置查看权限](https://github.com/ctripcorp/apollo/wiki/Apollo%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97#61-%E9%85%8D%E7%BD%AE%E6%9F%A5%E7%9C%8B%E6%9D%83%E9%99%90)、[配置访问秘钥](https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97#1244-%E9%85%8D%E7%BD%AE%E8%AE%BF%E9%97%AE%E7%A7%98%E9%92%A5)来满足对于一般配置私密访问的需求。 不过对数据库密码这类信息,可能确实有需求需要做加密以提供更高的安全级别。 @tangxy 非常感谢你的建议和尝试,下面是我的一些想法,也希望社区中对这块有兴趣的同学也能一起参与讨论。 > 1、在创建APPID时,动态生产一对RSA秘钥,存储在数据库中。 建议秘钥对是分环境的,比如 UAT 环境和 PRO 环境的秘钥对是不同的。 > 2、“添加”,“修改”配置页面增加“加密”选项,如果选择“加密”复选框后,利用“步骤1”中生产appid公钥加密,参考 jasypt 项目以 ENC(xxxxxxxxxxxxx) 包装需要加密后的内容,存储到数据库中。 使用公钥加密没问题,不过`ENC(xxxxx)`的形式是否可能会和其它加密工具有冲突?比如jasypt应该也会尝试去解密形如`ENC(xxxxx)`的配置? > 3、客户端基于“前缀 ENC(” 和 “后缀 )” 来判断是否需要进行额外的解密动作,对于需要解密的内容,每次生成一对RSA“客户端秘钥”。以 “客户端公钥”、“待解密密文“,“APPID” ,"Rnd随机数"为参数构造请求调用Config Server接口进行解密操作。 > 4、Config...
我觉得没必要在apollo侧实现通信加密,因为这个不是配置领域的事情,随着技术的发展,会有更好的方式实现,比如tls, mtls等。 对于配置解密,我觉得在客户端解密比较好,一方面避免了不法分子伪造的问题,另一方面也解耦了客户端和服务端,提高可用性。
@changhr2013 I think one way is to integrate the encrypt/decrypt process into the apollo portal configuration process which needs some careful design. Another way is to leave the encrypt/decrypt process...
@changhr2013 The 2 ways I mentioned both have pros and cons. But I agree with you that it could be a common feature in configuration management systems. So I think...
这些信息描述了应用和环境的信息,不应该是apollo独有的,有实际的场景这些值在同一个应用下会随着组件的不同配置的不一样吗?