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

Задачи

Задачи представляют собой типовые примеры использования в SaltStack Config. Активация задачи предоставляет роли все разрешения, необходимые для ее выполнения.

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

Задача

Описание

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

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

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

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

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

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

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

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

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

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

Обладатель роли может отправлять команды вне задания, для того чтобы они выполнялись главным сервером 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 Vulnerability — это дополнительный модуль для 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-интерфейса или обратитесь к администратору за помощью.
    • Файлы на файловом сервере
    • Данные pillar
    • Конфигурация проверки подлинности

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

Разница между разрешенными задачами и доступом к ресурсам

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


permissions-resources-concept

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

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

permissions-resources-example

Клонированные роли наследуют разрешенные задачи из исходной роли по умолчанию. Клонированные роли не наследуют доступ к ресурсам, который необходимо определить отдельно. См. раздел Назначение доступа к заданию или целевому объекту.