Accorder le consentement administrateur (autorisations AD)
C'est l'étape la plus importante pour une expérience sans fenêtres contextuelles.
Icon Map connecte chaque utilisateur avec son identité Microsoft Entra (Azure AD) et lit, en son nom, ses données Fabric et OneLake. Pour cela, il demande un ensemble d'autorisations déléguées. Si ces autorisations n'ont pas fait l'objet d'un consentement au niveau du locataire, chaque utilisateur est invité à y consentir la première fois qu'une fonctionnalité en a besoin : c'est la fenêtre « Autorisations demandées ». Accorder une seule fois le consentement administrateur à l'échelle du locataire supprime ces invites pour tout le monde.
La charge de travail est enregistrée sous forme de deux applications Entra, un frontend et un backend, et toutes deux nécessitent un consentement. Cette page couvre les deux.
En bref
Si la personne qui ajoute la charge de travail est administrateur Entra, tout se résume à trois invites dans Fabric : une à l'ajout de la charge de travail (l'application backend), une à l'ouverture de la première carte (l'application frontend) et une la première fois qu'un Lakehouse ou un Eventhouse est connecté (l'autorisation OneLake ou Eventhouse demandée au besoin). Cochez Consentement au nom de votre organisation à chaque fois et personne d'autre dans le locataire ne sera jamais sollicité. Les administrateurs qui préfèrent ne pas ouvrir le produit peuvent tout faire, y compris préparer le locataire et pré-approuver les autorisations demandées au besoin, avec un seul script : Onboard-IconMapTenant.ps1 (Option C). La suite de cette page explique le contenu de ces invites et les alternatives.
Le consentement est délégué : Icon Map agit en tant qu'utilisateur connecté et ne peut accéder qu'aux données que cet utilisateur est déjà autorisé à voir. Le consentement administrateur ne donne à Icon Map aucun accès autonome à vos données ; il pré-approuve simplement les autorisations pour que chaque utilisateur n'ait pas à le faire.
Qui s'en charge
Un Administrateur général, un Administrateur de rôle privilégié ou un Administrateur d'application cloud dans Microsoft Entra.
Les applications
Le frontend est l'application à laquelle vos utilisateurs se connectent. Le backend est l'application que Fabric appelle lui-même pour chaque création, enregistrement et suppression d'élément, et celle qui exécute les tâches du Générateur de tuiles et dessert les visuels Power BI. Ne consentir qu'au frontend laisse le locataire à moitié configuré.
| Frontend | Backend | |
|---|---|---|
| Nom d'affichage | Tekantis.IconMap | Tekantis.IconMap-Backend |
| ID d'application (client) | 8ac140d7-88a0-4857-84b4-73c708afd645 |
81c50c7d-ca21-414c-b7d9-524410f38339 |
| Domaine de l'éditeur | tekantis.com | tekantis.com |
| Public de connexion | Multilocataire : un principal de service apparaît dans votre locataire à la première utilisation ou lors du consentement | Multilocataire : un principal de service apparaît dans votre locataire lors du consentement |
Les deux applications n'échouent pas de la même façon lorsqu'une autorisation manque. Une autorisation frontend manquante se traduit par une fenêtre « Autorisations demandées ». Le backend, lui, ne sollicite jamais personne : une autorisation backend manquante apparaît plus tard sous la forme d'une tâche du Générateur de tuiles en échec ou d'une liste de catalogues organisationnels vide dans un visuel Power BI, ce qui est bien plus difficile à relier au consentement.
Ce à quoi vous consentez
Tekantis.IconMap (frontend)
Le frontend demande les autorisations déléguées suivantes. Elles correspondent directement aux fonctionnalités du produit qui lisent vos données :
| API | Autorisation | Utilisée pour |
|---|---|---|
| Microsoft Graph | User.Read |
Vous connecter et lire votre profil de base. |
| Power BI / Fabric | Fabric.Extend |
S'exécuter en tant que charge de travail Fabric dans l'interface Fabric. |
| Power BI / Fabric | Fabric.Extend.IframeSandbox |
Exécuter l'iframe de l'éditeur avec le bac à sable assoupli de Fabric, afin que les fichiers exportés (CSV, GeoJSON, plans d'étage, vidéos de visite) se téléchargent directement depuis le navigateur, sans passer par un serveur Tekantis. |
| Power BI / Fabric | Workspace.Read.All |
Lister les espaces de travail que vous pouvez voir. |
| Power BI / Fabric | Capacity.Read.All |
Vérifier la capacité qui héberge un espace de travail. |
| Power BI / Fabric | Item.ReadWrite.All |
Ouvrir et enregistrer l'élément Icon Map, et lire les éléments sources. |
| Power BI / Fabric | Item.Execute.All |
Exécuter des requêtes sur les points de terminaison Warehouse et d'analytique SQL, et l'actualisation planifiée. |
| Power BI / Fabric | OneLake.ReadWrite.All |
Gérer le rôle d'accès aux données OneLake qui donne au lecteur des cartes publiées un accès en lecture seule au moment de la publication. Utilisée uniquement lorsque vous publiez une carte intégrée. |
| Power BI / Fabric | Dataset.Read.All |
Les sources modèle sémantique et les requêtes DAX. La sécurité au niveau des lignes reste appliquée par le modèle. |
| Power BI / Fabric | Connection.Read.All |
Lister les connexions, pour découvrir un géocatalogue Planetary Computer. Lecture seule. |
Deux autorisations ne figurent volontairement pas dans cette liste et sont demandées au besoin, la première fois qu'une fonctionnalité en a besoin. Consultez Autorisations demandées au besoin :
| API | Autorisation | Utilisée pour |
|---|---|---|
| Azure Storage | user_impersonation |
Lire et écrire vos fichiers OneLake : les tables et fichiers Lakehouse, l'imagerie, les tuiles, les cartes publiées et l'écriture différée sont tous lus via le point de terminaison OneLake sous votre identité, et les URL SAS OneLake de courte durée que le navigateur utilise pour les tuiles sont générées à partir de ce jeton. |
| Azure Data Explorer | user_impersonation |
Exécuter des requêtes KQL sur Eventhouse. |
Notez ce qui ne figure pas non plus dans la liste. Icon Map ne détient aucune autorisation Fabric Lakehouse.* ou Eventhouse.* : les tables et fichiers Lakehouse sont lus directement depuis OneLake, et Eventhouse est interrogé via le cluster Kusto. Il ne détient pas non plus Tenant.Read.All ni Tenant.ReadWrite.All, les autorisations de l'API d'administration Fabric : il ne peut donc rien voir à l'échelle du locataire.
Toutes ces autorisations sont déléguées (elles agissent en tant qu'utilisateur) : l'expérience de création ne comporte aucun accès aux données en mode application seule.
openid, profile et offline_access sur Microsoft Graph font l'objet du consentement en même temps : ce sont les éléments de base de la connexion, qui ne donnent accès à aucune donnée. offline_access correspond à ce que la boîte de dialogue de consentement décrit comme « Maintenir l'accès aux données auxquelles vous lui avez donné accès » : cela permet à Icon Map d'actualiser votre jeton en silence au lieu de vous solliciter à nouveau.
Tekantis.IconMap-Backend
Le backend ne détient jamais de session propre. Lorsque Fabric l'appelle, ou lorsqu'un visuel Power BI s'y connecte, il échange le jeton de l'appelant au nom de cet utilisateur (OAuth 2.0 On-Behalf-Of) contre des jetons Fabric et OneLake de courte durée : il n'atteint donc que ce que l'utilisateur peut déjà atteindre. Ses autorisations déléguées sont un sous-ensemble de celles du frontend :
| API | Autorisation | Utilisée pour |
|---|---|---|
| Microsoft Graph | User.Read |
Éléments de base de la connexion. |
| Microsoft Graph | SensitivityLabel.Read |
Lire les étiquettes de confidentialité des éléments utilisés par une carte, ainsi que vos droits d'utilisation associés, pour que les exports et la publication respectent l'étiquette. Consentement administrateur uniquement ; sans lui, les exports de données étiquetées sont refusés plutôt qu'autorisés. |
| Power BI / Fabric | Fabric.Extend |
Résoudre les autorisations de l'utilisateur sur un élément Icon Map via l'API de contrôle de la charge de travail. |
| Power BI / Fabric | Workspace.Read.All |
Lister les espaces de travail que l'utilisateur peut voir, pour les visuels Power BI et pour la publication. |
| Power BI / Fabric | Item.ReadWrite.All, Item.Execute.All |
Lire les éléments Catalogue organisationnel que l'utilisateur peut voir, pour les visuels Power BI et pour la publication, et créer et exécuter la définition de tâche Spark qui sous-tend les tâches du Générateur de tuiles. |
Il détient aussi la seule autorisation d'application (application seule) de tout l'écosystème Icon Map : Microsoft Graph CrossTenantInformation.ReadBasic.All, utilisée pour résoudre le nom d'affichage et le domaine de votre locataire. Il s'agit de métadonnées d'annuaire, qui ne donnent accès à aucune de vos données, mais elle apparaît sur l'écran de consentement sous Autorisations d'application, et seul un administrateur peut l'accorder. C'est l'une des raisons pour lesquelles le backend nécessite un consentement administrateur plutôt qu'un consentement utilisateur.
Le backend lit et écrit aussi dans OneLake au nom de l'utilisateur (sorties du Générateur de tuiles, manifestes de catalogues organisationnels et images Lakehouse pour les visuels Power BI) avec Azure Storage user_impersonation. Comme pour le frontend, cette autorisation est demandée au besoin : Icon Map la demande la première fois qu'une personne lance une tâche du Générateur de tuiles, et un administrateur peut la pré-approuver pour tout le monde (consultez Autorisations demandées au besoin).
Contrairement au frontend, le backend demande tout son ensemble d'autorisations en une fois (/.default). Une autorisation absente du consentement à l'échelle du locataire ne déclenche aucune invite ; l'appel échoue simplement. Si les tâches du Générateur de tuiles ou la navigation dans les catalogues organisationnels depuis Power BI cessent de fonctionner après une modification du consentement, réexécutez l'URL de consentement administrateur du backend ci-dessous, puis accordez à nouveau au backend l'autorisation Azure Storage demandée au besoin.
À propos du « All » dans ces noms
Item.ReadWrite.All, Dataset.Read.All et les autres donnent l'impression qu'Icon Map peut tout voir dans votre locataire. Ce n'est pas le cas. Ce sont des autorisations déléguées : le jeton porte l'identité de l'utilisateur connecté, et Fabric évalue les autorisations propres de cet utilisateur sur les éléments à chaque appel. Item.ReadWrite.All signifie « lire et modifier les éléments que cet utilisateur est déjà autorisé à lire et à modifier ». Le suffixe est la convention de nommage de Microsoft pour l'ensemble de l'API Fabric, et non une indication de portée : il n'existe pas de variante plus restreinte, par espace de travail ou par élément, à demander à la place. Les autorisations qui couvrent réellement tout un locataire sont Tenant.Read.All et Tenant.ReadWrite.All, et Icon Map ne demande ni l'une ni l'autre.
Pour restreindre davantage la portée, contrôlez qui peut utiliser l'application plutôt que les autorisations : consultez Restreindre qui peut utiliser Icon Map ci-dessous.
Restreindre qui peut utiliser Icon Map
Le consentement administrateur s'applique à tout le locataire, mais l'utilisation de l'application n'a pas à l'être. Deux contrôles, entièrement entre vos mains et qui ne nécessitent rien de la part de Tekantis :
- Exiger une affectation. Dans Entra ID, Applications d'entreprise, Tekantis.IconMap, Propriétés, réglez Affectation requise sur Oui, puis ajoutez sous Utilisateurs et groupes uniquement les utilisateurs ou les groupes qui doivent avoir accès à Icon Map. Toute personne en dehors de cet ensemble se voit refuser un jeton, quelles que soient les autorisations accordées. Ce contrôle se combine bien avec la restriction des paramètres du locataire Fabric au même groupe de sécurité.
- Accès conditionnel. Ciblez l'application avec une stratégie d'accès conditionnel pour l'authentification multifacteur, les appareils conformes ou joints de manière hybride, les emplacements nommés ou la fréquence de connexion, comme pour toute autre application d'entreprise.
Pour la plupart des organisations, ce contrôle est plus pertinent que la liste des autorisations, car il limite qui peut agir, et non ce qu'un utilisateur autorisé pourrait déjà faire lui-même.
Avant le consentement : préparer votre locataire
Microsoft Entra n'autorise le consentement d'une application pour un service Microsoft qu'une fois que ce service dispose d'une entrée (un principal de service) dans votre locataire. Entra crée cette entrée la première fois qu'une application tierce, quelle qu'elle soit, reçoit un consentement pour ce service, mais il ne peut pas la créer dans le cadre de ce même consentement. Fabric ne la crée pas non plus. Dans un locataire qui n'a jamais utilisé un service via une application tierce, le premier consentement pour ce service échoue donc avec :
AADSTS650052: The app is trying to access a service '<id>'(Azure Storage) that your
organization '<tenant>' lacks a service principal for.
Le consentement propre à Icon Map ne dépend plus de tels services (seulement de Microsoft Graph et de Power BI, présents dans tout locataire Fabric) : les deux URL de consentement administrateur ci-dessous fonctionnent donc dans n'importe quel locataire. Mais la première fois que quelqu'un connecte un Lakehouse (Azure Storage) ou un Eventhouse (Azure Data Explorer), Entra a besoin que l'entrée existe. Créez-la une fois, dans Azure Cloud Shell ou dans toute session az connectée à votre locataire en tant qu'Administrateur d'application cloud, Administrateur d'application ou Administrateur général :
az ad sp create --id e406a681-f3d4-42a8-90b6-c2b029497af1
et, uniquement si vous connecterez des sources Eventhouse / KQL :
az ad sp create --id 2746ea77-4702-4b45-80ca-3c97e680e8b7
Les deux commandes sont idempotentes : « Another object with the same value for property appId already exists » signifie que l'entrée existait déjà. L'équivalent Graph PowerShell est New-MgServicePrincipal -AppId <id>. Ces entrées ne contiennent aucun identifiant et n'accordent aucun accès ; ce sont les mêmes objets qu'Entra créerait en silence la première fois qu'une autre application utiliserait ces services. Pour vérifier si votre locataire les possède déjà, cherchez Azure Storage et Azure Data Explorer sous Applications d'entreprise avec le filtre Type d'application réglé sur Toutes les applications.
Dans le portail Azure. Aucune page du Centre d'administration Microsoft Entra ne crée l'entrée d'un service Microsoft (Applications d'entreprise, Nouvelle application ne propose que la galerie et vos propres inscriptions), mais vous pouvez exécuter la commande sans rien installer grâce à l'interpréteur intégré au portail :
- Connectez-vous à portal.azure.com en tant qu'administrateur du locataire.
- Sélectionnez l'icône Cloud Shell dans la barre supérieure (le symbole
>_) et choisissez PowerShell. La première fois, acceptez l'invite de stockage ou choisissez Aucun compte de stockage requis. - Vérifiez que l'interpréteur est dans le bon locataire :
az account show --query tenantId -o tsv. Si ce n'est pas le cas, exécutezaz login --tenant <your-tenant-id> --allow-no-subscriptions. - Collez la ligne
az ad sp createci-dessus et appuyez sur Entrée. - Vérifiez sous Microsoft Entra ID, Applications d'entreprise avec le filtre Type d'application réglé sur Toutes les applications : Azure Storage apparaît désormais.
Ou téléchargez le script : Prepare-IconMapTenant.ps1 effectue la vérification et la création en une fois (-TenantId <guid>, ajoutez -IncludeEventhouse pour la seconde entrée, -WhatIf pour un aperçu) et ne nécessite que l'Azure CLI : il s'exécute donc aussi dans Cloud Shell.
Il s'agit d'une particularité de Microsoft Entra et de Fabric, et non d'Icon Map : toute charge de travail partenaire qui lit OneLake via l'API Azure Storage y est soumise, et le guide de démarrage rapide de Microsoft pour les charges de travail Fabric comporte la même étape. Les locataires qui ont déjà utilisé Azure Storage ou Azure Data Explorer via une application tierce trouveront les entrées déjà présentes et peuvent ignorer cette section.
Comment accorder le consentement
Donnez votre consentement aux deux applications. Chacune des méthodes ci-dessous accorde en une seule action le consentement à l'ensemble des autorisations d'une application : inutile de consentir fonctionnalité par fonctionnalité.
Option A - accepter les invites dans Fabric (recommandé)
Lorsqu'un administrateur ajoute la charge de travail et ouvre la première carte, Fabric affiche lui-même les invites de consentement, et l'invite d'un administrateur comporte une case Consentement au nom de votre organisation. La cocher enregistre le même consentement à l'échelle du locataire que les URL ci-dessous.
- Connectez-vous à Fabric avec un utilisateur qui est à la fois administrateur Fabric (ou administrateur de capacité) et Administrateur général, Administrateur d'application cloud ou Administrateur d'application Entra.
- Ajoutez la charge de travail depuis le hub des charges de travail. Une invite pour Tekantis.IconMap-Backend apparaît : c'est l'application que Fabric appelle pour chaque opération sur un élément. Cochez Consentement au nom de votre organisation et choisissez Accepter.
- Créez ou ouvrez un élément Icon Map. Une invite pour Tekantis.IconMap apparaît la première fois que l'éditeur demande un jeton à Fabric. Cochez à nouveau la case et choisissez Accepter.
- Connectez un Lakehouse (et, si vous en utilisez, un Eventhouse). L'autorisation demandée au besoin déclenche une invite unique ; cochez la case une troisième fois. Dans un locataire qui n'a jamais utilisé Azure Storage, c'est à cette étape que s'affiche la page préparer votre locataire : exécutez la commande unique et réessayez.
Pour la plupart des organisations, l'intégration est alors terminée. Si la case à cocher est absente, votre compte n'a pas de rôle d'administrateur ou la stratégie de consentement de votre locataire l'a désactivée ; utilisez l'option B.
Option B - URL de consentement administrateur
Pour les administrateurs qui préfèrent donner leur consentement avant le déploiement de la charge de travail auprès des utilisateurs, ou sans ouvrir le produit. Ouvrez successivement chacune des URL suivantes, connecté en tant qu'administrateur, en remplaçant {your-tenant-id} par l'ID de votre locataire Entra (un GUID). Examinez les autorisations et choisissez Accepter à chaque fois pour donner votre consentement au nom de toute votre organisation.
Le paramètre redirect_uri de chaque URL renvoie le résultat vers une page d'Icon Map, qui affiche soit une confirmation, soit la raison exacte du refus du consentement. Sans lui, Entra choisit l'une des adresses enregistrées de l'application et le résultat peut se perdre dans une page Fabric.
Frontend, Tekantis.IconMap :
https://login.microsoftonline.com/{your-tenant-id}/adminconsent?client_id=8ac140d7-88a0-4857-84b4-73c708afd645&redirect_uri=https://app.iconmap.ai/close
Backend, Tekantis.IconMap-Backend :
https://login.microsoftonline.com/{your-tenant-id}/adminconsent?client_id=81c50c7d-ca21-414c-b7d9-524410f38339&redirect_uri=https://app.iconmap.ai/close
Ces deux URL couvrent les autorisations que chaque application déclare. L'autorisation OneLake est demandée au besoin et n'est pas incluse : si votre locataire ne permet pas aux utilisateurs de donner leur consentement eux-mêmes, ouvrez aussi les deux URL suivantes. Elles pré-approuvent l'accès OneLake pour tout le monde, si bien que le premier Lakehouse ne déclenche aucune invite :
https://login.microsoftonline.com/{your-tenant-id}/adminconsent?client_id=8ac140d7-88a0-4857-84b4-73c708afd645&scope=https://storage.azure.com/user_impersonation&redirect_uri=https://app.iconmap.ai/close
https://login.microsoftonline.com/{your-tenant-id}/adminconsent?client_id=81c50c7d-ca21-414c-b7d9-524410f38339&scope=https://storage.azure.com/user_impersonation&redirect_uri=https://app.iconmap.ai/close
Elles nécessitent que l'entrée Azure Storage décrite dans Avant le consentement existe. Eventhouse fonctionne par cluster : il est donc plus simple de le pré-approuver avec le script. Consultez Autorisations demandées au besoin.
Option C - un seul script pour tout
Onboard-IconMapTenant.ps1 effectue toute l'intégration via Microsoft Graph, sans ouvrir le produit ni les URL, et il est idempotent : si vous le réexécutez, il indique ce qui est déjà en place.
- Crée l'entrée du locataire pour Azure Storage (et pour Azure Data Explorer avec
-IncludeEventhouse) : c'est l'étape préparer votre locataire. - Crée les principaux de service de Tekantis.IconMap et de Tekantis.IconMap-Backend.
- Enregistre le consentement à l'échelle du locataire pour les autorisations déclarées de chaque application : ce que font les invites de l'option A et les URL de l'option B.
- Attribue l'unique autorisation d'application du backend (Microsoft Graph
CrossTenantInformation.ReadBasic.All). - Pré-approuve l'autorisation Azure Storage demandée au besoin pour les deux applications, et Azure Data Explorer pour le frontend avec
-IncludeEventhouse, pour que le premier Lakehouse ou Eventhouse ne déclenche pas d'invite non plus. - Liste chaque autorisation enregistrée, pour vos archives.
./Onboard-IconMapTenant.ps1 -TenantId {your-tenant-id} -WhatIf
./Onboard-IconMapTenant.ps1 -TenantId {your-tenant-id} -IncludeEventhouse
Il ne nécessite que l'Azure CLI : il s'exécute donc dans Azure Cloud Shell (chargez le fichier avec le bouton de chargement de l'interpréteur, puis exécutez-le depuis ~). Utilisez d'abord -WhatIf pour voir ce qu'il modifierait. L'étape 4 nécessite un Administrateur général ou un Administrateur de rôle privilégié ; un Administrateur d'application cloud peut exécuter tout le reste, et le script le signale s'il doit ignorer cette étape.
Option D - Applications d'entreprise
- Dans le Centre d'administration Microsoft Entra, accédez à Applications d'entreprise.
- Recherchez Tekantis.IconMap (elle apparaît après l'activation de la charge de travail, ou après une première connexion).
- Ouvrez Autorisations et choisissez Accorder un consentement d'administrateur pour <votre organisation>.
- Répétez l'opération pour Tekantis.IconMap-Backend. Si elle n'est pas encore listée, son principal de service n'a pas encore été créé dans votre locataire ; utilisez plutôt l'URL backend de l'option B, qui le crée et donne le consentement en une seule étape.
Cette page n'affiche que les autorisations qu'une application déclare : elle ne peut donc pas pré-approuver celles qui sont demandées au besoin.
Scripts
Les trois sont des scripts PowerShell, ne nécessitent que l'Azure CLI, s'exécutent dans Azure Cloud Shell, prennent en charge -WhatIf et sont idempotents.
| Script | Rôle | Quand l'utiliser |
|---|---|---|
| Onboard-IconMapTenant.ps1 | Tout ce que décrit cette page : prépare le locataire, accorde le consentement aux deux applications pour tous les utilisateurs, attribue l'autorisation d'application du backend, pré-approuve les autorisations demandées au besoin | Vous voulez un déploiement sans invite, sans aucun clic dans le produit |
| Prepare-IconMapTenant.ps1 | Crée uniquement les entrées Azure Storage (et, en option, Azure Data Explorer) | Vous donnez votre consentement via les invites ou les URL et n'avez besoin que de la préparation unique |
| Grant-IconMapResourceConsent.ps1 | Pré-approuve une autorisation demandée au besoin (Storage ou Eventhouse) pour une application | Le consentement est déjà accordé et vous voulez ensuite supprimer l'invite Lakehouse ou Eventhouse |
Autorisations demandées au besoin
Azure Storage (OneLake) et Azure Data Explorer (Eventhouse) ne sont pas déclarés sur les applications Icon Map et ne sont donc pas couverts par les URL de consentement administrateur ci-dessus. Icon Map les demande la première fois qu'un utilisateur se sert d'une fonctionnalité qui en a besoin :
| Autorisation | Première demande | Application concernée |
|---|---|---|
Azure Storage user_impersonation |
Utilisation d'une table ou d'un fichier Lakehouse, d'une image depuis OneLake, d'un catalogue organisationnel ou de la publication | Tekantis.IconMap (frontend) |
Azure Storage user_impersonation |
Lancement d'une tâche du Générateur de tuiles | Tekantis.IconMap-Backend |
Azure Data Explorer user_impersonation |
Interrogation d'une source Eventhouse / base de données KQL | Tekantis.IconMap (frontend) |
Les fonds de carte, le catalogue Icon Map, les sources modèle sémantique, Warehouse et point de terminaison SQL n'ont besoin d'aucune de ces autorisations et fonctionnent dès que les applications ont reçu le consentement.
Dans un locataire qui autorise le consentement utilisateur, l'utilisateur voit une invite pour l'autorisation et l'accepte.
Si vos utilisateurs ne peuvent pas donner leur consentement eux-mêmes (paramètre Entra Ne pas autoriser le consentement de l'utilisateur, ou paramètre des éditeurs vérifiés, qui exclut ces autorisations), l'utilisateur voit « Nécessite le consentement de l'administrateur » la première fois qu'il connecte un Lakehouse ou un Eventhouse et ne peut pas aller plus loin : les deux URL de consentement administrateur de l'option B ne couvrent pas ces autorisations à elles seules. Un administrateur doit les pré-approuver une fois, de l'une des trois façons suivantes, après quoi plus aucun utilisateur n'est sollicité :
Depuis l'invite. La première fois qu'un administrateur utilise la fonctionnalité, il coche Consentement au nom de votre organisation dans l'invite. Aucun outil n'est nécessaire.
URL de consentement administrateur avec une étendue. Le même point de terminaison que ci-dessus accepte un paramètre
scope:https://login.microsoftonline.com/{your-tenant-id}/adminconsent?client_id=8ac140d7-88a0-4857-84b4-73c708afd645&scope=https://storage.azure.com/user_impersonation&redirect_uri=https://app.iconmap.ai/close https://login.microsoftonline.com/{your-tenant-id}/adminconsent?client_id=81c50c7d-ca21-414c-b7d9-524410f38339&scope=https://storage.azure.com/user_impersonation&redirect_uri=https://app.iconmap.ai/closePour Eventhouse, l'étendue est
https://{your-cluster}.kusto.fabric.microsoft.com/user_impersonation; la voie Graph ci-dessous est plus simple.Script. Onboard-IconMapTenant.ps1 le fait dans le cadre d'une intégration complète ; pour l'ajouter ensuite, Grant-IconMapResourceConsent.ps1
-TenantId <tenant> -Resource Storage(ou-Resource Eventhouse, et-App Backendpour le backend) enregistre le consentement via Microsoft Graph. Il crée aussi les entrées de service décrites dans Avant le consentement si elles manquent. Il ne nécessite que l'Azure CLI et s'exécute donc dans Azure Cloud Shell ; ajoutez-WhatIfpour un aperçu.
Notez que le bouton Applications d'entreprise, Autorisations, Accorder un consentement d'administrateur du Centre d'administration Microsoft Entra ne fait pas partie de ces voies : il n'accorde que les autorisations déclarées par une application, et celles-ci ne le sont volontairement pas. La case à cocher de l'invite et l'URL avec un paramètre scope sont les deux seules méthodes qui passent uniquement par le navigateur.
Si votre locataire bloque le consentement utilisateur (voir ci-dessous), l'une de ces méthodes est obligatoire avant que quiconque puisse utiliser des sources Lakehouse ou Eventhouse ; le produit en informe les utilisateurs, et la demande passe par le flux de demande de consentement administrateur si votre locataire en utilise un.
Paramètres de consentement utilisateur Entra
Indépendamment de ce qui précède, Entra ID, Applications d'entreprise, Consentement et autorisations détermine si les utilisateurs ordinaires sont autorisés à donner leur consentement eux-mêmes :
- Autoriser le consentement de l'utilisateur pour les applications : les utilisateurs voient la fenêtre « Autorisations demandées » et peuvent l'accepter eux-mêmes. Icon Map fonctionne, mais chaque utilisateur est sollicité.
- Ne pas autoriser le consentement de l'utilisateur : les utilisateurs voient « Approbation de l'administrateur nécessaire » et sont bloqués jusqu'à ce qu'un administrateur donne son consentement. Dans cette configuration, le consentement administrateur à l'échelle du locataire n'est pas facultatif : c'est un prérequis avant que quiconque puisse utiliser Icon Map.
- Autoriser le consentement de l'utilisateur pour les applications d'éditeurs vérifiés, pour les autorisations sélectionnées : le paramètre intermédiaire. Plusieurs autorisations d'Icon Map sont des étendues Fabric
*.Allréservées aux administrateurs : les utilisateurs restent donc bloqués sur celles-ci.
Si votre locataire utilise le flux de demande de consentement administrateur, une demande Icon Map apparaît sous Demandes de consentement administrateur pour approbation.
Vérifier le consentement
Après le consentement, vérifiez les deux applications, et vérifiez que les autorisations sont enregistrées pour tous les utilisateurs plutôt qu'utilisateur par utilisateur. Dans Applications d'entreprise, Tekantis.IconMap, Autorisations, l'onglet Consentement administrateur doit lister les autorisations frontend ci-dessus. Tekantis.IconMap-Backend doit lister l'ensemble backend, y compris l'autorisation d'application Microsoft Graph. Tout ce qui n'apparaît que dans l'onglet Consentement de l'utilisateur a été accordé par une personne seule et sollicitera encore la personne suivante.
La même vérification avec l'Azure CLI : un consentement à l'échelle du locataire a un consentType égal à AllPrincipals, un consentement par utilisateur a Principal :
az ad sp show --id 8ac140d7-88a0-4857-84b4-73c708afd645 --query id -o tsv
az rest --method GET --url "https://graph.microsoft.com/v1.0/servicePrincipals/<objectId>/oauth2PermissionGrants"
Répétez avec 81c50c7d-ca21-414c-b7d9-524410f38339 pour le backend. Son autorisation d'application est enregistrée séparément, sous forme d'attribution de rôle d'application :
az rest --method GET --url "https://graph.microsoft.com/v1.0/servicePrincipals/<backendObjectId>/appRoleAssignments"
Après le consentement
- Prévoyez 10 à 30 minutes pour la propagation du consentement.
- Les nouveaux utilisateurs doivent désormais pouvoir ouvrir Icon Map et utiliser ses fonctionnalités sans invite de consentement.
- Les utilisateurs qui avaient déjà donné leur consentement individuellement ne sont pas affectés ; ils ne sont simplement plus sollicités.
Dépannage
Une invite est apparue dès l'ajout de la charge de travail, avant que quiconque ait ouvert une carte. C'est normal : il s'agit du consentement de l'application backend, que Fabric demande lors de l'ajout de la charge de travail. Acceptez-le (au nom de votre organisation si vous êtes administrateur). L'application frontend déclenche une nouvelle invite à l'ouverture de la première carte.
Un utilisateur est encore sollicité après le consentement administrateur. Entra demande un consentement pour toute étendue non couverte par un consentement à l'échelle du locataire, même lorsque l'application a reçu par ailleurs le consentement. Vérifiez dans l'onglet Consentement administrateur que l'autorisation précise nommée dans la fenêtre y figure. Une fenêtre indiquant « Afficher tous les jeux de données » correspond par exemple à Dataset.Read.All, que seules les sources modèle sémantique utilisent et qu'il est facile de manquer si le consentement a été accordé avant que cette fonctionnalité soit utilisée. Réexécuter l'URL de consentement administrateur reprend l'ensemble actuel complet.
Les tâches du Générateur de tuiles échouent, ou l'onglet Catalogues organisationnels d'un visuel Power BI est vide, sans aucune fenêtre. L'application backend n'a pas reçu le consentement, ou une autorisation manque dans son consentement. Le backend ne sollicite jamais personne. Vérifiez Tekantis.IconMap-Backend dans l'onglet Consentement administrateur, ou réexécutez son URL de consentement administrateur.
La fenêtre, ou l'URL de consentement administrateur, échoue avec AADSTS650052 « ...lacks a service principal for ». Votre locataire n'a jamais utilisé le service nommé (Azure Storage ou Azure Data Explorer) via une application tierce : Entra n'a donc pas encore d'entrée pour lui et ne peut pas enregistrer le consentement. Suivez Avant le consentement : préparer votre locataire (une seule commande crée l'entrée), puis réessayez. Icon Map affiche la même explication, avec la commande, chaque fois qu'il rencontre ce cas.
Les sources Lakehouse ou Eventhouse indiquent « Nécessite le consentement de l'administrateur ». Votre locataire n'autorise pas les utilisateurs à donner leur consentement, et l'autorisation demandée au besoin n'a pas été pré-approuvée. Un administrateur utilise l'une des trois voies décrites dans Autorisations demandées au besoin.
La fenêtre indique « non vérifié » et « Cette application n'est pas publiée par Microsoft ». C'est normal. Icon Map est publié par Tekantis Limited et non par Microsoft, et la boîte de dialogue présente ainsi tout éditeur autre que Microsoft. Accorder le consentement administrateur supprime complètement cette boîte de dialogue pour vos utilisateurs.
La fenêtre indique plutôt « Approbation de l'administrateur nécessaire ». Votre locataire bloque le consentement utilisateur ; consultez Paramètres de consentement utilisateur Entra ci-dessus. Un administrateur doit donner son consentement.
Invites de connexion ou d'authentification multifacteur répétées. Elles relèvent de l'accès conditionnel, et non du consentement, et cette étape ne les supprime pas. Consultez Navigateur et réseau.
Autres applications Icon Map
Les deux applications ci-dessus constituent la charge de travail Fabric. Icon Map utilise volontairement des applications Entra distinctes pour chaque surface du produit, chacune avec les autorisations minimales nécessaires à sa tâche : au-delà de la charge de travail, vous ne donnez votre consentement qu'à ce que vous déployez.
- Icon Map Desktop (
f68c8ff5-476f-4282-a125-47151eb8c6e8) : utilisée pour la connexion de l'application de bureau. Accès au stockage OneLake, plusWorkspace.Read.AlletItem.ReadWrite.Allpour parcourir les espaces de travail et déployer des cartes, etDataset.Read.Allpour les sources modèle sémantique. Donnez-lui votre consentement de la même façon si vous déployez l'application de bureau ; une utilisation purement locale ne nécessite aucune connexion. - Icon Map QGIS Connector (
ab3aeae9-ced2-40cb-bc4f-9ce4cbb109f3) : utilisée par le plugin QGIS. Accès au stockage OneLake, plusWorkspace.Read.All,Item.Read.All,Item.ReadWrite.AlletItem.Execute.Allpour les modes de navigation et de création de carte. Le plugin comprend un assistant de consentement administrateur ; sans consentement administrateur, un mode réduit permet aux utilisateurs de publier en collant les ID d'espace de travail et d'élément, avec la seule autorisation OneLake que les utilisateurs peuvent accorder eux-mêmes. - Icon Map Embed Viewer (
31651b7a-301b-4581-871e-100cfd4d2099) : utilisée lorsque vous intégrez une carte en direct dans votre propre application interne et que vous laissez la carte connecter chaque lecteur. Si c'est au contraire votre propre application qui fournit le jeton d'accès (la configuration la plus courante), c'est votre propre application Entra qui est utilisée et celle-ci n'intervient pas : il n'y a alors rien à consentir ici. Elle ne détient que des autorisations déléguées en lecture seule : accès au stockage OneLake,Workspace.Read.All,Item.Read.AlletDataset.Read.All; l'accès Azure Data Explorer pour Eventhouse est demandé au besoin. Elle n'a volontairement pasItem.ReadWrite.All, car une carte intégrée n'est jamais modifiée. - Icon Map (
18b07876-c5f0-4548-bfcb-d7c6693692f6) : l'application de connexion pour « Se connecter avec Microsoft » sur le portail client Icon Map, la page d'activation Microsoft Marketplace et la vérification de licence d'Icon Map AI. Elle sert uniquement à la connexion et ne détient aucune autorisation sur les données ; consultez L'application de connexion Icon Map ci-dessous. - Tekantis.IconMap-Embed : le principal de service de lecture des cartes publiées pour le service d'intégration public. C'est une application dédiée sans aucune autorisation d'API à consentir. Elle reçoit un rôle d'accès aux données OneLake en lecture seule sur le Lakehouse qui contient vos cartes publiées, accordé automatiquement lors de la publication (consultez Configurer la publication), et jamais le rôle Contributeur sur l'espace de travail. Les entreprises peuvent fournir leur propre principal de service à la place.
Chaque application reçoit le consentement de la même façon que la charge de travail, en remplaçant l'ID d'application dans l'URL de consentement administrateur. Vous n'avez besoin de consentir qu'aux applications que vous déployez réellement.
Le tableau complet des autorisations, application par application, avec la justification de chacune, figure dans le livre blanc sur la sécurité.
L'application de connexion Icon Map
Icon Map (18b07876-c5f0-4548-bfcb-d7c6693692f6, éditeur Tekantis Limited, vérifié) est l'application derrière Se connecter avec Microsoft en dehors de Fabric. Elle ne fait pas partie de la charge de travail Fabric, qui ne l'utilise jamais. Vos utilisateurs la rencontrent à trois endroits :
- le portail client Icon Map (www.icon-map.com/portal), où un utilisateur peut se connecter avec son compte professionnel ou scolaire au lieu d'une adresse e-mail ;
- la page d'activation Microsoft Marketplace, lorsqu'une personne de votre organisation active un abonnement Icon Map acheté via Microsoft Marketplace ;
- Icon Map AI, qui se connecte avec l'application Icon Map Desktop puis demande un jeton pour cette application afin de vérifier les droits de votre organisation. Tekantis a pré-autorisé Icon Map Desktop pour cela : les utilisateurs n'ont donc pas à y consentir séparément.
Ce à quoi elle peut accéder
Uniquement l'identité de connexion. Elle ne déclare aucune autorisation Microsoft Graph, Fabric, Power BI ou Azure Storage et ne détient aucune autorisation d'application (application seule). Le consentement couvre les étendues de connexion standard (openid, profile, offline_access) et l'étendue access propre à l'application, affichée sous la forme « Use the Icon Map customer portal », qui permet à l'utilisateur connecté d'utiliser le portail Icon Map et les services de licences, et rien d'autre.
Le jeton reçu par Icon Map contient le nom de l'utilisateur, son adresse e-mail avec l'indicateur de Microsoft précisant si votre organisation a vérifié le domaine de cette adresse, l'ID de votre locataire et l'ID d'objet de l'utilisateur. Icon Map reconnaît un utilisateur qui revient grâce à l'ID de locataire et à l'ID d'objet, et n'utilise l'adresse e-mail que si votre organisation a vérifié son domaine. L'application ne peut lire ni les e-mails, ni les fichiers, ni les calendriers, ni les utilisateurs, ni les groupes, ni rien d'autre dans votre annuaire ou dans Microsoft 365.
Ce qui apparaît dans votre annuaire
La première fois qu'une personne de votre organisation se connecte avec elle, Microsoft Entra crée dans votre annuaire une application d'entreprise nommée Icon Map, comme pour toute application multilocataire. Aucun compte invité n'est créé, et rien n'est ajouté à l'annuaire de Tekantis pour vos utilisateurs.
Si votre locataire autorise le consentement utilisateur, les utilisateurs donnent leur consentement eux-mêmes lors de leur première connexion. Sinon, ils voient « Approbation de l'administrateur nécessaire » jusqu'à ce qu'un administrateur donne son consentement.
Consentement préalable pour votre organisation
Depuis l'invite. Un administrateur se connecte une fois (par exemple sur le portail client) et coche Consentement au nom de votre organisation.
Avec Microsoft Graph, sans se connecter à Icon Map, depuis Azure Cloud Shell ou toute session
azconnectée à votre locataire en tant qu'Administrateur d'application cloud, Administrateur d'application ou Administrateur général :az ad sp create --id 18b07876-c5f0-4548-bfcb-d7c6693692f6 SP=$(az ad sp show --id 18b07876-c5f0-4548-bfcb-d7c6693692f6 --query id -o tsv) GRAPH=$(az ad sp show --id 00000003-0000-0000-c000-000000000000 --query id -o tsv) az rest --method POST --url https://graph.microsoft.com/v1.0/oauth2PermissionGrants --body "{\"clientId\":\"$SP\",\"consentType\":\"AllPrincipals\",\"resourceId\":\"$SP\",\"scope\":\"access\"}" az rest --method POST --url https://graph.microsoft.com/v1.0/oauth2PermissionGrants --body "{\"clientId\":\"$SP\",\"consentType\":\"AllPrincipals\",\"resourceId\":\"$GRAPH\",\"scope\":\"openid profile email offline_access\"}"Ces commandes utilisent la syntaxe Bash : choisissez donc Bash plutôt que PowerShell dans Cloud Shell. La première ligne est idempotente et, seule, crée simplement l'application d'entreprise.
Le bouton Accorder un consentement d'administrateur de l'application d'entreprise ne fait pas partie de ces voies : il n'accorde que les autorisations déclarées par une application, et celle-ci n'en déclare aucune.
Restreindre ou bloquer l'application
Créez d'abord l'application d'entreprise si personne ne s'est encore connecté (az ad sp create --id 18b07876-c5f0-4548-bfcb-d7c6693692f6), puis, sous Entra ID, Applications d'entreprise, Icon Map, Propriétés :
- réglez Affectation requise sur Oui et ajoutez sous Utilisateurs et groupes uniquement les utilisateurs ou les groupes autorisés à l'utiliser ; ou
- réglez Activé pour que les utilisateurs se connectent sur Non pour la bloquer pour tout le monde.
Les stratégies d'accès conditionnel s'y appliquent comme à toute autre application d'entreprise. La bloquer n'empêche pas vos utilisateurs de se connecter au portail client avec leur adresse e-mail. En revanche, cela empêche la connexion Microsoft sur le portail et sur la page d'activation Marketplace, ainsi que la vérification de vos droits par Icon Map AI avec les identités Microsoft de vos utilisateurs ; une clé de licence saisie dans Icon Map Desktop fonctionne à la place.
Icon Map AI signale AADSTS500011 en nommant Icon Map. Microsoft Entra n'a pas encore d'application d'entreprise pour Icon Map dans votre locataire, ce qui peut arriver lorsque personne dans l'organisation n'a utilisé la connexion Microsoft sur le portail. Un administrateur exécute une fois az ad sp create --id 18b07876-c5f0-4548-bfcb-d7c6693692f6, puis l'utilisateur réessaie.
Étapes suivantes
- Activer les paramètres du locataire : les paramètres qui autorisent ces accès aux données.
- Navigateur et réseau : les autres causes d'invites.