Обзор IAM
Примечание
Управление идентификацией и доступом (IAM) Chef Automate позволяет напрямую управлять членами политики из Chef Automate в браузере. IAM поддерживает функцию проектов, что позволяет фильтровать и сегрегировать данные среди пользователей. Политики IAM позволяют использовать несколько разрешений, различать членство в политике от определения политики для точного управления и включать роли для управления доступом на основе ролей.
Политика является основой системы IAM Chef Automate. Политика определяет разрешения на выполнение действий над ресурсами и ограничивает эти разрешения по проектам. «Кто» может быть пользователем, командой или токеном API.
На следующей диаграмме показана новая структура политики. Подробности мы рассмотрим в следующих разделах.
Определение политики
IAM использует многострочные политики, которые поддерживают сложные разрешения. Каждое утверждение в политике определяет одно разрешение. Chef Automate определяет общий эффект политики через оценку и комбинацию утверждений о разрешениях. Если хотя бы одно утверждение разрешает доступ, и ни одно не запрещает его, то политика разрешает доступ. В противном случае доступ запрещен.
Доступ предоставляется, если он явно разрешен в какой-либо политике и не запрещен явно ни в одной политике. Порядок оценки политики IAM:
- По умолчанию все запросы отклоняются.
- Любое явное разрешение (ALLOW) переопределяет отказ (DENY) по умолчанию.
- Любой явный отказ (DENY) в любой политике переопределяет любые разрешения (ALLOW) в любой политике.
Примеры общего эффекта
Следующие примеры иллюстрируют общий эффект политики и то, как она предоставляет доступ пользователю:
- Пользователь1 или любая команда, к которой принадлежит пользователь1, не содержит политики с действием
iam:users:list. Общий эффект: Доступ к списку пользователей для пользователя1 запрещен. Этот пример иллюстрирует глобальное условие DENY по умолчанию. - Боб является членом команды alpha и команды omega. Команда alpha содержит широкий спектр разрешений, в то время как команда omega имеет серьезные ограничения на доступ ее членов. Политика «Основные команды» содержит утверждение, разрешающее команде alpha доступ к ресурсу
compliance:reporting:nodes, и другое утверждение, запрещающее команде Omega доступ к тому же ресурсу. Общий эффект: Политика запрещает доступ Бобу, так как по крайней мере одно утверждение запрещает доступ. - Мария является членом команды просмотра по умолчанию, которая разрешает чтение всего, благодаря политике просмотра по умолчанию. Мария также является членом команды развертывания, у которой есть разрешение на загрузку и скачивание профилей. Общий эффект: Политика предоставляет Марии доступ, так как членство в обеих командах фактически разрешает доступ.
Свойства политики
Политика IAM состоит из списка утверждений, где каждое утверждение описывает разрешение.
Свойства утверждения
Утверждение политики должно включать Role, или список встроенных Actions.
| Свойство | Описание |
|---|---|
| Роль | именованный список действий |
| Эффект | РАЗРЕШИТЬ или ЗАПРЕТИТЬ |
| Проекты | список идентификаторов проектов для ограничения роли |
Свойства роли
Роль IAM состоит из списка действий. Некоторые примеры таких действий включают перечисление пользователей IAM, получение профилей соответствия или обновление статуса узлов. Более подробную информацию о ролях см. в разделе Управление доступом на основе ролей.
Члены и политики
Член может быть пользователем, командой или токеном API. Пользователи и команды могут быть локальными, то есть их определение существует только в Chef Automate, или управляться внешним поставщиком удостоверений, например, LDAP или SAML.
Членство в политике IAM v2 отделено и различно от определения политики. (Обратите внимание, что члены не были включены в раздел Определение политики.) Вы можете редактировать членство в политике для любой политики, но вы можете изменять только определение политики для пользовательских политик.
Типы политик
IAM различает два типа политик: управляемые Chef и пользовательские. Chef предоставляет политики управляемые Chef, которые являются неотъемлемой частью работы Chef Automate. Вы не можете изменить утверждения в политиках, управляемых Chef. Пользовательские политики — это политики, которые вы создаете для своих нужд. Вы можете добавлять, редактировать и удалять утверждения в пользовательских политиках.
Оба типа политик позволяют изменять членство.
Управление доступом на основе ролей
Роль — это именованный список действий. Этот список предоставляет преимущество инкапсуляции. Утверждению политики требуется только имя роли, а политика не перегружается всеми подробностями. Кроме того, список предлагает переиспользование, так как вы можете применить роль к любому утверждению, которому она нужна.
Как и политики, роли бывают управляемые Chef или пользовательские. Значения по умолчанию управляемых Chef ролей не могут быть изменены, как и управляемые Chef политики.
Chef Automate по умолчанию включает пять управляемых Chef ролей и две пользовательские роли. Вы можете редактировать эти пользовательские роли, «Просмотр соответствия» и «Редактор соответствия». Чтобы увидеть действия, составляющие роли, см. Действия IAM.
| Роль | Тип | Описание |
|---|---|---|
| Просмотрщик | Управляемая Chef | Просмотр всего в системе кроме IAM |
| Редактор | Управляемая Chef | Выполнение всего в системе кроме IAM и запросов на лицензирование |
| Владелец | Управляемая Chef | Выполнение всего в системе, включая IAM |
| Владелец проекта | Управляемая Chef | Редактор + просмотр и назначение проектов |
| Ввод данных | Управляемая Chef | Ввод данных в систему |
| Просмотрщик соответствия | Пользовательская | Просмотрщик ресурсов соответствия |
| Редактор соответствия | Пользовательская | Редактор ресурсов соответствия |
Вы можете использовать эти роли, созданные Chef по умолчанию, в своих политиках или создавать собственные роли для более настраиваемых разрешений. Вы можете в дальнейшем изменять созданные вами роли.
Chef Automate также поставляется с политиками, которые используют эти роли. Эти управляемые Chef политики — «Просмотрщики», «Редакторы», «Администратор» и «Ввод данных». Пользовательские политики — «Просмотрщики соответствия» и «Редакторы соответствия».
Работа с проектами
Проекты IAM представляют собой коллекции ресурсов, созданных в Chef Automate или полученных из внешних поставщиков данных, таких как Chef Infra и Chef InSpec. Проекты, используемые в политике, сужают область действия разрешений этой политики только на ресурсы, назначенные данным проектам.
Примечание
Настройка проектов
Настройте проекты IAM, выполнив следующие действия:
- Определите каждый проект, используя браузер. Начните на странице «Список проектов», чтобы создать свои проекты.
- Создайте или отредактируйте утверждения политики IAM, чтобы ограничить разрешения на определенные проекты по мере необходимости. Каждое утверждение должно либо назвать конкретные проекты, указать символ подстановки (
*), обозначающий все проекты, либо указать(unassigned), что предоставляет разрешения на объекты без проектов. По умолчанию все политики, существовавшие до обновления, автоматически настраиваются с этим символом подстановки, поэтому они применяются ко всем проектам. - Назначьте команды или токены проектам.
- Выберите проекты для фильтрации в пользовательском интерфейсе. После создания проектов используйте глобальный фильтр проектов в верхнем навигационном меню, чтобы выбрать один или несколько проектов для просмотра. Отсутствие выбора отображает все ресурсы, на которые у вас есть разрешения.
По умолчанию Chef Automate включает роль владелец проекта, поэтому глобальный администратор может делегировать большую часть этих задач по управлению проектами другим и разделить некоторые обязанности глобального администратора.
Назначение ресурсов проектам
Существуют две категории ресурсов для назначения проектам:
- Узлы клиентского выполнения и узлы соответствия, полученные извне
- Команды, токены API, политики и роли, созданные в Automate
Любой из этих ресурсов, не назначенный явно проекту, считается не назначенным. После обновления и до создания проектов все ваши ресурсы существуют как не назначенные.
Назначьте набор узлов клиентского выполнения и узлов соответствия, полученных извне, проектам, используя правила импорта проекта, которые вы создадите для проекта. Правило импорта определяет одно или несколько условий, и каждое условие определяет набор значений атрибутов, которые узел должен содержать для назначения в данный проект.
После определения набора проектов с содержащимися в них правилами импорта и условиями используйте кнопку Обновить проекты в нижней части любой страницы, чтобы применить эти определения.
Вы можете назначать команды и токены API проектам непосредственно в браузере. Политики и роли можно назначать только через командную строку. Эти ресурсы, созданные в Chef Automate, не используют и не требуют никаких правил импорта проектов.
Некоторые ресурсы в Chef Automate учитывают проекты и будут фильтровать при использовании фильтра проектов. Ресурсы, которые не учитывают проекты, всегда будут отображаться и игнорировать любые примененные фильтры проектов.
Ресурсы, учитывающие проекты
- Токены API
- Узлы клиентского выполнения, полученные извне
- Узлы соответствия, полученные извне (включая результаты работы задания сканирования)
- Политики
- Команды
- Роли
Ресурсы, не учитывающие проекты
- Профили соответствия
- Потоки данных
- Услуги Habitat
- Удостоверения узлов
- Управляющие узлы (также называемые интеграциями узлов)
- Уведомления
- Пользователи
Свойства проекта
Чтобы назначить проект набора узлов клиентского выполнения и узлов соответствия, полученных извне, проекту требуется список правил импорта, где каждое правило описывает группу характеристик узла.
Правила импорта проектов
Правило состоит из списка условий, где каждое условие описывает одну характеристику. Оно также содержит тип: узел или событие. Узел соответствует обработанным узлам выполнения и соответствия клиента, а событие соответствует обработанным событиям на странице Лента событий.
| Свойство | Описание |
|---|---|
| Тип | узел или событие |
| Условия | список характеристик узла |
Условия правила импорта проекта
Условие состоит из этих свойств:
| Свойство | Описание |
|---|---|
| Атрибут события | Организация Chef или сервер Chef Infra |
| Атрибут узла | Организация Chef, сервер Chef Infra, Среда, Роль Chef, Тег Chef, Название политики Chef или Группа политики Chef |
| Оператор | равно или член |
| Значения | список одного или нескольких значений для сопоставления со значением указанного атрибута |
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/automate/iam_v2_overview/