七、最佳实践

7.1 安全相关

配置中心作为基础服务,存储着公司非常重要的配置信息,所以安全因素需要大家重点关注,下面列举了一些注意事项供大家参考,也欢迎大家分享自己的实践案例。

7.1.1 认证

建议接入公司统一的身份认证系统,如 SSO、LDAP 等,接入方式可以参考Portal 实现用户登录功能

如果使用Apollo提供的Spring Security简单认证,务必记得要修改超级管理员apollo的密码

7.1.2 授权

Apollo 支持细粒度的权限控制,请务必根据实际情况做好权限控制:

  1. 项目管理员权限
    • Apollo 默认允许所有登录用户创建项目,如果只允许部分用户创建项目,可以开启创建项目权限控制
  2. 配置编辑、发布权限
    • 配置编辑、发布权限支持按环境配置,比如开发环境开发人员可以自行完成配置编辑和发布的过程,但是生产环境发布权限交由测试或运维人员
    • 生产环境建议同时开启发布审核,从而控制一次配置发布只能由一个人修改,另一个人发布,确保配置修改得到充分检查
  3. 配置查看权限
    • 可以指定某个环境只允许项目成员查看私有Namespace的配置,从而避免敏感配置泄露,如生产环境

7.1.3 系统访问

除了用户权限,在系统访问上也需要加以考虑:

  1. apollo-configserviceapollo-adminservice是基于内网可信网络设计的,所以出于安全考虑,禁止apollo-configserviceapollo-adminservice直接暴露在公网
  2. 对敏感配置可以考虑开启访问秘钥,从而只有经过身份验证的客户端才能访问敏感配置
  3. 1.7.1及以上版本可以考虑为apollo-adminservice开启访问控制,从而只有合法的apollo-portal才能访问对应接口,增强安全性