【发布时间】:2017-01-31 21:44:27
【问题描述】:
TLTR 如何将0.8之前的ACL权限迁移到0.7.3?
当前设置 我目前正在运行启用 ACL 的 Consul 0.7.3 堆栈。
在 Consul 0.8 中,ACL 最终还将包括服务和节点,因此节点/服务(Consul)不再显示给匿名用户。这正是我所需要的。今天我尝试使用https://www.consul.io/docs/agent/options.html#acl_enforce_version_8启用新的ACL“pre 0.8”
这样做之后,我的节点无法再针对主节点进行身份验证(如果身份验证是根本问题的话)。
我在启用 gossip 的情况下运行 consul-network,我已经配置了 acl_master_token:
"{acl_master_token":"<token>}"
以及代理的令牌:
"{acl_token":"<token>}"
所有代理使用/配置的。
我有这些 ACL 默认值:
{
"acl_datacenter": "stable",
"acl_default_policy": "deny",
"acl_down_policy": "deny"
}
我的 Consul 配置如下所示:
{
"datacenter": "stable",
"data_dir": "/consul/data",
"ui": true,
"dns_config": {
"allow_stale": false
},
"log_level": "INFO",
"node_name": "dwconsul",
"client_addr" : "0.0.0.0",
"server": true,
"bootstrap": true,
"acl_enforce_version_8": true
}
会发生什么 当我启动时,我根本看不到我的节点/服务使用我的令牌,节点/代理都无法在主服务器上注册,
问题 获得以下内容究竟需要什么:
- 所有代理都可以看到所有节点和所有服务以及所有 KV
- 匿名者什么都看不到,KV、服务或节点都看不到(这就是 0.8 所能做到的)
我查看了https://www.consul.io/docs/internals/acl.html“Consul 0.8 中的 ACL 更改”,但我无法理解它。我现在应该使用 https://www.consul.io/docs/agent/options.html#acl_agent_master_token 而不是 acl_token 吗?
感谢您的帮助。我想我不会是这条迁移路径和这种特殊兴趣的唯一人,很多人对此感兴趣。你帮助他们所有人:)
【问题讨论】: