Как создать консоль ACL, которая разрешает доступ к kv-группе только по токену?
Я пытаюсь понять систему ACL Консула, и кажется невозможным создать ACL, который разрешает доступ к некоторому ключу только по токену с политикой по умолчанию "allow":
user@server01:~$ cat /etc/consul/conf.d/acl.json
{
"acl_datacenter": "dc-example-com",
"acl_master_token": "00000000-1111-2222-3333-444444444444",
"acl_default_policy": "allow",
"acl_down_policy": "allow"
}
Я создал клиентское правило в правилах ACL:
key "group1/" {
policy = "write"
}
Я хочу, чтобы консул разрешил записи в v1/kv/group1/* только через токен, полученный по моему новому правилу.
Трудно просто изменить default_policy, чтобы отрицать, потому что это производство.
1 ответ
Решение
Похоже, я нашел обходной путь:
Anonymous token:
key "group1/" {
policy = "deny"
}
acl_group1_allow:
key "group1/" {
policy = "write"
}
Да, насколько я знаю, вы можете создать политику по умолчанию (для всех) - "запретить", а для существующих групп - "разрешить", и члены этих групп получат доступ в соответствии с ACL этой группы.