核心内容摘要
刘亦菲大战黑金刚
HoRain 云小助手个人主页⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。
点击跳转到网站。
目录⛳️ 推荐Docker创建Consul并添加权限控制完整指南
创建Consul容器
启用ACL系统权限控制
访问Consul UI
创建ACL策略
保存策略
创建ACL令牌
使用ACL令牌
通过API使用令牌
在应用程序中使用
通过环境变量设置推荐
生产环境配置建议
多节点集群配置
持久化数据
配置文件方式
常见ACL策略示例
只读访问策略
服务注册策略
完整管理策略
验证权限控制
安全最佳实践Docker创建Consul并添加权限控制完整指南
创建Consul容器首先使用Docker命令创建并启动Consul服务器实例docker run -d -p 8500:8500 --nameconsul consul agent -server -bootstrap -ui -client
0.
0.
0参数说明-d后台运行-p 8500:8500将容器的8500端口映射到宿主机--nameconsul指定容器名称agent -server以服务器模式运行-bootstrap单节点引导模式仅用于开发/测试-ui启用Web UI界面-client
0.
0.
0允许所有IP访问
启用ACL系统权限控制
访问Consul UI打开浏览器访问http://localhost:
创建ACL策略在Consul UI界面中点击左侧菜单的ACL点击Create ACL按钮输入策略名称和描述在Rules字段中定义权限规则示例创建只读策略{ Key: { : { Policy: read } } }示例创建读写策略{ Key: { : { Policy: write } }, Service: { : { Policy: write } } }
保存策略点击Save ACL按钮保存创建的策略
创建ACL令牌在ACL菜单中点击Create ACL Token按钮选择刚刚创建的策略点击Save ACL按钮生成令牌重要复制并保存生成的令牌只显示一次
使用ACL令牌
通过API使用令牌curl -H X-Consul-Token: your-token http://localhost:8500/v1/kv/mykey
在应用程序中使用在配置文件中添加令牌{ acl_token: your-token }
通过环境变量设置推荐docker run -d -p 8500:8500 \ -e CONSUL_LOCAL_CONFIG{acl: {enabled: true, default_policy: deny, enable_token_persistence: true}} \ --nameconsul consul agent -server -bootstrap -ui -client
0.
0.
0
生产环境配置建议
多节点集群配置# 服务器节点 docker run -d --nameconsul-server \ -p 8500:8500 \ consul agent -server -bootstrap-expect3 -ui -client
0.
0.
0 # 客户端节点 docker run -d --nameconsul-client \ consul agent -retry-joinserver-ip
持久化数据docker run -d -p 8500:8500 \ -v /path/to/data:/consul/data \ --nameconsul consul agent -server -bootstrap -ui -client
0.
0.
0.
配置文件方式创建consul.json{ acl: { enabled: true, default_policy: deny, down_policy: extend-cache, enable_token_persistence: true }, datacenter: dc1, data_dir: /consul/data, log_level: INFO }启动容器docker run -d -p 8500:8500 \ -v $(pwd)/consul.json:/consul/config/consul.json \ --nameconsul consul agent -server -bootstrap -ui -client
0.
0.
0
常见ACL策略示例
只读访问策略{ key_prefix: { : { policy: read } }, node_prefix: { : { policy: read } }, service_prefix: { : { policy: read } } }
服务注册策略{ service: { web: { policy: write } }, agent_prefix: { : { policy: write } } }
完整管理策略{ key_prefix: { : { policy: write } }, node_prefix: { : { policy: write } }, service_prefix: { : { policy: write } }, session_prefix: { : { policy: write } }, acl: write }
验证权限控制# 测试无令牌访问应被拒绝 curl http://localhost:8500/v1/kv/test # 测试有令牌访问应成功 curl -H X-Consul-Token: your-token http://localhost:8500/v1/kv/test
安全最佳实践定期轮换令牌定期更新ACL令牌最小权限原则为每个应用分配最小必要权限启用TLS生产环境启用HTTPS加密网络隔离使用Docker网络隔离Consul服务审计日志启用并定期检查审计日志通过以上步骤你就可以在Docker中成功创建Consul并实现完善的权限控制确保服务注册与发现的安全性。
❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧