Всем привет и спасибо за чтение.
Я новичок в Консуле. Я читал документацию и некоторое время практиковался, поэтому мне удалось правильно настроить consul на нескольких узлах.
Теперь я хочу включить списки управления доступом, чтобы управлять безопасностью кластера Consul, но я не могу заставить это работать. Я следую этому руководству: https://learn.hashicorp.com/consul/security-networking/production-acls#create-the-agent-policy.
Мой сценарий:
Чего я жду:
Я могу включить ACL на одном Consul Agent, запустив его с помощью следующей команды:
consul agent -server -bootstrap -config-dir = / etc / consul / conf.d / agent.json -data-dir = / tmp / consul / -ui -client = 0.0.0.0
Вот мой файл agent.json:
{
"primary_datacenter": "dc1",
"acl" : {
"enabled": true,
"default_policy": "allow",
"down_policy": "extend-cache"
}
}
Как только Консул запущен, я бегу
# консул acl bootstrap
что дает мне
AccessorID: 3c354e3c-2d1c-24b1-41ce-0645fdd6c3e7
SecretID: 1e026ae6-8902-eae2-6a18-6b0fb36bbed4
Description: Bootstrap Token (Global Management)
Local: false
Create Time: 2019-05-03 12:41:18.038389106 -0300 -03
Policies:
00000000-0000-0000-0000-000000000001 - global-management
Я создаю политику и токен, чтобы разрешить все действия узла:
# consul acl policy create -name "Agent-write-policy" -description "Политика для создания разрешений на запись для агентов" -rules @ agent_write_policy.hcl -token "1e026ae6-8902-eae2-6a18-6b0fb36bbed4"
И
# consul acl token create -description "Agent write token" -policy-name "Agent-write-policy" -token "1e026ae6-8902-eae2-6a18-6b0fb36bbed4"
AccessorID: 7324d2d0-f82f-cea8-44d1-82c2d07cd35a
SecretID: 11dfcacf-7eae-a286-f108-990c1963fb29
Description: Agent write token
Local: false
Create Time: 2019-05-03 12:30:11.292590345 -0300 -03
Policies:
0171cfc2-06f3-6702-9c46-df117eb1bd53 - Agent-write-policy
Затем я перехожу на свой второй серверный узел и запускаю консул
# consul agent -server -data-dir = / tmp / consul -config-dir = / etc / consul / conf.d / agent.json
Мой файл agent.json:
{
"primary_datacenter": "dc1",
"acl" : {
"enabled": true,
"default_policy": "allow",
"down_policy": "extend-cache",
"tokens": {
"default": "11dfcacf-7eae-a286-f108-990c1963fb29"
}
}
}
Подняв второй узел, я бегу
# консул присоединиться 172.20.10.41
Error joining address '172.20.10.41': Unexpected response code: 403 (ACL not found)
Failed to join any nodes.
Я также пробовал добавить -token = "" к команде соединения.
Если я отключу acl на узле 2, я смогу присоединиться к кластеру, но информация об узле / службе не будет синхронизироваться.
2019/05/03 12:35:26 [WARN] agent: Node info update blocked by ACLs
2019/05/03 12:35:51 [WARN] agent: Coordinate update blocked by ACLs
Что я делаю не так?
Может быть, я много чего делаю неправильно. Если у кого-то из вас есть для меня надежное руководство, я буду очень благодарен.
Спасибо за ваше время. (и извините за мой плохой английский)
Приветствую.