Управление доступом на основе меток (LBAC) для источников данных
Управление доступом на основе меток (Label Based Access Control, LBAC) для источников данных упрощает и оптимизирует управление доступом к источникам данных на основе членства в командах. Управление доступом на основе меток (LBAC) позволяет осуществлять детальный контроль доступа к источникам данных, фильтруя логи или метрики по меткам. Оно позволяет администраторам настраивать правила доступа для команд, гарантируя, что пользователи запрашивают только данные, относящиеся к их назначенным разрешениям.
Поддерживаемые источники данных
LBAC для источников данных в настоящее время поддерживается для Loki и Prometheus.
Note
Поддержка трассировок находится в статусе публичного предварительного просмотра и доступна только в Grafana Cloud. Team LBAC доступен для трассировок, к которым может получить доступ Grafana Cloud, независимо от того, доступны ли эти трассировки через источник данных Tempo, настроенный для стека Grafana Cloud, или через встроенную базу данных Cloud Traces.
Поддержка дополнительных источников данных может быть добавлена в будущих обновлениях.
Note
Для enterprise эта функция требует Grafana Enterprise Metrics (GEM) или Grafana Enterprise Logs (GEL).
LBAC для источников данных предлагает:
- Управление доступом на основе команд с использованием правил
LogQL. - Упрощённое управление источниками данных за счёт объединения нескольких источников в один.
- Повторное использование дашбордов между командами с индивидуально настроенным доступом.
Вы можете настраивать доступ пользователей на основе членства в командах с помощью LogQL.
LBAC для источников данных управляет доступом к логам или метрикам в зависимости от правил, заданных для каждой команды.
Эта функция решает две распространённые проблемы, с которыми сталкиваются пользователи Grafana:
- Большое количество источников данных Grafana Cloud. LBAC для источников данных позволяет администраторам Grafana сократить общее количество источников данных на экземпляре с сотен до одного.
- Использование одного и того же дашборда в нескольких командах. LBAC для источников данных позволяет командам Grafana использовать один и тот же дашборд с разными правилами контроля доступа.
Чтобы настроить LBAC для источников данных для источника данных Loki, обратитесь к разделу Настройка LBAC для источника данных Loki. Чтобы настроить LBAC для источников данных для источника данных Prometheus, обратитесь к разделу Настройка LBAC для источника данных Prometheus. Чтобы настроить LBAC для источников данных для источника данных Cloud Traces или Tempo, обратитесь к разделу Настройка дополнительной LBAC для Tempo.
Фильтрация логов, метрик и трассировок с помощью LBAC
LBAC для источников данных позволяет фильтровать доступ к логам, метрикам и трассировкам. Определяя правила с помощью селекторов меток или атрибутов, вы можете указать:
- Logs: Управляйте доступом к строкам логов с помощью запросов LogQL с метками, такими как
namespaceилиcluster. - Metrics: Управляйте доступом к точкам данных метрик с помощью LogQL с метками, такими как
jobилиregion, и доступом к метрикам__name__. - Traces: Управляйте доступом к спанам с помощью селекторов атрибутов с атрибутами области ресурса, такими как
resource.service.nameилиresource.env.
Трассировки используют атрибуты, а не метки, для контроля доступа и опираются на селекторы атрибутов в стиле TraceQL, а не на LogQL. LBAC для трассировок доступен только на уровне команды.
Такая гибкость позволяет командам использовать один и тот же источник данных для множества сценариев, сохраняя при этом безопасные границы доступа.
Прежде чем начать
Чтобы иметь возможность использовать LBAC для источников данных метрик, вам нужно включить переключатель функции teamHttpHeadersMimir на вашем экземпляре Grafana.
Ограничения
- Существует фиксированное количество правил, которые можно настроить в источнике данных, в зависимости от размера правил.
- Верхний предел — примерно ~500-600 правил.
- Если для команды пользователя нет правил LBAC для источников данных, этот пользователь может запрашивать все логи или метрики.
- Если администратор входит в команду с правилами LBAC для источников данных, эти правила применяются к запросам администратора.
- Правила LBAC из Cloud Access Policy (CAP) переопределяют правила LBAC для источников данных. CAP — это механизмы контроля доступа из Grafana Cloud.
- Обратите внимание, что эти источники данных необходимо создавать вручную — провижининг пока не поддерживается.
- Кросс-тенантные запросы в настоящее время не поддерживаются
- Для Tempo и Cloud Traces LBAC доступен только на уровне команды. Правила LBAC уровня источника данных, настроенные через политики доступа облака, для трассировок не поддерживаются. Правила ограничены атрибутами области ресурса.
Вы должны удалить все селекторы меток из вашей Cloud Access Policy, настроенной для источника данных, иначе селекторы меток CAP переопределят правила LBAC для источников данных. Дополнительную информацию о селекторах меток CAP см. в разделе Использование управления доступом на основе меток (LBAC) с политиками доступа.
Разрешения на источники данных
- Разрешения на источники данных позволяют пользователям запрашивать данные из источника данных.
- Администраторы задают разрешения на уровне источника данных.
- Все команды и пользователи, входящие в источник данных, наследуют эти разрешения.
Рекомендуемая настройка
Рекомендуется создать один источник данных для использования правил LBAC для источников данных, чтобы у вас было чёткое разделение источников данных, использующих LBAC, и тех, что его не используют.
Все команды должны иметь только разрешение query.
Вам следует создать другой источник данных, настроенный без LBAC для источников данных, для полного доступа.
Правила LBAC
Grafana добавляет правила LBAC для источников данных в HTTP-запрос через источник данных.
Если вы настраиваете несколько правил для команды, каждое правило оценивается отдельно. Результаты запроса включают строки, соответствующие любому из правил.
Только пользователи с разрешениями Admin на источник данных могут редактировать правила LBAC для источников данных на вкладке Data source permissions, поскольку изменение правил LBAC требует того же уровня доступа, что и редактирование разрешений на источник данных.
Чтобы настроить LBAC для источников данных для источника данных, обратитесь к разделу Настройка LBAC для источников данных.
Провижининг правил LBAC
Мы рекомендуем использовать наш провайдер Terraform для настройки провижининга правил LBAC конфигурации ресурсного источника данных. Обратитесь к документации нашего провайдера, чтобы узнать, как настроить правила для источника данных.