Две строки — адрес и токен — и с этого момента узел умеет читать секреты из внешнего хранилища вместо своих файлов.
Что можно туда унести. Ключи подписи (domain-key), сертификат для приёма почты и пароль к его закрытому ключу (smtp-server-tls-certificate), а также проверку пароля подачи через LDAP (authentication-method со значением {vault}:ldap).
Ссылка записывается прямо в директиве — вместо пути пишется {vault}:путь/ключ. Конфигурация при этом остаётся читаемой: в ней видно, откуда берётся секрет, но не сам секрет.
Блок один на узел. Двух хранилищ быть не может.
Токен создаётся вручную на стороне Vault и в конфигурации лежит открытым текстом — то есть один секрет всё-таки остаётся на узле, но один вместо многих, и отзывается он в одном месте.
# адрес и токен — всё, что нужно для подключения <vault> server-url https://myvault:4500 access-token akhdfasdhf786282684734kjsdhf </vault> # дальше секреты берутся ссылкой вместо пути smtp-server-tls-certificate {vault}:/v1/kv/data/tlsCerts:smtp-cert
0 связей
Закрыть права на файлы конфигурацииСпособ убрать ключи из файла вовсе — оставить в конфигурации ссылку, а не сам ключ. § 1.6.3smtp-server-tls-certificateGlobalИ сертификат, и пароль к нему можно держать не файлом, а в хранилище секретов. § 3.3.1.10domain-keyGlobalКлюч может лежать не на диске, а в хранилище секретов. Тогда вместо пути пишется ссылка, в том числе с подстановкой селектора и домена. § 3.3.1.55.1authentication-method<smtp-user>Проверка пароля через LDAP идёт через хранилище секретов — без объявленного блока она недоступна. § 3.3.8.2
2 статьи
◇Как узел подписывает письма и выбирает ключКлюч выбирается по домену отправки из заголовков, перебором объявлений сверху вниз.◇Секреты во внешнем хранилищеКлючи подписи можно держать в HashiCorp Vault: в конфигурации остаётся путь, MTA берёт ключ по HTTP и держит в памяти, не записывая на диск.