Настройка разрешений Grail для логов
Настройка разрешений Grail для логов
Ключ-АСТРОМ использует модель разрешений для хранилища данных. Она применяется ко всем данным телеметрии, таким как метрики, события, спаны и логи. Рекомендуется настраивать разрешения в соответствии с организационной структурой и областями развёртывания. Подходящие концепции включают группы хостов, кластеры Kubernetes и пространства имён Kubernetes. Эти атрибуты обычно доступны для всех данных телеметрии, загружаемых через методы сбора Ключ-АСТРОМ, такие как ЕдиныйАгент, OpenTelemetry или Оператор. Следовательно, эти атрибуты можно использовать для включения разрешений на уровне записей. Для развёртываний на основе Kubernetes убедитесь, что Оператор Ключ-АСТРОМ имеет включённое обогащение метаданными.
Если вам нужна только базовая концепция разрешений, лучше всего настроить разрешения на уровне бакетов. Затем можно направить данные в правильный бакет в OpenPipeline, сопоставив одно из упомянутых полей, релевантных развёртыванию. Для большего контроля можно настроить границы политик с более детальными ограничениями на уровне данных. По умолчанию можно использовать следующие атрибуты:
dt.host_group.idk8s.cluster.namek8s.namespace.name- Любой другой атрибут, перечисленный в модели разрешений.
Ключ-АСТРОМ предоставляет комплексную модель разрешений для хранилища данных, которая применяется ко всем данным телеметрии, включая метрики, логи, спаны и события.
Настройка контекста безопасности
Если разрешений на атрибуты уровня развёртывания или на уровне бакета недостаточно, Ключ-АСТРОМ позволяет настроить детализированные разрешения, добавив атрибут dt.security_context к вашим данным. Этот контекст может представлять вашу архитектуру безопасности и может быть даже иерархическим, если закодировать его в строку вида: department-A/department-AB/team-C. Это позволяет задавать дополнительные параметры, например разрешения для отдельных записей. Подробности см. в разделе Разрешения в хранилище данных.
Использование существующих тегов в источнике
Вы можете определить контекст безопасности в источнике через ЕдиныйАгент, OpenTelemetry или метки и аннотации Kubernetes. Это позволяет использовать существующие метки и теги для упрощения настройки разрешений в Ключ-АСТРОМ.
Настройка контекста безопасности для логов в OpenPipeline
Предположим, ваши записи логов содержат атрибут log.source со значением payment-api, и только определённые пользователи или группы пользователей должны иметь доступ к этим записям логов. Чтобы создать корректировку контекста безопасности для ваших загруженных данных логов, создайте правило обработки, которое:
- Обрабатывает все записи, где значение атрибута
log.sourceравноpayment-api. - Добавляет атрибут
dt.security_contextсо значениемsec-lvl-7.
Чтобы настроить процессор в OpenPipeline:
- Перейдите в Настройки > Обработка и контекстуализация > OpenPipeline > Логи.
- Найдите существующий конвейер или создайте новый.
- Перейдите в Разрешения > > Set security context.
- В поле Имя введите
Level 7 - payment-api. - Установите Условие сопоставления в
matchesValue(log.source, "payment-api"). - Настройте процессор. Установите Значение контекста безопасности в Статическая строка, а затем установите значение
sec-lvl-7. - Сохраните конвейер.
Как только новые данные логов поступят, они будут обработаны правилами контекста безопасности логов, и новый атрибут dt.security_context будет добавлен со значением sec-lvl-7. Перейдите в Логи, чтобы проверить, обрабатываются ли новые записи логов вашим правилом контекста безопасности Level 7 - payment-api. Отфильтруйте логи по полю dt.security_context, равному sec-lvl-7. На основе этого атрибута можно создавать политики безопасности для пользователей и групп. Дополнительную информацию см. в разделе Настройка расширенных разрешений с помощью контекста безопасности.