В рабочей области «Хранилища pillar» можно создавать данные pillar, которые сохраняются в SaltStack Config стандартным образом, и управлять этими данными. Pillar — это структуры данных, которые определяются на главном сервере Salt и передаются на один служебный сервер или несколько с помощью целевых объектов. Они позволяют безопасно отправить конфиденциальные целевые данные только соответствующему служебному серверу. Хранилища pillar позволяют ограничивать доступ пользователей к конфиденциальным данным. Например, с помощью хранилища pillar можно разрешить пользователю выполнить задание, для которого требуется проверка подлинности во внешней службе, без доступа к самим учетным данным для проверки подлинности. В этом случае пользователю предоставляется доступ к конкретному заданию и целевому объекту, но не к хранилищу pillar, в котором содержатся конфиденциальные данные для проверки подлинности.

Примечание: В рамках инициативы корпорации VMware по удалению сомнительных терминов термин «Salt master» (главный сервер Salt) будет заменен на более подходящий в системе SaltStack Config, в связанных продуктах и документации. Для обновления терминологии может потребоваться несколько этапов, прежде чем этот процесс будет полностью завершен.

Данные хранилища pillar шифруются в базе данных SaltStack Config и не хранятся в виде обычного текста. Шифрование данных выполняется во время передачи, и сами данные видны только служебным серверам, указанным в параметрах целевых объектов хранилища pillar. Дополнительные сведения о назначении хранилища pillar целевому объекту см. в разделе Назначение хранилища pillar.

Целевым объектом является группа служебных серверов, относящихся к одному главному серверу Salt или нескольким, для которой выполняется команда Salt данного задания. Главным сервером Salt также можно управлять как служебным сервером. Он может быть целевым объектом, если на нем выполняется служба Minion. Служебные серверы (minion) — это узлы, работающие под управлением службы Minion. Они могут прослушивать команды, поступающие с главного сервера (master) Salt, и выполнять запрашиваемые задачи. Дополнительные сведения см. в разделе Служебные серверы.

Данные хранилища pillar могут храниться в одной из следующих областей.

  • Закрытое хранилище pillar в рабочей области «Хранилища pillar»
  • Настройки задания
  • Другие корневые каталоги хранилища pillar на сервере API-интерфейса (RaaS)

Данные хранилища pillar, хранящиеся в задании, являются менее защищенными, чем данные в стандартном хранилище pillar, так как любой пользователь с разрешением на доступ к заданию может также просматривать данные хранилища pillar. Задания используются для выполнения удаленно исполняемых задач, применения состояний и запуска модулей выполнения системы Salt. Более подробную информацию см. в разделе Задания.

Дополнительные сведения о хранилище pillar в Salt см. в разделе Обзор хранилища pillar в Salt.

В рабочей области «Хранилища pillar» можно создавать новые хранилища pillar и назначать их целевым объектам. При назначении хранилища pillar целевому объекту можно также указать необходимость обновления хранилища pillar.

Доступ к рабочей области «Хранилища pillar»

Чтобы использовать рабочую область «Хранилища pillar», выберите Config > Хранилища pillar в боковом меню.

Создание хранилища pillar

Чтобы создать новое хранилище pillar, сделайте следующее.

  1. В рабочей области «Хранилища pillar» нажмите Создать.
  2. Введите данные хранилища pillar в формате JSON и нажмите Сохранить.
Примечание: Имена хранилища pillar не должны быть уникальными. Это может привести к тому, что в веб-консоли будут отображаться разные элементы с одинаковым именем.

Назначение хранилища pillar

Чтобы назначить хранилище pillar конкретному целевому объекту, сделайте следующее.

  1. В рабочей области «Хранилища pillar» выберите хранилище pillar.

  2. Щелкните Обновить целевые объекты.

  3. В диалоговом окне выберите целевые объекты, с которыми необходимо соотнести хранилище pillar.

    В дополнение к выбору целевого объекта нажмите «Обновить хранилище pillar», чтобы хранилище pillar было немедленно доступно для выбранного целевого объекта.

  4. Нажмите Сохранить.

Теперь данные хранилища pillar доступны всем служебным серверам в выбранном целевом объекте.

Примечание: Хранилище pillar также можно назначить целевому объекту в рабочей области «Служебные серверы». См. раздел Служебные серверы.

Хранилища pillar и целевой объект «Все служебные серверы»

Целевой объект «Все служебные серверы» доступен только для чтения. Ему нельзя назначить данные хранилища pillar. Чтобы назначить данные хранилища pillar всем служебным серверам, создайте новый целевой объект, который соответствует всем служебным серверам (*). Дополнительные сведения см. в разделе Служебные серверы.

Приоритет значений

Если в нескольких источниках определены одни и те же данные хранилища pillar, SaltStack Config выбирает данные для применения в следующем порядке приоритетов.

  1. Значения, переданные непосредственно в рамках задания
  2. Значения в пользовательском интерфейсе SaltStack Config (в рабочей области «Хранилища pillar»)
  3. Значения в других корневых каталогах хранилища pillar

Чтобы изменить этот порядок, настройте порядок каталогов pillar_roots в конфигурации главного сервера Salt.

Формат данных хранилища pillar

Внешние данные хранилища pillar должны быть в формате JSON. В настоящее время YAML не поддерживается.

Зависимости хранилища pillar

Файлы

Данные хранилища pillar можно использовать для передачи данных в состояния, средства реагирования и другие типы файлов. При создании или обновлении данных хранилища pillar также обязательно обновите ссылки на хранилище во всех соответствующих файлах. См. раздел Файловый сервер.

Целевые объекты

Данные хранилища pillar, присоединенные к целевому объекту, используются при выполнении связанных заданий с целевым объектом. При обновлении данных хранилища pillar также обязательно обновите хранилище pillar в связанных целевых объектах. См. раздел Назначение хранилища pillar.