Настройка разрешений для метрик
Настройка разрешений для метрик
Ключ-АСТРОМ использует модель разрешений для хранилища данных. Она применяется ко всем данным телеметрии, таким как метрики, события, спаны и логи. Рекомендуется настраивать разрешения в соответствии с организационной структурой и областями развёртывания. Подходящие концепции включают группы хостов, кластеры Kubernetes и пространства имён Kubernetes. Эти атрибуты обычно доступны для всех данных телеметрии, загружаемых через методы сбора Ключ-АСТРОМ, такие как ЕдиныйАгент, OpenTelemetry или Оператор. Следовательно, эти атрибуты можно использовать для включения разрешений на уровне записей. Для развёртываний на основе Kubernetes убедитесь, что Оператор Ключ-АСТРОМ имеет включённое обогащение метаданными.
Если вам нужна только базовая концепция разрешений, лучше всего настроить разрешения на уровне бакетов. Затем можно направить данные в правильный бакет в OpenPipeline, сопоставив одно из упомянутых полей, релевантных развёртыванию. Для большего контроля можно настроить границы политик с более детальными ограничениями на уровне данных. По умолчанию можно использовать следующие атрибуты:
dt.host_group.idk8s.cluster.namek8s.namespace.name- Любой другой атрибут, перечисленный в модели разрешений.
Ключ-АСТРОМ предоставляет комплексную модель разрешений для хранилища данных, которая применяется ко всем данным телеметрии, включая метрики, логи, спаны и события.
Настройка контекста безопасности
Если разрешений на атрибуты уровня развёртывания или на уровне бакета недостаточно, Ключ-АСТРОМ позволяет настроить детализированные разрешения, добавив атрибут dt.security_context к вашим данным. Этот контекст может представлять вашу архитектуру безопасности и может быть даже иерархическим, если закодировать его в строку вида: department-A/department-AB/team-C. Чтобы использовать dt.security_context и другие атрибуты для разрешений, убедитесь, что эти атрибуты присутствуют в ваших данных телеметрии.
Использование существующих тегов в источнике
Вы можете определить контекст безопасности в источнике через ЕдиныйАгент, OpenTelemetry или метки и аннотации Kubernetes. Это позволяет использовать существующие метки и теги для упрощения настройки разрешений в Ключ-АСТРОМ.
Настройка контекста безопасности в OpenPipeline
Вы можете определить контекст безопасности на основе существующих атрибутов ресурсов для ваших данных в OpenPipeline. Перейдите в Настройки > Обработка и контекстуализация > OpenPipeline > Метрики > Пайплайны, и после настройки пайплайна на вкладке Разрешения используйте опцию процессоров Set Security Context.
Чтобы определить атрибут dt.security_context:
- Определите условие сопоставления для фильтрации записей метрик, которым нужно назначить контекст безопасности, например:
matchesValue(metric.key, "http.server.request.duration_bucket") and matchesValue(http.route, "/basket")
- Добавьте
dt.security_contextдля этих записей метрик. Значением этого атрибута может быть литеральное значение, напримерTeamA, или значение, скопированное из другого поля, присутствующего в записи метрики. - Убедитесь, что ваш контекст безопасности задан правильно. Когда поступят новые данные метрик, процессоры контекста безопасности OpenPipeline добавят атрибут
dt.security_contextсо значениемTeamAк соответствующим записям метрик. - Чтобы подтвердить, что ваши процессоры контекста безопасности обработали записи метрик, откройте Блокноты и выполните запрос DQL, например:
timeseries median(http.server.request.duration_bucket), by:{http.route, dt.security_context}
| filter matchesValue(dt.security_context, "TeamA")На основе созданного атрибута можно применять политики безопасности для пользователей и групп.