Предоставить доступ сущностям с контекстом безопасности
В этой статье показано, как настроить контекст безопасности и предоставить доступ к отслеживаемым объектам с помощью политик.
Не путайте IAM-политики с менеджмент зонами. В отличие от менеджмент зон, IAM-политика, настроенная на фильтрацию сущностей (allow storage:entity:read), не будет фильтровать связанные метрики, логи или трассировки. Эти фильтры сущностей контролируют только то, к каким сущностям можно обращаться через DQL. Для управления доступом к логам, метрикам и диапазонам необходимо использовать соответствующие разрешения, например allow storage:logs:read.
|
Для кого это подходит
Это предназначено для администраторов учетных записей Ключ-АСТРОМ, которые отвечают за создание политик предоставления пользователям доступа к отслеживаемым объектам, таким как хосты, через DQL.
Для чего это нужно
В этой статье вы узнаете:
- Как установить контекст безопасности для отслеживаемых объектов.
- Как создать политики для предоставления доступа к данным мониторинга, хранящимся в Grail, в контексте контролируемых объектов.
- Как использовать контекст безопасности в сочетании с политиками безопасности IAM для предоставления детализированного доступа к вашим сущностям.
Прежде чем начать
Документация для ознакомления
- Управление идентификацией и доступом (IAM)
- Предоставить доступ к Ключ-АСТРОМ
- Разрешения пользователей в группах по умолчанию
Предустановка
- Учетная запись Ключ-АСТРОМ с правами администратора.
- Заранее настройте необходимых пользователей, организации и группы пользователей.
Ключевые термины
Контекст безопасности - Определяет область доступа для пользователя или группы
Менеджмент зона - Механизм разделения информации, способствующий сотрудничеству и обмену соответствующими данными в среде Ключ-АСТРОМ
Шаги
Давайте начнем с настройки контекста, а затем узнаем, как создавать политики для предоставления доступа к данным об сущностях.
1. Установка контекста безопасности для отслеживаемых объектов
Поле контекста безопасности для сущностей может принимать несколько значений. Чтобы задать контекст безопасности для сущностей, вы можете выбрать один из следующих вариантов:
Вариант 1: API Ключ-АСТРОМ
Настройте контекст безопасности через API контролируемых сущностей. Если название контекста безопасности совпадает с названием существующей менеджмент зоны, все соответствующие сущности будут назначены в менеджмент зону. Это поможет вам перенести текущие менеджмент зоны в контекст безопасности.
Вариант 2 : Сопоставить с уже существующим объектом
Сопоставьте его с уже существующим свойством (в зависимости от его типа). Поддерживаемые значения: entity.detected_name и managementZones.
- Перейдите в Настройки > Модель топологии > Контекст безопасности Grail .
- В разделе Свойство назначения выберите предпочтительную сущность и разверните для получения подробной информации.
Вариант 3: Определить правило извлечения для универсальных типов
Для универсальных типов сущностей можно добавить правило извлечения dt.security_context и получить контекст безопасности из любой информации в источнике данных. Рассмотрим следующий пример:
1. Мы используем API сбора метрик для сбора метрики, предоставляя следующие точки данных:
| my.dummy_metric,name="Dummy Name 1",id=1,context="Security Context 1" 42
my.dummy_metric,name="Dummy Name 2",id=2,context="Security Context 2" 42 my.dummy_metric,name="Dummy Name 3",id=3,context="Security Context 3" 42 my.dummy_metric,name="Dummy Name 4",id=4,context="Security Context 4" 42 |
2. Затем вы можете извлечь сущность, используя метрики в качестве типа источника данных и идентификатора метрики.
3. На основе этого можно создать атрибут, создав правило извлечения dt.security_context, которое установит значение переменной context, присутствующей в полезной нагрузке.
Вариант 4: Теги и свойства хоста
Вы можете задать контекст безопасности dt.security_context, используя набор свойств хоста с помощью автоматизированных правил или набор свойств хоста с помощью конфигурации ЕдиногоАгента через интерфейс командной строки.
Теги, назначенные через переменные среды или API топологии и Smartscape, нельзя использовать для установки контекста безопасности.
После настройки контекста безопасности на хосте он будет использоваться для автоматического определения контекста безопасности для всех журналов, диапазонов, показателей и событий, отправляемых с этого хоста.
Кроме того, он установит контекст безопасности для всех сущностей, о которых сообщает этот хост, таких как экземпляры групп процессов и хосты.
Чтобы установить контекст безопасности, используйте oneagentctl:
| ./oneagentctl --set-host-property=dt.security_context=my-security-context |
2. Создание политики
Разрешения для сущностей позволяют определять политики, контролирующие доступ к данным сущностей. В отличие от мониторинга данных, разрешения для сущностей позволяют фильтровать только данные по dt.security_contextполю.
Доступ ко всем сущностям настраивается через разрешение storage:entities:read, которое поддерживает следующие условия
storage:entity.type- тип сущности в верхнем регистре (например,PROCESS_GROUP_INSTANCE)storage:dt.security_context- контекст безопасности этой сущности. Может быть многозначным полемstartsWithи будет оцениваться на наличие любого совпадающего значения.
Например, следующая политика предоставляет доступ к данным с установленным контекстом безопасности mySecurityContext.
| ALLOW
storage:entities:read WHERE storage:dt.security_context = "mySecurityContext"; |
