Секреты#
Trino управляет деталями конфигурации в статических файлах свойств. Эта конфигурация должна включать значения, такие как имена пользователей, пароли и другие строки, которые часто необходимо хранить в секрете. Только небольшое число администраторов или система развёртывания имеет доступ к фактическому значению.
Поддержка секретов в Trino позволяет использовать переменные окружения в
качестве значений для любого свойства конфигурации. Поддерживаются все файлы
свойств, используемые Trino, включая config.properties и файлы свойств
каталогов. При загрузке свойств Trino заменяет ссылку на переменную окружения
значением этой переменной.
Переменные окружения являются наиболее широко поддерживаемым способом задания и получения значений. Переменные окружения можно задавать в рамках выполняемой задачи, предотвращая внешний доступ. Большинство систем развёртывания и управления конфигурацией поддерживают задание переменных окружения. Это включает такие системы, как Ansible, часто используемую для виртуальных машин, и Kubernetes для использования в контейнерах. Вы также можете вручную задать переменную окружения в командной строке.
export DB_PASSWORD=my-super-secret-pwd
Чтобы использовать эту переменную в файле свойств, ссылайтесь на неё с помощью
синтаксиса ${ENV:VARIABLE}. Например, если вы хотите использовать пароль в
файле свойств каталога, таком как etc/catalog/db.properties, добавьте
следующую строку:
connection-password=${ENV:DB_PASSWORD}
При такой настройке секретом управляет система развёртывания или администраторы, обслуживающие машины. Ни один секрет не хранится в конфигурационных файлах Trino в файловой системе или в любом другом месте их хранения.