Управление доступом к рабочей области Log Analytics

Доступ к данным в рабочей области Log Analytics определяется сочетанием следующих факторов:

  • Параметры самой рабочей области.
  • Доступ к ресурсам, отправляющим данные в рабочую область.
  • Способ, используемый для доступа к рабочей области.

В этой статье описано, как управлять доступом и выполнять все необходимые конфигурации.

Обзор

Факторы, определяющие доступ к данным, описаны в следующей таблице. Каждый из них подробно описан в разделах ниже.

Фактор Описание
Режим доступа Способ, используемый для доступа к рабочей области. Определяет область, в пределах которой будут доступны данные, и применяемый режим управления доступом.
Режим управления доступом Параметр рабочей области, который определяет, будут ли применяться разрешения на уровне рабочей области или на уровне ресурса.
Управление доступом на основе ролей в Azure (RBAC) Разрешения, применяемые к отдельным пользователям или группам пользователей для рабочей области или ресурса, отправляющих данные в рабочую область. Определяют, к каким данным вы будете иметь доступ.
Azure RBAC на уровне таблиц Необязательные разрешения, определяющие определенные типы данных в рабочей области, к которым вы можете получить доступ. Применение ко всем пользователям независимо от их режима доступа или режима управления доступом.

Режим доступа

Режим доступа — это способ доступа к рабочей области Log Analytics. Он определяет данные, к которым вы можете получить доступ в текущем сеансе. Режим определяется в соответствии с областью, выбранной в Log Analytics.

Доступно два режима доступа:

  • В контексте рабочей области — просматривать можно все журналы в рабочей области, на доступ к которой у вас есть разрешение. Область запросов в этом режиме ограничена всеми данными во всех таблицах рабочей области. Этот режим доступа используется при обращении к журналам в пределах рабочей области — например, если выбрать пункт Журналы в меню Azure Monitor на портале Azure.
  • В контексте ресурсов. При доступе к определенному ресурсу, группе ресурсов или подписке в рабочей области — например, если выбрать пункт Журналы из меню ресурсов на портале Azure — можно просматривать журналы только тех ресурсов из всего множества таблиц, к которым у вас есть доступ. Область запросов в этом режиме ограничивается данными, которые связаны с этим ресурсом. В этом режиме поддерживается также Azure RBAC с детализацией. Рабочие области используют модель журнала контекста ресурсов, в которой каждая запись журнала, создаваемая ресурсом Azure, автоматически связывается с этим ресурсом.

Записи доступны только в запросах контекста ресурса, если они связаны с соответствующим ресурсом. Вы можете проверить эту связь, выполнив запрос и убедившись, что столбец _ResourceId заполнен.

Существуют известные ограничения для следующих ресурсов:

Сравнение режимов доступа

Сравнительные характеристики режимов доступа приведены в следующей таблице.

Проблема В контексте рабочей области В контексте ресурса
Для кого предназначена модель? Централизованное администрирование.
Администраторы, которым требуется настроить сбор данных, и пользователи, которым необходим доступ к широкому кругу ресурсов. Кроме того, сейчас эта модель обязательна для пользователей, которым требуется доступ к журналам ресурсов, находящихся за пределами Azure.
Команды разработки и обслуживания приложений,
администраторы отслеживаемых ресурсов Azure. Позволяет им сосредоточиться на ресурсе без фильтрации.
Что требуется пользователю, чтобы просматривать журналы? Разрешения для рабочей области.
См. раздел Разрешения рабочей области статьи "Управление доступом к рабочей области Log Analytics".
Доступ для чтения к ресурсу.
См. раздел Разрешения ресурса статьи "Управление доступом к рабочей области Log Analytics". Разрешения могут наследоваться от группы ресурсов или подписки либо напрямую назначаться ресурсу. Разрешение на доступ к журналам для ресурса будет назначено автоматически. Пользователю не требуется доступ к рабочей области.
Какова область действия разрешений? Рабочая область.
Пользователи с доступом к рабочей области могут запрашивать все журналы в рабочей области из таблиц, на доступ к которым у них есть разрешения. См. раздел Azure RBAC на уровне таблиц.
Ресурс Azure.
Пользователи могут запрашивать журналы конкретных ресурсов, групп ресурсов или подписки, к которым у них есть доступ, в любой рабочей области, но не могут запрашивать журналы других ресурсов.
Как пользователь может получить доступ к журналам? Выбрав Журналы в меню Azure Monitor.

Выбрав пункт Журналы в разделе Рабочие области Log Analytics.

Из книг Azure Monitor.
Выбрав Журналы в меню соответствующего ресурса Azure. Пользователь получит доступ к данным для этого ресурса.

Выбрав Журналы в меню Azure Monitor. Пользователь получит доступ к данным для всех ресурсов, к которым у пользователя есть доступ.

Выбрав пункт Журналы в разделе Рабочие области Log Analytics. Пользователь получит доступ к данным для всех ресурсов, к которым у пользователя есть доступ.

Из книг Azure Monitor.

Режим контроля доступа

Режим управления доступом — это параметр каждой рабочей области, который определяет, как в ней задаются разрешения.

  • Требовать разрешения рабочей области. В этом режиме не поддерживается точное управление доступом Azure RBAC. Чтобы пользователь получил доступ к рабочей области, пользователю должны быть предоставлены разрешения для рабочей области или конкретных таблиц.

    Если пользователь обращается к рабочей области в контексте рабочей области, ему доступны все данные в любой таблице, к которой ему предоставлен доступ. Если пользователь обращается к рабочей области в контексте ресурсов, ему доступны данным только этого ресурса в любой таблице, к которой ему предоставлен доступ.

    Этот параметр действует по умолчанию для всех рабочих областей, созданных до марта 2019 г.

  • Использовать разрешения ресурса или рабочей области. В этом режиме поддерживается избирательное управление доступом Azure RBAC. Он позволяет ограничить доступ пользователей данными, связанными с ресурсами, которые им разрешено просматривать — для этого необходимо назначить разрешение read Azure.

    Когда пользователь обращается к рабочей области в контексте рабочей области, применяются разрешения для рабочей области. Когда пользователь обращается к рабочей области в контексте ресурсов, проверяются только разрешения для ресурсов, а разрешения для рабочей области игнорируются. Чтобы включить Azure RBAC для пользователя, отзовите у него разрешения для рабочей области и санкционируйте распознавание его разрешений для ресурсов.

    Этот параметр действует по умолчанию для всех рабочих областей, созданных после марта 2019 г.

    Примечание

    Если у пользователя есть разрешения на доступ только к определенным ресурсам рабочей области, пользователь сможет обращаться к рабочей области только в контексте ресурсов (предполагая, что для рабочей области выбран режим доступа Использовать разрешения ресурса или рабочей области).

Настройка режима управления доступом для рабочей области

Просмотрите текущий режим управления доступом к рабочей области на странице Обзор рабочей области в меню Рабочая область Log Analytics.

Screenshot that shows the workspace access control mode.

Измените этот параметр на странице Свойства рабочей области. Изменение параметра будет отключено, если у вас нет разрешений на настройку рабочей области.

Screenshot that shows changing workspace access mode.

Azure RBAC

Управление доступом к рабочей области осуществляется с помощью Azure RBAC. Чтобы предоставить доступ к рабочей области Log Analytics с помощью разрешений Azure, следуйте указаниям в статье Назначение ролей Azure для управления доступом к ресурсам подписки Azure.

Разрешения рабочей области

Каждой рабочей области может быть назначено несколько учетных записей. Каждая учетная запись может иметь доступ к нескольким рабочим областям. В следующей таблице перечислены разрешения Azure для разных действий рабочей области.

Действие Требуемые разрешения Azure Примечания
Изменение ценовой категории. Microsoft.OperationalInsights/workspaces/*/write
Создание рабочей области на портале Azure Microsoft.Resources/deployments/*
Microsoft.OperationalInsights/workspaces/*
Просмотр основных свойств рабочей области и вход в область рабочей области на портале. Microsoft.OperationalInsights/workspaces/read
Выполнение запросов к журналам с помощью любого интерфейса. Microsoft.OperationalInsights/workspaces/query/read
Доступ ко всем типам журналов с помощью запросов. Microsoft.OperationalInsights/workspaces/query/*/read
Доступ к определенной таблице журнала. Microsoft.OperationalInsights/workspaces/query/<table_name>/read
Чтение ключей рабочей области, чтобы разрешить отправку журналов в эту рабочую область. Microsoft.OperationalInsights/workspaces/sharedKeys/action
Добавление и удаление решений для мониторинга. Microsoft.Resources/deployments/*
Microsoft.OperationalInsights/*
Microsoft.OperationsManagement/*
Microsoft.Automation/*
Microsoft.Resources/deployments/*/write

Эти разрешения нужно предоставить на уровне группы ресурсов или подписки.
Просмотр данных на плитках решений Backup и Site Recovery. Администратор или соадминистратор

Имеет доступ к ресурсам, развернутым с использованием классической модели развертывания.

Встроенные роли

Назначьте пользователям эти роли, чтобы предоставить им доступ в разных областях:

  • Подписка — доступ ко всем рабочим областям в подписке.
  • Группа ресурсов — доступ ко всем рабочим областям в группе ресурсов.
  • Ресурс — доступ к только указанной рабочей области.

Создайте назначения на уровне ресурсов (рабочей области), чтобы обеспечить точный контроль доступа. Используйте пользовательские роли для создания ролей с определенными разрешениями.

Примечание

Чтобы добавить пользователей в роль или удалить их из нее, требуются разрешения Microsoft.Authorization/*/Delete и Microsoft.Authorization/*/Write.

читатель Log Analytics;

Члены роли читателя Log Analytics могут просматривать все данные мониторинга и параметры мониторинга, включая конфигурацию диагностики Azure во всех ресурсах Azure.

Членам роли Читатель Log Analytics доступны следующие действия:

  • просмотр и поиск всех данных мониторинга;
  • просмотр параметров мониторинга, в том числе просмотр конфигурации диагностики Azure на всех ресурсах Azure.

Роль читателя Log Analytics включает следующие действия Azure:

Тип Разрешение Описание
Действие */read Возможность просматривать все ресурсы Azure и их конфигурацию.
Включает просмотр следующих данных:
— состояние расширения виртуальной машины;
— конфигурация диагностики Azure на ресурсах;
— все свойства и параметры всех ресурсов.

Для рабочих областей это позволяет иметь полные неограниченные разрешения на чтение параметров рабочей области и запрашивание данных. Дополнительные детализированные параметры см. в предыдущем списке.
Действие Microsoft.Support/* Возможность создавать обращения в службу поддержки.
Запрет действия Microsoft.OperationalInsights/workspaces/sharedKeys/read Запрет на чтение ключа рабочей области, необходимого для использования API сбора данных и для установки агентов. Это предотвращает добавление новых ресурсов в рабочую область.
Действие Microsoft.OperationalInsights/workspaces/analytics/query/action Не рекомендуется.
Действие Microsoft.OperationalInsights/workspaces/search/action Не рекомендуется.

участник Log Analytics.

Членам роли Участник Log Analytics доступны следующие действия:

  • Чтение всех данных мониторинга, предоставленных ролью читателя Log Analytics.
  • Изменение параметров мониторинга ресурсов Azure, в том числе:
    • добавление расширения виртуальных машин на виртуальные машины;
    • настройка диагностики Azure на всех ресурсах Azure.
  • Создание и настройка учетных записей службы автоматизации. Разрешения нужно предоставить на уровне группы ресурсов или подписки.
  • Добавление и удаление решений для управления. Разрешения нужно предоставить на уровне группы ресурсов или подписки.
  • Чтение ключей учетной записи хранения.
  • Настройка сбора журналов из службы хранилища Azure.

Предупреждение

Вы можете использовать разрешение, чтобы добавить расширение виртуальной машины на виртуальную машину и получить полный контроль над ней.

Роль участника Log Analytics включает следующие действия Azure:

Разрешение Описание
*/read Возможность просматривать все ресурсы Azure и их конфигурацию.

Включает просмотр следующих данных:
— состояние расширения виртуальной машины;
— конфигурация диагностики Azure на ресурсах;
— все свойства и параметры всех ресурсов.

Для рабочих областей это позволяет иметь полные неограниченные разрешения на чтение параметров рабочей области и запрашивание данных. Дополнительные детализированные параметры см. в предыдущем списке.
Microsoft.Automation/automationAccounts/* Возможность создания и настройки учетных записей службы автоматизации Azure, в том числе добавление и изменение модулей Runbook.
Microsoft.ClassicCompute/virtualMachines/extensions/*
Microsoft.Compute/virtualMachines/extensions/*
Добавление, обновление и удаление расширений виртуальных машин, в том числе расширения Microsoft Monitoring Agent и агента OMS для расширения Linux.
Microsoft.ClassicStorage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/listKeys/action
Просмотр ключа учетной записи хранения. Эта возможность необходима для настройки в Log Analytics чтения журналов из учетных записей хранения Azure.
Microsoft.Insights/alertRules/* Добавление, обновление и удаление правил генерации оповещений.
Microsoft.Insights/diagnosticSettings/* Добавление, обновление и удаление параметров диагностики для ресурсов Azure.
Microsoft.OperationalInsights/* Добавление, обновление и удаление конфигурации рабочих областей Log Analytics. Для изменения дополнительных параметров рабочей области пользователю нужно Microsoft.OperationalInsights/workspaces/write.
Microsoft.OperationsManagement/* Добавление и удаление решений для управления.
Microsoft.Resources/deployments/* Создание и удаление развертываний. Требуется для добавления и удаления решений, рабочих областей и учетных записей службы автоматизации.
Microsoft.Resources/subscriptions/resourcegroups/deployments/* Создание и удаление развертываний. Требуется для добавления и удаления решений, рабочих областей и учетных записей службы автоматизации.

Разрешения для ресурсов

Когда пользователи запрашивают журналы из рабочей области с помощью доступа к контексту ресурсов, у них будут следующие разрешения на ресурс:

Разрешение Описание
Microsoft.Insights/logs/<tableName>/read

Примеры:
Microsoft.Insights/logs/*/read
Microsoft.Insights/logs/Heartbeat/read
Возможность просмотра всех данных журнала для ресурса.
Microsoft.Insights/diagnosticSettings/write Возможность настроить параметр диагностики, чтобы разрешить настройку журналов для этого ресурса.

Разрешение /read обычно предоставляется из роли, которая включает */read или разрешения *, такие как встроенные роли Читатель и Участник. Пользовательские роли, включающие в себя определенные действия или выделенные встроенные роли, могут не содержать это разрешение.

Примеры пользовательских ролей

Кроме использования встроенных ролей для рабочей области Log Analytics, вы можете создавать настраиваемые роли для назначения более точных разрешений. Ниже приведено несколько типичных примеров.

Предоставление пользователю доступа к данным журнала из ресурсов:

  • Настройка режима управления доступом к рабочей области для использования разрешений рабочей области или ресурса.
  • Предоставьте пользователям разрешения */read или Microsoft.Insights/logs/*/read на доступ к своим ресурсам. Если им уже назначена роль читателя Log Analytics в рабочей области, этого достаточно.

Предоставление пользователю доступа к данным журнала из ресурсов и настройка ресурсов для отправки журналов в рабочую область:

  • Настройка режима управления доступом к рабочей области для использования разрешений рабочей области или ресурса.
  • Предоставьте пользователям следующие разрешения в рабочей области: Microsoft.OperationalInsights/workspaces/read и Microsoft.OperationalInsights/workspaces/sharedKeys/action. С этими разрешениями пользователи не могут выполнять запросы на уровне рабочей области. Они могут перечислять только рабочую область и использовать ее в качестве места назначения для параметров диагностики или конфигурации агента.
  • Предоставьте пользователям следующие разрешения для своих ресурсов: Microsoft.Insights/logs/*/read и Microsoft.Insights/diagnosticSettings/write. Если им уже назначена роль участника Log Analytics, роль читателя или предоставлены разрешения */read для этого ресурса, этого достаточно.

Предоставление пользователю доступа к данным журнала из своих ресурсов без возможности чтения событий безопасности и отправки данных:

  • Настройка режима управления доступом к рабочей области для использования разрешений рабочей области или ресурса.
  • Предоставьте пользователям следующие разрешения для своих ресурсов: Microsoft.Insights/logs/*/read.
  • Добавьте следующий флаг NonAction, чтобы запретить пользователям чтение типа SecurityEvent: Microsoft.Insights/logs/SecurityEvent/read. Флаг NonAction должен быть в той же пользовательской роли, что и действие, предоставляющее разрешение на чтение (Microsoft.Insights/logs/*/read). Если пользователь наследует действие чтения из другой роли, назначенной этому ресурсу, либо к подписке или группе ресурсов, пользователь сможет считывать все типы журналов. Этот сценарий также верен, если они наследуют существующий */read, например с ролью читателя или участника.

Предоставление пользователю доступа к данным журнала из ресурсов и чтение всех событий входа в Azure AD и данных журнала Управления обновлениями из рабочей области:

  • Настройка режима управления доступом к рабочей области для использования разрешений рабочей области или ресурса.
  • Предоставьте пользователям следующие разрешения в рабочей области:
    • Microsoft.OperationalInsights/workspaces/read — требуется, чтобы пользователь мог выполнить перечисление рабочей области и открыть область рабочей области на портале Azure.
    • Microsoft.OperationalInsights/workspaces/query/read — требуется для каждого пользователя, который может выполнять запросы.
    • Microsoft.OperationalInsights/workspaces/query/SigninLogs/read — чтобы иметь возможность считывать журналы входа в Azure AD.
    • Microsoft.OperationalInsights/workspaces/query/Update/read — чтобы иметь возможность считывать журналы Управления обновлениями.
    • Microsoft.OperationalInsights/workspaces/query/UpdateRunProgress/read — чтобы иметь возможность считывать журналы Управления обновлениями.
    • Microsoft.OperationalInsights/workspaces/query/UpdateSummary/read — чтобы иметь возможность считывать журналы Управления обновлениями.
    • Microsoft.OperationalInsights/workspaces/query/Heartbeat/read — требуется для использования Управления обновлениями.
    • Microsoft.OperationalInsights/workspaces/query/ComputerGroup/read — требуется для использования Управления обновлениями.
  • Предоставление пользователям следующих разрешений для своих ресурсов: */read, назначенные роли читателя или Microsoft.Insights/logs/*/read.

Azure RBAC на уровне таблиц

С помощь Azure RBAC на уровне таблиц вы можете определить более точное управление данными в рабочей области Log Analytics с помощью конкретных типов данных, доступных только определенному набору пользователей.

Реализуйте управление доступом к таблицам с помощью настраиваемых ролей Azure, чтобы предоставить доступ к конкретным таблицам в рабочей области. Эти роли применяются к рабочим областям с режимами управления доступом к рабочей области или контекстом ресурсов, независимо от режима доступа пользователя.

Создайте пользовательскую роль со следующими действиями, чтобы определить доступ к конкретной таблице:

  • Включите раздел Действия определения роли. Чтобы вычесть доступ из разрешенных Действий, включите его в раздел NotActions.
  • Используйте Microsoft.OperationalInsights/workspaces/query/*, чтобы определить все таблицы.

Примеры

Ниже приведены примеры действий настраиваемых ролей для предоставления и отзыва доступа к конкретным таблицам.

Предоставление доступа к таблицам Heartbeat и AzureActivity:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
    "Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
  ],

Предоставление доступа только к таблице SecurityBaseline:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],

Предоставление доступа ко всем таблицам, за исключением SecurityAlert:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions":  [
    "Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],

Пользовательские журналы

Пользовательские журналы — это таблицы, которые создаются из источников данных, таких как текстовые журналы и API сборщика данных HTTP. Самый простой способ узнать тип журнала — проверить таблицы, перечисленные в разделе Пользовательские журналы в схеме журнала.

Примечание

Таблицы, созданные API пользовательских журналов, пока не поддерживают RBAC на уровне таблиц.

Вы не можете предоставить доступ к отдельным таблицам пользовательских журналов, но можно предоставить доступ ко всем пользовательским журналам. Чтобы создать роль с доступом ко всем таблицам пользовательских журналов, создайте настраиваемую роль с помощью следующего действия:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],

Альтернативный подход к управлению доступом к настраиваемым журналам — назначение им ресурса Azure и управление доступом в контексте ресурса. Включите идентификатор ресурса, указав его в заголовке x-ms-AzureResourceId, если данные принимаются в Log Analytics через API сборщика данных HTTP. Идентификатор ресурса должен быть допустимым и иметь примененные к нему правила доступа. После приема журналов они становятся доступными для пользователей с доступом на чтение к ресурсу.

Некоторые пользовательские журналы поступают из источников, которые не связаны напрямую с конкретным ресурсом. В этом случае создайте группу ресурсов для управления доступом к этим журналам. Плата за группу ресурсов не начисляется, но предоставляет допустимый идентификатор ресурса для управления доступом к пользовательским журналам.

Например, если конкретный брандмауэр отправляет пользовательские журналы, создайте группу ресурсов с именем MyFireWallLogs. убедитесь, что запросы API содержат идентификатор ресурса MyFireWallLogs. Затем записи журнала брандмауэра доступны только пользователям, которым был предоставлен доступ к MyFireWallLogs или пользователям с полным доступом к рабочей области.

Рекомендации

  • Если пользователю предоставлено глобальное разрешение на чтение со стандартной ролью читателя или участника, включающей действие */read, он переопределит управление доступом на уровне таблицы и предоставит им доступ ко всем данным журнала.
  • Если пользователю предоставлен доступ к таблице, но без других разрешений, пользователь сможет получить доступ к данным журнала из API, но не с портала Azure. Чтобы предоставить доступ с портала Azure, используйте модуль чтения Log Analytics в качестве своей базовой роли.
  • Администраторы и владельцы подписки будут иметь доступ ко всем типам данных, независимо от других параметров разрешений.
  • Владельцы рабочих областей рассматриваются как другие пользователи для управления доступом на основе таблиц.
  • Назначайте роли группам безопасности, а не отдельным пользователям, чтобы сократить количество назначений. Это также позволит использовать существующие средства управления группами для настройки и проверки доступа.

Дальнейшие действия

  • Сведения о сборе данных с компьютеров в центре обработки данных или в другой облачной среде см в статье об агенте Log Analytics.
  • Сведения о настройке сбора данных на виртуальных машинах Azure см. в этой статье.