Секреты#

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 в файловой системе или в любом другом месте их хранения.