Я хочу использовать Консул для Обнаружения Услуг и в качестве Распределенной Конфигурации для моих микросервисов. Без какой-либо защиты моя система работает нормально, но я не хочу, чтобы каждый пользователь мог изменять значения в хранилище значений ключей. Поэтому я попытался ввести защиту с помощью ACL Консула, но теперь мои службы больше не могут регистрироваться.
Я установил политику по умолчанию в своей конфигурации HCL на «deny» и попытался установить политику записи для каждой службы, чтобы они могли зарегистрироваться в Consul и политику чтения для хранилища ключей-значений, поэтому значения могут только читать через пользовательский интерфейс. Но мои услуги получают 403 во время регистрации.
agent.hcl
service_prefix "" {
policy = "write"
}
key_prefix "" {
policy = "read"
}
консул policy.hcl
service_prefix "" {
policy = "write"
}
key_prefix "" {
policy = "read"
}
Я запустил сервер с:
consul agent -config-file agent.hcl -dev
И добавил политику (после получения и установки токена ACL):
consul acl policy create -name consul-server-one -rules @consul-policy.hcl
- Как определить политику только для чтения для хранилища значений ключей в пользовательском интерфейсе и политику записи для служб?
- Можно ли запустить Consul с конфигурацией ACL (вместо доставки после процесса запуска)?
- Какие ресурсы ACL подходят для моей проблемы? Являются ли service_prefix и key_prefix правильным выбором?