Благодаря системе контроля доступа на основе ролей (RBAC) в SaltStack Config можно определить настройки разрешений сразу для нескольких пользователей, так как эти настройки для роли применяются ко всем пользователям в рамках данной роли. Эти настройки можно определить в рабочей области «Роли» в пользовательском интерфейсе.

SaltStack Config содержит множество встроенных ролей, которые нельзя удалить.
  • «Пользователь». Это стандартная роль, которая назначается всем новым локальным пользователям, пользователям, применяющим систему единого входа и LDAP. Роль «Пользователь» предусматривает базовые разрешения (например, доступ для чтения), которые необходимы для выполнения множества основных функций. Пользователи с этой ролью могут просматривать и выполнять задания, а также просматривать историю заданий, возвращенные результаты и отчеты для отдельных служебных серверов и типов заданий в рамках ограничений доступа к ресурсам для этой роли.
  • «Администратор». Этой роли требуется доступ к более широкому диапазону средств, чем роли пользователя, для выполнения функций системного администрирования. Администраторы могут просматривать (а в некоторых случаях изменять) конфиденциальные данные в настройках пользователя и в модулях pillar. Обладатели этой роли могут создавать, обновлять и удалять такие ресурсы, как файлы, задания и целевые объекты. При настройке новых узлов администраторы также могут по мере необходимости управлять ключами.
  • «Привилегированный пользователь». Привилегированные пользователи могут выполнять любые операции в SaltStack Config, включая функции системного администрирования. Для роли привилегированного пользователя назначается право доступа root. Роль нельзя удалить или клонировать. Роль можно назначить любому пользователю или группе, но изменить какие-либо настройки роли нельзя. На роль привилегированного пользователя следует назначать только опытных пользователей, поскольку она позволяет фактически выходить за границы разрешений.

Кроме того, при необходимости можно создать специальные настраиваемые роли для организации.

Для предоставления обладателю роли разрешения на выполнение задачи необходимо определить разрешенную задачу, а также назначить доступ к ресурсу или функциональной области. Разрешение представляет собой широкую категорию допустимых действий, тогда как доступ к ресурсам позволяет определить конкретный ресурс (например, задание или целевой объект), для которого можно выполнить заданное действие.

Доступ к ресурсам для некоторых типов ресурсов и функциональных областей следует определять в API-интерфейсе (RaaS), а не в редакторе ролей.

После создания роли ее можно клонировать, назначить разрешенные задачи и назначить доступ к заданию или целевому объекту.

Чтобы определить роли для элементов контроля доступа на основе ролей (RBAC) в SaltStack Config, необходимо определить разрешенную задачу, а также назначить доступ к ресурсам. Задача — это отдельная операция, которая может быть выполнена в пользовательском интерфейсе, например создание, редактирование или выполнение задания. Ресурс — это элемент среды, например конкретные главные серверы, служебные серверы, целевые объекты, данные файла и т. д.

Разрешенная задача представляет собой широкую категорию разрешаемых действий, в то время как доступ к ресурсам является более подробным свойством, с помощью которого можно указать ресурс (например, задание или целевой объект), для которого можно выполнить действие.


Схема, на которой показана связь между задачами и ресурсами в SaltStack Config

В этом примере роль может выполнить команду test.ping в целевой группе Linux со следующими параметрами разрешений.

  • Доступ «Чтение» к целевому объекту Linux
  • Доступ «Чтение /выполнение» к заданию, которое содержит команду test.ping

Схема, на которой показана связь между доступом к задаче и ресурсу для команды test.ping.

Задачи

На вкладке Задачи можно активировать следующие задачи.

Задача

Описание

Создание и удаление новых целевых объектов

Роль может создавать новые целевые объекты. Пользователи, назначенные этой роли, могут редактировать и удалять созданные пользователями целевые объекты или другие целевые объекты, определенные на вкладке Доступ к ресурсам.

Целевым объектом является группа служебных серверов, относящихся к одному главному серверу Salt или нескольким, для которой выполняется команда Salt данного задания. Главным сервером Salt также можно управлять как служебным сервером. Он может быть целевым объектом, если на нем выполняется служба Minion. См. раздел Создание целевых объектов.

Изменение данных хранилища pillar

Роль может просматривать, редактировать и удалять конфиденциальную информацию, которая хранится в хранилищах pillar. Пользователи, относящиеся к роли, могут редактировать или удалять хранилища pillar, которые они создали. Они также могут редактировать или удалять другие хранилища pillar, если у них есть доступ к ресурсам (это возможно только через API-интерфейс [RaaS]).

Pillar — это структуры данных, которые определяются на главном сервере Salt и передаются на один служебный сервер или несколько с помощью целевых объектов. Они позволяют безопасно отправить конфиденциальные целевые данные только соответствующему служебному серверу. См. раздел Создание файлов состояния и данных хранилища pillar.

Изменение файлового сервера

Обладатель роли может просматривать файловый сервер, а также создавать, редактировать или удалять файлы. Пользователи, относящиеся к роли, могут редактировать или удалять файлы, которые они создали. Они также могут редактировать или удалять другие файлы, если у них есть доступ к ресурсам (это возможно только через API-интерфейс [RaaS]).

Файловый сервер — это место для хранения специальных файлов Salt, например top-файлов или файлов состояния, а также файлов, которые могут распространяться среди служебных серверов, например файлов системной конфигурации. См. раздел Создание файлов состояния и данных хранилища pillar.

Выполнение произвольных команд на служебных серверах

Обладатель роли может отправлять команды вне задания, для того чтобы они выполнялись главным сервером Salt. Эта роль не ограничена только выполнением команд, включенных в определение конкретного задания.

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

Принятие, удаление и отклонение ключей

Эта роль может принимать, удалять и отклонять ключи служебного сервера, если это необходимо для начальной конфигурации.

Ключ служебного сервера обеспечивает зашифрованную связь между служебным и главным серверами Salt.

Чтение и изменение пользователей, ролей, разрешений

Эта роль может просматривать пользователей и связанные данные, а также редактировать роли и настройки разрешений.

Примечание. Эта задача применяется только к встроенным ролям «Администратор» и «Привилегированный пользователь».

Роли используются для назначения разрешений нескольким пользователям с одинаковыми потребностями.

Выполнение команд на главных серверах Salt

Эта роль может выполнять команды на главных серверах Salt, например запускать оркестрацию.

Команды, выполняемые на главном сервере Salt, также называются модулями выполнения Salt. Модули выполнения Salt используются для выполнения вспомогательных функций на главном сервере Salt. См. раздел Создание заданий. Благодаря добавлению этого разрешения обладатель этой роли может использовать команду salt-run из раздела Выполнение команды на вкладке «Служебные серверы».

Соответствие требованиям — создание, редактирование, удаление и оценка

Обладатель этой роли может создавать, редактировать, удалять и оценивать политики SaltStack SecOps Compliance. В дополнение к предоставлению разрешения для этой задачи также необходимо определить доступ к ресурсам для любых целевых объектов, в которых обладатели роли должны иметь право на выполнение действий. Например, если необходимо, чтобы обладатель роли OracleLinuxAdmin определял политики для целевого объекта OracleLinux, нужно назначить для роли как разрешение на выполнение данной задачи, так и доступ к целевому объекту OracleLinux с правами чтения.

Эта задача не позволяет обладателю роли исправлять политики SaltStack SecOps Compliance.

SaltStack SecOps Compliance — это дополнительный модуль для SaltStack Config, которая управляет обеспечением соответствия требованиям безопасности для всех систем в среде. Дополнительные сведения см. в разделе Использование и настройка SaltStack SecOps.

Примечание:

Требуется лицензия SaltStack SecOps.

Соответствие требованиям — исправление

Обладатель роли может исправлять любые не соответствующие требованиям служебные серверы, обнаруженные в ходе оценки SaltStack SecOps Compliance.

SaltStack SecOps Compliance — это дополнительный модуль для SaltStack Config, которая управляет обеспечением соответствия требованиям безопасности для всех систем в среде. Дополнительные сведения см. в разделе Использование и настройка SaltStack SecOps.

Примечание:

Требуется лицензия SaltStack SecOps.

Соответствие требованиям — обновление содержимого SaltStack

Роль может загружать обновления в библиотеку безопасности SaltStack SecOps Compliance.

Уязвимость — создание, редактирование, удаление и оценка

Обладатель этой роли может создавать, редактировать, удалять и оценивать политики SaltStack SecOps Vulnerability. В дополнение к предоставлению разрешения для этой задачи также необходимо определить доступ к ресурсам для любых целевых объектов, в которых обладатель этой роли должен выполнять операции оценки.

Эта задача не позволяет обладателю роли исправлять политики SaltStack SecOps Vulnerability.

SaltStack SecOps Compliance — это дополнительный модуль для SaltStack Config, которая управляет обеспечением соответствия требованиям безопасности для всех систем в среде. Дополнительные сведения см. в разделе Использование и настройка SaltStack SecOps.

Примечание:

Требуется лицензия SaltStack SecOps.

Уязвимость — устранение

Обладатель этой роли может устранять уязвимости, обнаруженные в ходе оценки SaltStack SecOps Vulnerability.

SaltStack SecOps Vulnerability — это дополнительный модуль для SaltStack Config, которая управляет уязвимостями во всех системах в среде. Дополнительные сведения см. в разделе Использование и настройка SaltStack SecOps.

Примечание:

Требуется лицензия SaltStack SecOps.

Доступ к ресурсам

На вкладке Доступ к ресурсам можно определять доступ к ресурсам для целевых объектов и заданий. Целевым объектом является группа служебных серверов, относящихся к одному главному серверу Salt или нескольким, для которой выполняется команда Salt данного задания. Главным сервером Salt также можно управлять как служебным сервером. Он может быть целевым объектом, если на нем выполняется служба Minion. Задания используются для выполнения удаленно исполняемых задач, применения состояний и запуска модулей выполнения системы Salt.

Примечание: Для типов ресурсов, не определенных в таблице, использовать конкретные параметры доступа к ресурсам не требуется.
Тип ресурса Уровни доступа
Целевые объекты
  • Только для чтения. Обладатель этой роли может просматривать указанный целевой объект и сведения о нем, но не может редактировать или удалять его.
  • Чтение/запись. Обладатель этой роли может просматривать и редактировать указанный целевой объект.
  • Чтение/запись/удаление. Обладатель этой роли может просматривать, редактировать и удалять указанный целевой объект.
Задания
  • Только для чтения. Обладатель этой роли может просматривать указанное задание и сведения о нем, но не может редактировать, удалять или выполнять его.
  • Чтение/выполнение. Обладатель этой роли может просматривать и выполнять указанное задание.
  • Чтение/выполнение/запись. Обладатель этой роли может просматривать и редактировать указанное задание, а также выполнять его.
  • Чтение/выполнение/запись/удаление. Обладатель этой роли может просматривать, редактировать и удалять указанное задание, а также выполнять его.
Другие типы ресурсов. Доступ к таким типам ресурсов должен быть определен с помощью API-интерфейса (RaaS).
  • Файлы на файловом сервере
  • Данные pillar
  • Конфигурация проверки подлинности
Определяется в API-интерфейсе (RaaS)

Создание и определение роли:

Необходимые условия

Для определения ролей пользователей необходимо иметь доступ с правами администратора.

Процедура

  1. В боковом меню выберите Администрирование > Роли.
  2. Нажмите кнопку Создать и введите имя роли.
  3. В разделе Задачи выберите разрешенные действия для роли.
  4. Нажмите Сохранить.
  5. Чтобы назначить доступ к заданию или целевому объекту, выберите роль в рабочей области «Роли», найдите нужное задание или целевой объект в разделе Доступ к ресурсам и выберите нужный уровень доступа. Например, чтобы разрешить роли выполнять задания, выберите уровень Чтение/Выполнение и нажмите Сохранить.
  6. (Необязательно.) Чтобы добавить группы, выберите роль в рабочей области «Роли», выберите нужные группы в разделе Группы и нажмите Сохранить.
    Примечание: Разрешения для ролей являются кумулятивными. Пользователи в группах, которые назначены в несколько ролей, получают доступ к комбинации всех элементов, предоставляемых каждой ролью. Выбранным группам, включая всех пользователей в этих группах, предоставляется доступ ко всем разрешенным задачам и ресурсам, определенным в настройках роли.
  7. (Необязательно.) Чтобы клонировать роль, выберите роль в рабочей области «Роли», щелкните Клонировать, введите новое имя для роли и нажмите Сохранить..
    Примечание: Клонированные роли наследуют разрешенные задачи из исходной роли по умолчанию. Клонированные роли не наследуют доступ к ресурсам, который необходимо определить отдельно.
  8. (Необязательно.) В некоторых случаях может потребоваться настройка более детализированных разрешений. Чтобы предоставить дополнительные разрешения, перейдите в раздел Администрирование > Роли > Дополнительно, выберите роль и выберите дополнительные разрешения или отмените выбор. Нажмите Сохранить. Дополнительные сведения о дополнительных разрешениях и типах элементов см. в разделе Дополнительные разрешения и типы элементов.
    Примечание: Минимальные рекомендуемые разрешения для типовых пользовательских операций выделяются синим цветом.
    Выбранные разрешения для обычного пользователя в SaltStack Config