Contrôle d’accès, rôles et ressources dans Application Insights

Vous pouvez contrôler les utilisateurs ayant accès en lecture et mise à jour à vos données dans Application Insights à l’aide du contrôle d’accès en fonction du rôle Azure (Azure RBAC).

Important

Accordez l’accès aux utilisateurs dans le groupe de ressources ou l’abonnement auquel appartient votre ressource d’application et non dans la ressource elle-même. Affectez le rôle de Collaborateur de composants Application Insights. Ce rôle garantit un contrôle d’accès uniforme aux tests et aux alertes Web, ainsi qu’aux ressources de votre application. Plus d’informations

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Ressources, groupes et abonnements

Tout d’abord, nous allons définir certains termes :

  • Ressource : instance d’un service Azure. Votre ressource Application Insights collecte, analyse et affiche les données de télémétrie envoyées par votre application. Les autres types de ressources Azure incluent des applications Web, des bases de données et des machines virtuelles.

    Pour voir vos ressources, ouvrez le Portail Azure, connectez-vous, puis sélectionnez Toutes les ressources. Pour trouver une ressource, entrez une partie de son nom dans le champ filtre.

    Screenshot that shows a list of Azure resources.

  • Groupe de ressources : chaque ressource appartient à un seul groupe. Un groupe est un moyen pratique de gérer les ressources apparentées, en particulier pour le contrôle d’accès. Par exemple, vous pouvez placer dans un groupe de ressources une application Web, une ressource Application Insights pour surveiller l’application et une ressource Stockage Azure pour conserver les données exportées.
  • Abonnement : pour utiliser Application Insights ou d’autres ressources Azure, vous vous connectez à un abonnement Azure. Chaque groupe de ressources appartient à un abonnement Azure, où vous choisissez votre forfait de prix. S’il s’agit d’un abonnement d’organisation, le propriétaire peut choisir les membres et leurs autorisations d’accès.
  • Compte Microsoft : le nom d’utilisateur et le mot de passe que vous utilisez pour vous connecter aux abonnements Azure, à Xbox Live, à Outlook.com et à d’autres services Microsoft.

Contrôle de l’accès dans le groupe de ressources

En plus de la ressource que vous avez créée pour votre application, il existe également des ressources distinctes masquées pour les alertes et les tests Web. Elles sont associées au même groupe de ressources que votre ressource Application Insights. Vous pouvez également placer d’autres services Azure ici, comme des sites Web ou du stockage.

Fournir l’accès à un autre utilisateur

Vous devez disposer des droits du propriétaire de l’abonnement ou du groupe de ressources.

L’utilisateur doit disposer d’un compte Microsoft ou d’un accès à son compte professionnel Microsoft. Vous pouvez fournir l’accès aux personnes et aux groupes d’utilisateurs définis dans Microsoft Entra ID.

Accéder au groupe de ressources ou directement à la ressource

Attribuez le rôle Contributeur à Azure RBAC.

Pour connaître la procédure détaillée, consultez Attribuer des rôles Azure à l’aide du portail Azure.

Sélectionnez un rôle

Le cas échéant, le lien est connecté à la documentation de référence officielle associée.

Role Dans le groupe de ressources
Propriétaire Peut tout modifier, y compris l’accès utilisateur.
Contributeur Peut tout modifier, y compris l’ensemble des ressources.
Contributeur de composants Application Insights Peut modifier les ressources Application Insights.
Lecteur Peut afficher les éléments, mais ne peut rien modifier.
Débogueur de capture instantanée d’Application Insights Autorise l’utilisateur à utiliser les fonctionnalités du débogueur de capture instantanée d’Application Insights. Ce rôle n’est pas inclus dans les rôles de propriétaire et de contributeur.
Contributeur de gestion des mises en production de déploiement Azure Service Rôle de contributeur pour le déploiement de services via le déploiement Azure Service.
Videur de données Rôle spécial pour le vidage des données personnelles. Pour en savoir plus, consultez Gérer les données personnelles dans Log Analytics et Application Insights.
Administrateur Azure ExpressRoute Peut créer, supprimer et gérer des itinéraires express.
Contributeur Log Analytics Peut lire toutes les données de surveillance et modifier les paramètres de surveillance. La modification des paramètres de supervision inclut l’ajout de l’extension de machine virtuelle aux machines virtuelles, la lecture des clés de comptes de stockage permettant de configurer la collection de journaux d’activité du stockage Azure, la création et la configuration de comptes Automation, l’ajout de solutions et la configuration de diagnostics Azure sur toutes les ressources Azure. Si vous rencontrez des problèmes pour configurer vos diagnostics Azure, consultez Diagnostics Azure.
Lecteur Log Analytics Peut afficher et rechercher toutes les données de surveillance, ainsi qu’afficher les paramètres de surveillance, notamment la configuration des diagnostics Azure sur toutes les ressources Azure. Si vous rencontrez des problèmes pour configurer vos diagnostics Azure, consultez Diagnostics Azure.
masterreader Permet à un utilisateur d’afficher tous les éléments, mais sans apporter de modifications.
Contributeur de surveillance Peut lire toutes les données de surveillance et mettre à jour les paramètres de surveillance.
Publication des métriques de surveillance Permet de publier les métriques relatives aux ressources Azure.
Lecteur de surveillance Peut lire toutes les données de surveillance.
Contributeur de stratégie de ressource (préversion) Utilisateurs renvoyés de Contrat Entreprise, avec des droits pour créer ou modifier une stratégie de ressource, créer un ticket de support et lire une ressource/hiérarchie.
Administrateur de l’accès utilisateur Permet à un utilisateur de gérer l’accès d’autres utilisateurs à des ressources Azure.
Contributeur de site web Vous permet de gérer des sites web (pas des plans web), mais pas d’y accéder.

Une « modification » inclut la création, la suppression et la mise à jour des éléments suivants :

  • Ressources
  • Tests web
  • Alertes
  • Exportation continue

Sélectionnez l’utilisateur

Si l’utilisateur n’est pas dans le répertoire, vous pouvez inviter toute personne disposant d’un compte Microsoft. Si elle utilise des services comme Outlook.com, OneDrive, Windows Phone ou XBox Live, elle dispose d’un compte Microsoft.

Consultez l’article Contrôle d’accès en fonction du rôle Azure (Azure RBAC).

Requête PowerShell permettant de déterminer l’appartenance au rôle

Dans la mesure où certains rôles peuvent être liés aux notifications et aux alertes de courrier électronique, il peut être utile de pouvoir générer une liste des utilisateurs qui appartiennent à un rôle donné. Pour faciliter la génération de ces types de listes, les exemples de requêtes suivants peuvent être adaptés pour répondre à vos besoins spécifiques :

Interroger l’ensemble de l’abonnement pour les rôles d’administrateur + des rôles de contributeur

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

Requête dans le contexte d’une ressource Application Insights spécifique pour les propriétaires et les collaborateurs

$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 ", "

Requête dans le contexte d’un groupe de ressources spécifique pour les propriétaires et les collaborateurs

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