Благодаря системе контроля доступа на основе ролей (RBAC) в SaltStack Config можно определить настройки разрешений сразу для нескольких пользователей, так как эти настройки для роли применяются ко всем пользователям в рамках данной роли. Эти настройки можно определить в рабочей области «Роли» в пользовательском интерфейсе.
- «Пользователь». Это стандартная роль, которая назначается всем новым локальным пользователям, пользователям, применяющим систему единого входа и LDAP. Роль «Пользователь» предусматривает базовые разрешения (например, доступ для чтения), которые необходимы для выполнения множества основных функций. Пользователи с этой ролью могут просматривать и выполнять задания, а также просматривать историю заданий, возвращенные результаты и отчеты для отдельных служебных серверов и типов заданий в рамках ограничений доступа к ресурсам для этой роли.
- «Администратор». Этой роли требуется доступ к более широкому диапазону средств, чем роли пользователя, для выполнения функций системного администрирования. Администраторы могут просматривать (а в некоторых случаях изменять) конфиденциальные данные в настройках пользователя и в модулях pillar. Обладатели этой роли могут создавать, обновлять и удалять такие ресурсы, как файлы, задания и целевые объекты. При настройке новых узлов администраторы также могут по мере необходимости управлять ключами.
- «Привилегированный пользователь». Привилегированные пользователи могут выполнять любые операции в SaltStack Config, включая функции системного администрирования и принятия главных ключей. Для роли привилегированного пользователя назначается право доступа
root
. Роль нельзя удалить или клонировать. Роль можно назначить любому пользователю или группе, но изменить какие-либо настройки роли нельзя. На роль привилегированного пользователя следует назначать только опытных пользователей, поскольку она позволяет фактически выходить за границы разрешений.
Кроме того, при необходимости можно создать специальные настраиваемые роли для организации.
Для предоставления обладателю роли разрешения на выполнение задачи необходимо определить разрешенную задачу, а также назначить доступ к ресурсу или функциональной области. Разрешение представляет собой широкую категорию допустимых действий, тогда как доступ к ресурсам позволяет определить конкретный ресурс (например, задание или целевой объект), для которого можно выполнить заданное действие.
Доступ к ресурсам для некоторых типов ресурсов и функциональных областей следует определять в API-интерфейсе (RaaS), а не в редакторе ролей.
После создания роли ее можно клонировать, назначить разрешенные задачи и назначить доступ к заданию или целевому объекту.
Чтобы определить роли для элементов контроля доступа на основе ролей (RBAC) в SaltStack Config, необходимо определить разрешенную задачу, а также назначить доступ к ресурсам. Задача — это отдельная операция, которая может быть выполнена в пользовательском интерфейсе, например создание, редактирование или выполнение задания. Ресурс — это элемент среды, например конкретные главные серверы, служебные серверы, целевые объекты, данные файла и т. д.
Разрешенная задача представляет собой широкую категорию разрешаемых действий, в то время как доступ к ресурсам является более подробным свойством, с помощью которого можно указать ресурс (например, задание или целевой объект), для которого можно выполнить действие.
В этом примере роль может выполнить команду test.ping
в целевой группе Linux со следующими параметрами разрешений.
- Доступ «Чтение» к целевому объекту Linux
- Доступ «Чтение /выполнение» к заданию, которое содержит команду
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. В дополнение к предоставлению разрешения для этой задачи также необходимо определить доступ к ресурсам для любых целевых объектов, в которых обладатели роли должны иметь право на выполнение действий. Например, если необходимо, чтобы обладатель роли Эта задача не позволяет обладателю роли исправлять политики 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).
|
Определяется в API-интерфейсе (RaaS) |
Необходимые условия
Для определения ролей пользователей необходимо иметь доступ с правами администратора.