Ресурсы, роли и контроль доступа в Application Insights

Вы можете контролировать доступ на чтение и обновление данных в Application Insights с помощью управления доступом на основе ролей Azure (Azure RBAC).

Важно!

Назначьте доступ пользователям в группе ресурсов или подписке, к которым принадлежит ресурс приложения, а не самому ресурсу. Назначьте роль Участник компонента Application Insights. Эта роль обеспечивает унифицированный контроль доступа к веб-тестам и оповещениям вместе с ресурсом приложения. Подробнее.

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Ресурсы, группы и подписки

Сначала определим некоторые термины:

  • Ресурс. Экземпляр службы Azure. Ресурс Application Insights собирает, анализирует и отображает данные телеметрии, отправленные из приложения. Другие типы ресурсов Azure включают в себя веб-приложения, базы данных и виртуальные машины.

    Чтобы просмотреть ресурсы, откройте портал Azure, войдите в систему и выберите Все ресурсы. Чтобы найти ресурс, введите часть его имени в поле фильтра.

    Снимок экрана: список ресурсов Azure.

  • Группа ресурсов. Каждый ресурс принадлежит к одной группе. Создание группы — это удобный способ управления связанными ресурсами, особенно для контроля доступа. Например, в одну группу ресурсов можно поместить веб-приложение, ресурс Application Insights для мониторинга приложения и ресурс службы хранилища Azure для хранения экспортированных данных.
  • Подписка. Чтобы использовать Application Insights или другие ресурсы Azure, войдите в подписку Azure. Каждая группа ресурсов принадлежит одной подписке Azure, где вы выбираете свой ценовой пакет. Если это подписка организации, владелец может выбрать участников и их разрешения на доступ.
  • Учетная запись Майкрософт. Имя пользователя и пароль, используемые для входа в подписки Azure, Xbox Live, Outlook.com и другие службы Майкрософт.

Контроль доступа в группе ресурсов

Наряду с ресурсом, созданным для приложения, существуют также отдельные скрытые ресурсы для оповещений и веб-тестов. Они присоединены к той же группе ресурсов , что и ресурс Application Insights. В нее также можно поместить другие службы Azure, такие как веб-сайты или службы хранилища.

Предоставление доступа другому пользователю

Для этого у вас должны быть права владельца подписки или группы ресурсов.

У пользователя должна быть учетная запись Майкрософт или доступ к учетной записи Майкрософт организации. Вы можете предоставить доступ отдельным пользователям, а также группам пользователей, определенным в Azure Active Directory.

Перейдите к группе ресурсов или непосредственно к самому ресурсу

Назначьте роль Участника Azure RBAC.

Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.

Выбор роли

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

Роль В группе ресурсов
Владелец Может менять любые параметры, в том числе права доступа пользователей.
Участник Может изменять любое содержимое, в том числе любые ресурсы.
Участник компонента Application Insights Может изменять ресурсы Application Insights.
Читатель Может просматривать содержимое, но нельзя ничего изменять.
Отладчик моментальных снимков Application Insights Предоставляет пользователю разрешение на использование функций Snapshot Debugger Application Insights. Эта роль не включена в роли владельца или участника.
Участник управления выпусками развертывания служб Azure Роль участника для развертывания служб с помощью функции развертывания служб Azure.
Средство очистки данных Специальная роль для очистки персональных данных. Дополнительные сведения см. в статье Управление персональными данными в Log Analytics и Application Insights.
Администратор Azure ExpressRoute Может создавать, удалять экспресс-маршруты и управлять ими.
Участник Log Analytics Участник Log Analytics может считывать все данные мониторинга и изменять параметры мониторинга. Изменение параметров мониторинга включает добавление расширения виртуальной машины к виртуальным машинам, чтение ключей учетной записи хранения для настройки сбора журналов из службы хранилища Azure, создание и настройку учетных записей службы автоматизации, добавление решений и настройку диагностики Azure для всех ресурсов Azure.
Читатель Log Analytics Читатель Log Analytics может просматривать и искать все данные мониторинга, а также просматривать параметры мониторинга, включая просмотр конфигурации диагностики Azure на всех ресурсах Azure.
masterreader Позволяет пользователю просматривать все элементы, но не вносить изменения.
Monitoring Contributor (Участник мониторинга) Может читать все данные мониторинга и параметры обновления мониторинга.
Издатель метрик мониторинга Включает публикацию метрик ресурсов Azure.
Monitoring Reader (Читатель данных мониторинга) Может читать все данные мониторинга.
Участник политики ресурсов (предварительная версия) Пользователи с обратным заполнением из Соглашений Enterprise с правами на создание или изменение политики ресурсов, создание запросов в службу поддержки и чтение ресурсов и иерархии.
Администратор доступа пользователей Позволяет пользователю управлять доступом других пользователей к ресурсам Azure.
Участник веб-сайта Позволяет управлять веб-сайтами (не веб-планами), но не доступом к ним.

Редактирование включает создание, удаление и обновление:

  • Ресурсы
  • Веб-тесты
  • видны узлы
  • Непрерывный экспорт

Выбор пользователя

Если в каталоге нет необходимого пользователя, вы можете пригласить любого пользователя с учетной записью Майкрософт Если они используют такие службы, как Outlook.com, OneDrive, Windows Phone или Xbox Live, у них есть учетная запись Майкрософт.

См. статью Управление доступом на основе ролей Azure (Azure RBAC).

Запрос PowerShell для определения членства в роли

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

Запрос всей подписки для назначения ролей администратора и ролей участника

(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

Запрос в контексте конкретного ресурса Application Insights для владельцев и участников

$resourceGroup = "RGNAME"
$resourceName = "AppInsightsName"
$resourceType = "microsoft.insights/components"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup -ResourceType $resourceType -ResourceName $resourceName | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

Запрос в контексте конкретной группы ресурсов для владельцев и участников

$resourceGroup = "RGNAME"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "