Administratoreinwilligung erteilen (AD-Berechtigungen)
Dies ist der wichtigste Einzelschritt für eine Erfahrung ohne Popups.
Icon Map meldet jeden Benutzer mit seiner Microsoft Entra-Identität (Azure AD) an und liest in seinem Namen seine Fabric- und OneLake-Daten. Dazu fordert es eine Reihe delegierter Berechtigungen an. Wurde für diese Berechtigungen nicht auf Mandantenebene eingewilligt, wird jeder Benutzer beim ersten Mal, wenn eine Funktion sie braucht, zur Einwilligung aufgefordert: das Popup „Angeforderte Berechtigungen“. Eine einmalige mandantenweite Administratoreinwilligung beseitigt diese Aufforderungen für alle.
Die Workload ist als zwei Entra-Anwendungen registriert, ein Frontend und ein Backend, und beide benötigen eine Einwilligung. Diese Seite behandelt beide.
Die Kurzfassung
Wenn die Person, die die Workload hinzufügt, Entra-Administrator ist, besteht das Ganze aus drei Aufforderungen in Fabric: eine beim Hinzufügen der Workload (die Backend-Anwendung), eine beim Öffnen der ersten Karte (die Frontend-Anwendung) und eine beim ersten Verbinden eines Lakehouse oder Eventhouse (die bei Bedarf angeforderte OneLake- oder Eventhouse-Berechtigung). Aktivieren Sie jedes Mal Im Namen Ihrer Organisation zustimmen, und niemand sonst im Mandanten wird je gefragt. Administratoren, die das Produkt lieber nicht öffnen möchten, erledigen alles, einschließlich der Vorbereitung des Mandanten und der Vorabgenehmigung der bei Bedarf angeforderten Berechtigungen, mit einem Skript: Onboard-IconMapTenant.ps1 (Option C). Alles Weitere unten erklärt, was diese Aufforderungen enthalten und welche Alternativen es gibt.
Die Einwilligung ist delegiert: Icon Map handelt als angemeldeter Benutzer und kann nur auf Daten zugreifen, die dieser Benutzer ohnehin sehen darf. Die Administratoreinwilligung gewährt Icon Map keinen eigenständigen Zugriff auf Ihre Daten; sie genehmigt die Berechtigungen nur vorab, damit einzelne Benutzer nicht gefragt werden.
Wer das erledigt
Ein Globaler Administrator, ein Administrator für privilegierte Rollen oder ein Cloudanwendungsadministrator in Microsoft Entra.
Die Anwendungen
Das Frontend ist die Anwendung, bei der sich Ihre Benutzer anmelden. Das Backend ist die Anwendung, die Fabric selbst bei jedem Erstellen, Speichern und Löschen eines Elements aufruft und die Tileset-Generator-Aufträge ausführt und die Power BI-Visuals bedient. Wird nur das Frontend eingewilligt, ist der Mandant nur zur Hälfte eingerichtet.
| Frontend | Backend | |
|---|---|---|
| Anzeigename | Tekantis.IconMap | Tekantis.IconMap-Backend |
| Anwendungs-ID (Client-ID) | 8ac140d7-88a0-4857-84b4-73c708afd645 |
81c50c7d-ca21-414c-b7d9-524410f38339 |
| Herausgeberdomäne | tekantis.com | tekantis.com |
| Anmeldezielgruppe | Mehrinstanzenfähig: Ein Dienstprinzipal erscheint in Ihrem Mandanten bei der ersten Nutzung oder bei der Einwilligung | Mehrinstanzenfähig: Ein Dienstprinzipal erscheint in Ihrem Mandanten bei der Einwilligung |
Die beiden Anwendungen schlagen unterschiedlich fehl, wenn eine Berechtigung fehlt. Eine fehlende Frontend-Berechtigung zeigt sich als Popup „Angeforderte Berechtigungen“. Das Backend fordert nie zur Einwilligung auf: Eine fehlende Backend-Berechtigung zeigt sich erst später als fehlgeschlagener Tileset-Generator-Auftrag oder als leere Liste der Organisationskataloge in einem Power BI-Visual, was sich viel schwerer auf die Einwilligung zurückführen lässt.
Wozu Sie einwilligen
Tekantis.IconMap (Frontend)
Das Frontend fordert diese delegierten Berechtigungen an. Sie entsprechen direkt den Produktfunktionen, die Ihre Daten lesen:
| API | Berechtigung | Verwendet für |
|---|---|---|
| Microsoft Graph | User.Read |
Ihre Anmeldung und das Lesen Ihres Basisprofils. |
| Power BI / Fabric | Fabric.Extend |
Die Ausführung als Fabric-Workload in der Fabric-Oberfläche. |
| Power BI / Fabric | Fabric.Extend.IframeSandbox |
Die Ausführung des iframes des Editors mit der gelockerten Sandbox von Fabric, damit exportierte Dateien (CSV, GeoJSON, Grundrisse, Tourvideos) direkt aus dem Browser heruntergeladen werden, ohne Tekantis-Server dazwischen. |
| Power BI / Fabric | Workspace.Read.All |
Das Auflisten der Arbeitsbereiche, die Sie sehen können. |
| Power BI / Fabric | Capacity.Read.All |
Das Prüfen der Kapazität hinter einem Arbeitsbereich. |
| Power BI / Fabric | Item.ReadWrite.All |
Das Öffnen und Speichern des Icon Map-Elements und das Lesen von Quellelementen. |
| Power BI / Fabric | Item.Execute.All |
Das Ausführen von Abfragen gegen Warehouse- und SQL-Analyseendpunkte sowie die geplante Aktualisierung. |
| Power BI / Fabric | OneLake.ReadWrite.All |
Das Verwalten der OneLake-Datenzugriffsrolle, die dem Leser veröffentlichter Karten beim Veröffentlichen schreibgeschützten Zugriff gewährt. Wird nur genutzt, wenn Sie eine eingebettete Karte veröffentlichen. |
| Power BI / Fabric | Dataset.Read.All |
Quellen vom Typ Semantikmodell und DAX-Abfragen. Die Sicherheit auf Zeilenebene wird weiterhin vom Modell durchgesetzt. |
| Power BI / Fabric | Connection.Read.All |
Das Auflisten von Verbindungen, um einen Planetary Computer-Geokatalog zu finden. Schreibgeschützt. |
Zwei Berechtigungen stehen bewusst nicht in dieser Liste und werden stattdessen bei Bedarf angefordert, wenn eine Funktion sie zum ersten Mal braucht. Siehe Bei Bedarf angeforderte Berechtigungen:
| API | Berechtigung | Verwendet für |
|---|---|---|
| Azure Storage | user_impersonation |
Das Lesen und Schreiben Ihrer OneLake-Dateien: Lakehouse-Tabellen und -Dateien, Bilddaten, Kacheln, veröffentlichte Karten und Rückschreibvorgänge laufen unter Ihrer Identität über den OneLake-Endpunkt, und die kurzlebigen OneLake-SAS-URLs, die der Browser für Kacheln verwendet, werden aus diesem Token erzeugt. |
| Azure Data Explorer | user_impersonation |
Das Ausführen von KQL-Abfragen gegen Eventhouse. |
Beachten Sie, was sonst nicht in der Liste steht. Icon Map hat keine Fabric-Berechtigung Lakehouse.* oder Eventhouse.*: Lakehouse-Tabellen und -Dateien werden direkt aus OneLake gelesen, und Eventhouse wird über den Kusto-Cluster abgefragt. Es hat auch weder Tenant.Read.All noch Tenant.ReadWrite.All, die Berechtigungen für die Fabric-Administrator-APIs, und kann daher nichts mandantenweit sehen.
Jede dieser Berechtigungen ist delegiert (handelt als der Benutzer): In der Erstellungsumgebung gibt es keinen reinen App-Datenzugriff.
openid, profile und offline_access für Microsoft Graph werden zusammen mit ihnen eingewilligt. Das sind die Grundlagen der Anmeldung, die keinen Datenzugriff gewähren. offline_access beschreibt das Einwilligungsdialogfeld als „Zugriff auf Daten beibehalten, für die Sie Zugriff erteilt haben“: Damit kann Icon Map Ihr Token im Hintergrund erneuern, statt Sie erneut zu fragen.
Tekantis.IconMap-Backend
Das Backend hält nie eine eigene Sitzung. Wenn Fabric es aufruft oder sich ein Power BI-Visual bei ihm anmeldet, tauscht es das Token des Aufrufers im Namen dieses Benutzers (OAuth 2.0 On-Behalf-Of) gegen kurzlebige Fabric- und OneLake-Token ein und erreicht so nur, was der Benutzer ohnehin erreichen kann. Seine delegierten Berechtigungen sind eine Teilmenge der Frontend-Berechtigungen:
| API | Berechtigung | Verwendet für |
|---|---|---|
| Microsoft Graph | User.Read |
Grundlagen der Anmeldung. |
| Microsoft Graph | SensitivityLabel.Read |
Das Lesen der Vertraulichkeitsbezeichnungen der Elemente, die eine Karte verwendet, und Ihrer Nutzungsrechte darunter, damit Exporte und Veröffentlichungen die Bezeichnung beachten. Nur mit Administratoreinwilligung; ohne sie werden Exporte bezeichneter Daten abgelehnt statt erlaubt. |
| Power BI / Fabric | Fabric.Extend |
Das Auflösen der Berechtigungen des Benutzers für ein Icon Map-Element über die Workload-Steuerungs-API. |
| Power BI / Fabric | Workspace.Read.All |
Das Auflisten der Arbeitsbereiche, die der Benutzer sehen kann, für die Power BI-Visuals und für das Veröffentlichen. |
| Power BI / Fabric | Item.ReadWrite.All, Item.Execute.All |
Das Lesen der Organisationskatalog-Elemente, die der Benutzer sehen kann, für die Power BI-Visuals und für das Veröffentlichen, sowie das Erstellen und Ausführen der Spark-Auftragsdefinition hinter Tileset-Generator-Aufträgen. |
Es hat außerdem die einzige Anwendungsberechtigung (reine App-Berechtigung) im gesamten Icon Map-Umfeld: Microsoft Graph CrossTenantInformation.ReadBasic.All, mit der der Anzeigename und die Domäne Ihres Mandanten aufgelöst werden. Das sind Verzeichnismetadaten, die keinen Zugriff auf Ihre Daten gewähren. Die Berechtigung erscheint im Einwilligungsbildschirm aber unter Anwendungsberechtigungen, und nur ein Administrator kann sie erteilen. Das ist ein Grund, warum das Backend eine Administratoreinwilligung statt einer Benutzereinwilligung braucht.
Das Backend liest und schreibt OneLake auch im Namen des Benutzers (Ausgaben des Tileset-Generators sowie Manifeste von Organisationskatalogen und Lakehouse-Bilder für die Power BI-Visuals) mit Azure Storage user_impersonation. Wie beim Frontend wird diese Berechtigung bei Bedarf angefordert: Icon Map fragt danach, wenn zum ersten Mal jemand einen Tileset-Generator-Auftrag startet, und ein Administrator kann sie für alle vorab genehmigen (siehe Bei Bedarf angeforderte Berechtigungen).
Anders als das Frontend fordert das Backend seinen gesamten Berechtigungssatz auf einmal an (/.default). Fehlt eine Berechtigung in der mandantenweiten Erteilung, wird niemand gefragt; der Aufruf schlägt einfach fehl. Wenn Tileset-Generator-Aufträge oder das Durchsuchen von Organisationskatalogen aus Power BI nach einer Änderung der Einwilligung nicht mehr funktionieren, führen Sie die Administratoreinwilligungs-URL des Backends unten erneut aus und erteilen Sie dann die bei Bedarf angeforderte Azure Storage-Berechtigung für das Backend erneut.
Zum „All“ in diesen Namen
Item.ReadWrite.All, Dataset.Read.All und die übrigen klingen, als könne Icon Map alles in Ihrem Mandanten sehen. Das kann es nicht. Es sind delegierte Berechtigungen: Das Token trägt die Identität des angemeldeten Benutzers, und Fabric wertet bei jedem Aufruf die eigenen Elementberechtigungen dieses Benutzers aus. Item.ReadWrite.All bedeutet „die Elemente lesen und ändern, die dieser Benutzer bereits lesen und ändern darf“. Das Suffix ist die Namenskonvention von Microsoft für die gesamte Fabric-API-Oberfläche, keine Aussage über die Reichweite; eine engere Variante pro Arbeitsbereich oder pro Element, die man stattdessen anfordern könnte, gibt es nicht. Die Berechtigungen, die tatsächlich einen ganzen Mandanten umfassen, sind Tenant.Read.All und Tenant.ReadWrite.All, und Icon Map fordert keine davon an.
Wenn Sie die Reichweite weiter einschränken möchten, tun Sie das, indem Sie steuern, wer die App nutzen darf, nicht über den Bereich: siehe Einschränken, wer Icon Map nutzen kann unten.
Einschränken, wer Icon Map nutzen kann
Die Administratoreinwilligung gilt mandantenweit, die Nutzung der Anwendung muss das aber nicht. Zwei Steuerungsmöglichkeiten, beide vollständig in Ihrer Hand und ohne dass Tekantis etwas tun muss:
- Zuweisung verlangen. Setzen Sie unter Entra ID, Unternehmensanwendungen, Tekantis.IconMap, Eigenschaften die Option Zuweisung erforderlich auf Ja, und fügen Sie dann unter Benutzer und Gruppen nur die Benutzer oder Gruppen hinzu, die Icon Map erhalten sollen. Wer nicht dazugehört, erhält kein Token, unabhängig von den eingewilligten Berechtigungen. Das lässt sich gut damit kombinieren, die Fabric-Mandanteneinstellungen auf dieselbe Sicherheitsgruppe zu beschränken.
- Bedingter Zugriff. Richten Sie eine Richtlinie für bedingten Zugriff auf die Anwendung aus, für MFA, konforme oder hybrid eingebundene Geräte, benannte Standorte oder die Anmeldehäufigkeit, wie bei jeder anderen Unternehmensanwendung.
Für die meisten Organisationen ist das eine aussagekräftigere Steuerung als die Berechtigungsliste, denn sie begrenzt, wer überhaupt handeln kann, und nicht, was ein berechtigter Benutzer ohnehin selbst tun könnte.
Vor der Einwilligung: Mandanten vorbereiten
Microsoft Entra lässt die Einwilligung einer Anwendung für einen Microsoft-Dienst erst zu, wenn dieser Dienst einen Eintrag in Ihrem Mandanten hat, einen Dienstprinzipal. Entra erstellt diesen Eintrag, wenn zum ersten Mal irgendeine Drittanbieteranwendung für den Dienst eingewilligt wird, kann ihn aber nicht im Rahmen genau dieser Einwilligung erstellen. Fabric erstellt ihn ebenfalls nicht. In einem Mandanten, der einen Dienst noch nie über eine Drittanbieter-App genutzt hat, schlägt die erste Einwilligung dafür daher fehl mit:
AADSTS650052: The app is trying to access a service '<id>'(Azure Storage) that your
organization '<tenant>' lacks a service principal for.
Die Einwilligung für Icon Map selbst hängt nicht mehr von solchen Diensten ab (nur von Microsoft Graph und Power BI, die jeder Fabric-Mandant hat), daher funktionieren die beiden Administratoreinwilligungs-URLs unten in jedem Mandanten. Wenn aber zum ersten Mal jemand ein Lakehouse (Azure Storage) oder ein Eventhouse (Azure Data Explorer) verbindet, muss der Eintrag in Entra existieren. Erstellen Sie ihn einmal, in Azure Cloud Shell oder einer beliebigen az-Sitzung, die als Cloudanwendungsadministrator, Anwendungsadministrator oder Globaler Administrator bei Ihrem Mandanten angemeldet ist:
az ad sp create --id e406a681-f3d4-42a8-90b6-c2b029497af1
und nur, wenn Sie Eventhouse-/KQL-Quellen verbinden werden:
az ad sp create --id 2746ea77-4702-4b45-80ca-3c97e680e8b7
Beide Befehle sind idempotent: „Another object with the same value for property appId already exists“ bedeutet, dass der Eintrag bereits vorhanden war. Die Entsprechung in Graph PowerShell ist New-MgServicePrincipal -AppId <id>. Diese Einträge enthalten keine Anmeldeinformationen und gewähren keinen Zugriff; es sind dieselben Objekte, die Entra stillschweigend erstellen würde, wenn eine andere Anwendung diese Dienste zum ersten Mal nutzt. Um zu prüfen, ob Ihr Mandant sie bereits hat, suchen Sie unter Unternehmensanwendungen nach Azure Storage und Azure Data Explorer, mit dem Filter Anwendungstyp auf Alle Anwendungen.
Alternativ im Azure-Portal. Im Microsoft Entra Admin Center gibt es keine Seite, die den Eintrag für einen Microsoft-Dienst erstellt (Unternehmensanwendungen, Neue Anwendung bietet nur den Katalog und Ihre eigenen Registrierungen). Sie können den Befehl aber ohne Installation über die integrierte Shell des Portals ausführen:
- Melden Sie sich bei portal.azure.com als Administrator des Mandanten an.
- Wählen Sie das Symbol Cloud Shell in der oberen Leiste (das Symbol
>_) und dann PowerShell. Akzeptieren Sie beim ersten Mal die Speicheraufforderung oder wählen Sie Kein Speicherkonto erforderlich. - Prüfen Sie, ob die Shell im richtigen Mandanten ist:
az account show --query tenantId -o tsv. Ist sie es nicht, führen Sieaz login --tenant <your-tenant-id> --allow-no-subscriptionsaus. - Fügen Sie die Zeile
az ad sp createvon oben ein und drücken Sie die Eingabetaste. - Prüfen Sie unter Microsoft Entra ID, Unternehmensanwendungen mit dem Filter Anwendungstyp auf Alle Anwendungen: Azure Storage erscheint jetzt.
Oder laden Sie das Skript herunter: Prepare-IconMapTenant.ps1 erledigt Prüfung und Erstellung in einem Durchgang (-TenantId <guid>, mit -IncludeEventhouse für den zweiten Eintrag, -WhatIf für eine Vorschau) und benötigt nur die Azure CLI, läuft also auch in Cloud Shell.
Das ist eine Eigenschaft von Microsoft Entra und Fabric, nicht von Icon Map: Jede Partnerworkload, die OneLake über die Azure Storage-API liest, ist davon betroffen, und der Fabric-Workload-Schnellstart von Microsoft selbst enthält denselben Schritt. Mandanten, die Azure Storage oder Azure Data Explorer bereits über eine beliebige Drittanbieteranwendung genutzt haben, finden die Einträge vor und können diesen Abschnitt überspringen.
So erteilen Sie die Einwilligung
Willigen Sie für beide Anwendungen ein. Jede der folgenden Methoden willigt in einem Schritt für den gesamten Berechtigungssatz einer Anwendung ein; Sie müssen nicht Funktion für Funktion einwilligen.
Option A - die Aufforderungen in Fabric akzeptieren (empfohlen)
Wenn ein Administrator die Workload hinzufügt und die erste Karte öffnet, zeigt Fabric die Einwilligungsaufforderungen selbst an, und die Aufforderung eines Administrators enthält das Kontrollkästchen Im Namen Ihrer Organisation zustimmen. Wenn Sie es aktivieren, wird dieselbe mandantenweite Berechtigung erteilt wie mit den URLs unten.
- Melden Sie sich bei Fabric als Benutzer an, der sowohl Fabric-Administrator (oder Kapazitätsadministrator) als auch Entra-Globaler Administrator, Cloudanwendungsadministrator oder Anwendungsadministrator ist.
- Fügen Sie die Workload aus dem Workloadhub hinzu. Eine Aufforderung für Tekantis.IconMap-Backend erscheint, die Anwendung, die Fabric bei jedem Elementvorgang aufruft. Aktivieren Sie Im Namen Ihrer Organisation zustimmen und wählen Sie Akzeptieren.
- Erstellen oder öffnen Sie ein Icon Map-Element. Eine Aufforderung für Tekantis.IconMap erscheint, wenn der Editor Fabric zum ersten Mal nach einem Token fragt. Aktivieren Sie das Kontrollkästchen erneut und wählen Sie Akzeptieren.
- Verbinden Sie ein Lakehouse (und, falls Sie eines nutzen, ein Eventhouse). Die bei Bedarf angeforderte Berechtigung fragt einmal nach; aktivieren Sie das Kontrollkästchen ein drittes Mal. In einem Mandanten, der Azure Storage noch nie genutzt hat, zeigt dieser Schritt stattdessen die Seite zum Vorbereiten Ihres Mandanten: Führen Sie den einen Befehl aus und versuchen Sie es erneut.
Für die meisten Organisationen ist das das vollständige Onboarding. Fehlt das Kontrollkästchen, hat Ihr Konto keine Administratorrolle, oder die Einwilligungsrichtlinie Ihres Mandanten hat es deaktiviert; verwenden Sie dann Option B.
Option B - Administratoreinwilligungs-URLs
Für Administratoren, die lieber einwilligen, bevor die Workload für irgendjemanden ausgerollt wird, oder ohne das Produkt zu öffnen. Öffnen Sie nacheinander jede der folgenden URLs, angemeldet als Administrator, und ersetzen Sie {your-tenant-id} durch Ihre Entra-Mandanten-ID (eine GUID). Prüfen Sie die Berechtigungen und wählen Sie jedes Mal Akzeptieren, um für Ihre gesamte Organisation einzuwilligen.
Der Parameter redirect_uri in jeder URL sendet das Ergebnis an die eigene Seite von Icon Map, die entweder eine Bestätigung oder den genauen Grund für die Ablehnung der Einwilligung anzeigt. Ohne ihn wählt Entra eine der registrierten Adressen der Anwendung, und das Ergebnis kann in einer Fabric-Seite verschwinden.
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
Diese beiden URLs decken die Berechtigungen ab, die jede Anwendung deklariert. Die OneLake-Berechtigung wird bei Bedarf angefordert und ist nicht enthalten. Wenn Ihr Mandant Benutzern keine eigene Einwilligung erlaubt, öffnen Sie daher auch diese beiden: Sie genehmigen den OneLake-Zugriff für alle vorab, sodass das erste Lakehouse nie eine Aufforderung auslöst:
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
Dafür muss der Azure Storage-Eintrag aus Vor der Einwilligung vorhanden sein. Eventhouse gilt pro Cluster und lässt sich daher einfacher mit dem Skript vorab genehmigen: siehe Bei Bedarf angeforderte Berechtigungen.
Option C - ein Skript für alles
Onboard-IconMapTenant.ps1 erledigt das gesamte Onboarding über Microsoft Graph, ohne das Produkt oder die URLs zu öffnen, und ist idempotent: Führen Sie es erneut aus, meldet es, was bereits eingerichtet ist:
- Erstellt den Eintrag des Mandanten für Azure Storage (und mit
-IncludeEventhousefür Azure Data Explorer): der Schritt Mandanten vorbereiten. - Erstellt die Dienstprinzipale für Tekantis.IconMap und Tekantis.IconMap-Backend.
- Erteilt für die deklarierten Berechtigungen jeder Anwendung die mandantenweite Berechtigung: das, was die Aufforderungen in Option A und die URLs in Option B tun.
- Weist die eine Anwendungsberechtigung des Backends zu (Microsoft Graph
CrossTenantInformation.ReadBasic.All). - Genehmigt die bei Bedarf angeforderte Azure Storage-Berechtigung für beide Anwendungen vorab, und mit
-IncludeEventhouseAzure Data Explorer für das Frontend, sodass auch das erste Lakehouse oder Eventhouse keine Aufforderung auslöst. - Listet jede erteilte Berechtigung für Ihre Unterlagen auf.
./Onboard-IconMapTenant.ps1 -TenantId {your-tenant-id} -WhatIf
./Onboard-IconMapTenant.ps1 -TenantId {your-tenant-id} -IncludeEventhouse
Es benötigt nur die Azure CLI und läuft daher in Azure Cloud Shell (laden Sie die Datei mit der Upload-Schaltfläche der Shell hoch und führen Sie sie dann in ~ aus). Verwenden Sie zuerst -WhatIf, um zu sehen, was es ändern würde. Schritt 4 erfordert einen Globalen Administrator oder Administrator für privilegierte Rollen; ein Cloudanwendungsadministrator kann alles andere ausführen, und das Skript meldet es, wenn es diesen Schritt überspringen muss.
Option D - Unternehmensanwendungen
- Wechseln Sie im Microsoft Entra Admin Center zu Unternehmensanwendungen.
- Suchen Sie Tekantis.IconMap (die Anwendung erscheint, nachdem die Workload aktiviert wurde oder nach einer ersten Anmeldung).
- Öffnen Sie Berechtigungen und wählen Sie Administratoreinwilligung für <Ihre Organisation> erteilen.
- Wiederholen Sie das für Tekantis.IconMap-Backend. Wird sie noch nicht aufgeführt, wurde ihr Dienstprinzipal in Ihrem Mandanten noch nicht erstellt; verwenden Sie stattdessen die Backend-URL aus Option B, die ihn in einem Schritt erstellt und einwilligt.
Diese Seite zeigt immer nur die Berechtigungen, die eine Anwendung deklariert, und kann daher die bei Bedarf angeforderten nicht vorab genehmigen.
Skripts
Alle drei sind PowerShell-Skripts, benötigen nur die Azure CLI, laufen in Azure Cloud Shell, unterstützen -WhatIf und sind idempotent.
| Skript | Tut | Verwenden, wenn |
|---|---|---|
| Onboard-IconMapTenant.ps1 | Alles auf dieser Seite: bereitet den Mandanten vor, willigt für beide Anwendungen für alle Benutzer ein, weist die Anwendungsberechtigung des Backends zu, genehmigt die bei Bedarf angeforderten Berechtigungen vorab | Sie einen Rollout ohne Aufforderungen und ohne Klicks im Produkt möchten |
| Prepare-IconMapTenant.ps1 | Erstellt nur die Einträge für Azure Storage (und optional Azure Data Explorer) | Sie über die Aufforderungen oder URLs einwilligen und nur die einmalige Vorbereitung brauchen |
| Grant-IconMapResourceConsent.ps1 | Genehmigt eine bei Bedarf angeforderte Berechtigung (Storage oder Eventhouse) für eine Anwendung vorab | Die Einwilligung bereits erteilt ist und Sie die Aufforderung für Lakehouse oder Eventhouse nachträglich beseitigen möchten |
Bei Bedarf angeforderte Berechtigungen
Azure Storage (OneLake) und Azure Data Explorer (Eventhouse) sind in den Icon Map-Anwendungen nicht deklariert und werden daher von den Administratoreinwilligungs-URLs oben nicht abgedeckt. Icon Map fordert sie an, wenn ein Benutzer zum ersten Mal eine Funktion nutzt, die sie benötigt:
| Berechtigung | Erstmals angefordert, wenn | Welche Anwendung |
|---|---|---|
Azure Storage user_impersonation |
Eine Lakehouse-Tabelle oder -Datei, ein Bild aus OneLake, ein Organisationskatalog oder die Veröffentlichung verwendet wird | Tekantis.IconMap (Frontend) |
Azure Storage user_impersonation |
Ein Tileset-Generator-Auftrag gestartet wird | Tekantis.IconMap-Backend |
Azure Data Explorer user_impersonation |
Eine Eventhouse-/KQL-Datenbankquelle abgefragt wird | Tekantis.IconMap (Frontend) |
Grundkarten, der Icon Map-Katalog, Semantikmodell-Quellen sowie Warehouse- und SQL-Endpunkt-Quellen benötigen keine davon und funktionieren, sobald für die Anwendungen eingewilligt wurde.
In einem Mandanten, der Benutzereinwilligung erlaubt, sieht der Benutzer eine Aufforderung für die Berechtigung und akzeptiert sie.
Wenn Ihre Benutzer nicht selbst einwilligen können (die Entra-Einstellung Benutzereinwilligung nicht zulassen oder die Einstellung für verifizierte Herausgeber, die diese Berechtigungen ausschließt), sieht der Benutzer beim ersten Verbinden eines Lakehouse oder Eventhouse „Needs administrator consent“ und kommt nicht weiter: Die beiden Administratoreinwilligungs-URLs in Option B decken diese Berechtigungen für sich allein nicht ab. Ein Administrator muss sie einmal vorab genehmigen, auf eine von drei Arten; danach wird kein Benutzer mehr gefragt:
Über die Aufforderung. Wenn ein Administrator die Funktion zum ersten Mal nutzt, aktiviert er in der Aufforderung Im Namen Ihrer Organisation zustimmen. Keine Werkzeuge nötig.
Administratoreinwilligungs-URL mit Bereich. Derselbe Endpunkt wie oben akzeptiert einen Parameter
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/closeFür Eventhouse lautet der Bereich
https://{your-cluster}.kusto.fabric.microsoft.com/user_impersonation; der Weg über Graph unten ist einfacher.Skript. Onboard-IconMapTenant.ps1 erledigt das im Rahmen eines vollständigen Onboardings; um es nachträglich hinzuzufügen, erteilt Grant-IconMapResourceConsent.ps1
-TenantId <tenant> -Resource Storage(oder-Resource Eventhouse, und-App Backendfür das Backend) die Berechtigung über Microsoft Graph. Es erstellt auch die Diensteinträge aus Vor der Einwilligung, falls sie fehlen. Nur Azure CLI, läuft also in Azure Cloud Shell; fügen Sie-WhatIffür eine Vorschau hinzu.
Beachten Sie, dass die Schaltfläche Unternehmensanwendungen, Berechtigungen, Administratoreinwilligung erteilen im Microsoft Entra Admin Center keiner dieser Wege ist: Sie erteilt nur die Berechtigungen, die eine Anwendung deklariert, und diese sind bewusst nicht deklariert. Das Kontrollkästchen in der Aufforderung und die URL mit dem Parameter scope sind die beiden Wege, die nur einen Browser benötigen.
Wenn Ihr Mandant die Benutzereinwilligung blockiert (siehe unten), ist einer dieser Wege erforderlich, bevor jemand Lakehouse- oder Eventhouse-Quellen nutzen kann; Benutzer werden im Produkt darauf hingewiesen, und die Anfrage wird über den Workflow für Administratoreinwilligungsanforderungen geleitet, sofern Ihr Mandant einen betreibt.
Entra-Einstellungen für die Benutzereinwilligung
Unabhängig davon steuert Entra ID, Unternehmensanwendungen, Einwilligung und Berechtigungen, ob normale Benutzer überhaupt selbst einwilligen dürfen:
- Benutzereinwilligung für Apps zulassen: Benutzer sehen das Popup „Angeforderte Berechtigungen“ und können es selbst akzeptieren. Icon Map funktioniert, aber jeder Benutzer wird gefragt.
- Benutzereinwilligung nicht zulassen: Benutzer sehen „Administratorgenehmigung erforderlich“ und sind blockiert, bis ein Administrator einwilligt. In dieser Konfiguration ist die mandantenweite Administratoreinwilligung nicht optional, sondern Voraussetzung, bevor jemand Icon Map nutzen kann.
- Benutzereinwilligung für Apps von verifizierten Herausgebern für ausgewählte Berechtigungen zulassen: die mittlere Einstellung. Mehrere Berechtigungen von Icon Map sind administratorbeschränkte Fabric-Bereiche vom Typ
*.All, daher bleiben Benutzer bei diesen weiterhin blockiert.
Wenn Ihr Mandant den Workflow für Administratoreinwilligungsanforderungen nutzt, erscheint eine Icon Map-Anfrage zur Genehmigung unter Administratoreinwilligungsanforderungen.
Die Berechtigung überprüfen
Prüfen Sie nach der Einwilligung beide Anwendungen, und prüfen Sie, ob die Berechtigungen für alle Benutzer erteilt wurden und nicht jeweils für einen einzelnen Benutzer. Unter Unternehmensanwendungen, Tekantis.IconMap, Berechtigungen sollte die Registerkarte Administratoreinwilligung die oben genannten Frontend-Berechtigungen auflisten. Tekantis.IconMap-Backend sollte den Backend-Satz auflisten, einschließlich der Microsoft Graph-Anwendungsberechtigung. Alles, was nur auf der Registerkarte Benutzereinwilligung erscheint, wurde von einer einzelnen Person eingewilligt, und die nächste Person wird weiterhin gefragt.
Dieselbe Prüfung mit der Azure CLI: Eine mandantenweite Berechtigung hat den consentType AllPrincipals, eine benutzerbezogene den Wert 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"
Wiederholen Sie das mit 81c50c7d-ca21-414c-b7d9-524410f38339 für das Backend. Seine Anwendungsberechtigung wird separat als App-Rollenzuweisung erfasst:
az rest --method GET --url "https://graph.microsoft.com/v1.0/servicePrincipals/<backendObjectId>/appRoleAssignments"
Nach dem Erteilen
- Planen Sie 10 bis 30 Minuten ein, bis sich die Einwilligung verteilt hat.
- Neue Benutzer sollten Icon Map jetzt öffnen und seine Funktionen ohne Einwilligungsaufforderung nutzen können.
- Benutzer, die bereits einzeln eingewilligt haben, sind nicht betroffen; sie werden einfach nicht mehr gefragt.
Problembehandlung
Eine Aufforderung erschien direkt nach dem Hinzufügen der Workload, bevor jemand eine Karte geöffnet hat. Das ist zu erwarten: Es ist die Einwilligung für die Backend-Anwendung, die Fabric beim Hinzufügen der Workload anfordert. Akzeptieren Sie sie (im Namen Ihrer Organisation, wenn Sie Administrator sind). Die Frontend-Anwendung fragt noch einmal, wenn die erste Karte geöffnet wird.
Ein Benutzer wird nach der Administratoreinwilligung weiterhin gefragt. Entra fragt nach jedem Bereich, der nicht bereits durch eine mandantenweite Berechtigung abgedeckt ist, auch wenn für die App sonst eingewilligt wurde. Prüfen Sie auf der Registerkarte Administratoreinwilligung, ob die im Popup genannte Berechtigung aufgeführt ist. Ein Popup mit „Alle Datasets anzeigen“ steht zum Beispiel für Dataset.Read.All, das nur Semantikmodell-Quellen verwenden und das leicht übersehen wird, wenn die Einwilligung erteilt wurde, bevor diese Funktion genutzt wurde. Ein erneuter Aufruf der Administratoreinwilligungs-URL übernimmt den vollständigen aktuellen Satz.
Tileset-Generator-Aufträge schlagen fehl, oder die Registerkarte „Organizational Catalogs“ in einem Power BI-Visual ist leer, und es gab kein Popup. Für die Backend-Anwendung wurde nicht eingewilligt, oder in ihrer erteilten Einwilligung fehlt eine Berechtigung. Das Backend fragt nie. Prüfen Sie Tekantis.IconMap-Backend auf der Registerkarte Administratoreinwilligung, oder rufen Sie erneut ihre Administratoreinwilligungs-URL auf.
Das Popup oder die Administratoreinwilligungs-URL schlägt fehl mit AADSTS650052 „...lacks a service principal for“. Ihr Mandant hat den genannten Dienst (Azure Storage oder Azure Data Explorer) noch nie über eine Drittanbieteranwendung genutzt, daher hat Entra noch keinen Eintrag dafür und kann die Einwilligung nicht erfassen. Folgen Sie Vor der Einwilligung: Mandanten vorbereiten (ein Befehl erstellt den Eintrag) und versuchen Sie es erneut. Icon Map zeigt dieselbe Erklärung samt Befehl an, wann immer dieser Fehler auftritt.
Lakehouse- oder Eventhouse-Quellen melden „needs administrator consent“. Ihr Mandant erlaubt Benutzern keine Einwilligung, und die bei Bedarf angeforderte Berechtigung wurde nicht vorab genehmigt. Ein Administrator verwendet einen der drei Wege unter Bei Bedarf angeforderte Berechtigungen.
Das Popup meldet „nicht überprüft“ und „Diese Anwendung wird nicht von Microsoft veröffentlicht“. Das ist zu erwarten. Icon Map wird von Tekantis Limited veröffentlicht, nicht von Microsoft, und das Dialogfeld kennzeichnet jeden Herausgeber außer Microsoft so. Mit der Administratoreinwilligung entfällt das Dialogfeld für Ihre Benutzer vollständig.
Das Popup meldet stattdessen „Administratorgenehmigung erforderlich“. Ihr Mandant blockiert die Benutzereinwilligung, siehe Entra-Einstellungen für die Benutzereinwilligung oben. Ein Administrator muss einwilligen.
Wiederholte Anmelde- oder MFA-Aufforderungen. Das ist bedingter Zugriff, nicht die Einwilligung, und dieser Schritt beseitigt sie nicht: siehe Browser und Netzwerk.
Weitere Icon Map-Anwendungen
Die beiden Anwendungen oben bilden die Fabric-Workload. Icon Map verwendet bewusst separate Entra-Anwendungen pro Produktoberfläche, jede mit den minimal nötigen Berechtigungen für ihre Aufgabe. Über die Workload hinaus willigen Sie also nur für das ein, was Sie bereitstellen:
- Icon Map Desktop (
f68c8ff5-476f-4282-a125-47151eb8c6e8): wird für die Anmeldung der Desktop-App verwendet: OneLake-Speicherzugriff sowieWorkspace.Read.AllundItem.ReadWrite.Allzum Durchsuchen von Arbeitsbereichen und Bereitstellen von Karten undDataset.Read.Allfür Semantikmodell-Quellen. Willigen Sie auf dieselbe Weise ein, wenn Sie die Desktop-App ausrollen; rein lokale Nutzung braucht überhaupt keine Anmeldung. - Icon Map QGIS Connector (
ab3aeae9-ced2-40cb-bc4f-9ce4cbb109f3): wird vom QGIS-Plug-in verwendet: OneLake-Speicherzugriff sowieWorkspace.Read.All,Item.Read.All,Item.ReadWrite.AllundItem.Execute.Allfür die Modi zum Durchsuchen und Erstellen von Karten. Das Plug-in enthält eine Hilfe zur Administratoreinwilligung; ohne Administratoreinwilligung können Benutzer in einem eingeschränkten Modus veröffentlichen, indem sie Arbeitsbereichs- und Element-IDs einfügen, mit nur der OneLake-Berechtigung, für die Benutzer selbst einwilligen können. - Icon Map Embed Viewer (
31651b7a-301b-4581-871e-100cfd4d2099): wird verwendet, wenn Sie eine Livekarte in Ihre eigene interne Anwendung einbetten und die Karte jeden Betrachter anmelden lassen. Stellt stattdessen Ihre eigene Anwendung das Zugriffstoken bereit (die häufigere Variante), wird Ihre eigene Entra-Anwendung verwendet und diese hier ist nicht beteiligt, sodass es nichts einzuwilligen gibt. Sie hat delegierte, schreibgeschützte Berechtigungen und sonst nichts: OneLake-Speicherzugriff,Workspace.Read.All,Item.Read.AllundDataset.Read.All; der Azure Data Explorer-Zugriff für Eventhouse wird bei Bedarf angefordert. Sie hat bewusst keinItem.ReadWrite.All, weil eine eingebettete Karte nie bearbeitet wird. - Icon Map (
18b07876-c5f0-4548-bfcb-d7c6693692f6): die Anmeldeanwendung für „Mit Microsoft anmelden“ im Icon Map-Kundenportal, auf der Aktivierungsseite für Microsoft Marketplace und für die Lizenzprüfung von Icon Map AI. Sie dient nur der Anmeldung und hat keine Datenberechtigungen; siehe Die Icon Map-Anmeldeanwendung unten. - Tekantis.IconMap-Embed: der Dienstprinzipal zum Lesen veröffentlichter Karten für den öffentlichen Einbettungsdienst. Es ist eine eigene Anwendung ohne API-Berechtigungen, für die eingewilligt werden müsste. Sie erhält eine schreibgeschützte OneLake-Datenzugriffsrolle für das Lakehouse, das Ihre veröffentlichten Karten enthält, automatisch beim Veröffentlichen erteilt (siehe Veröffentlichung einrichten), niemals die Rolle Mitwirkender im Arbeitsbereich. Unternehmen können stattdessen ihren eigenen Dienstprinzipal dafür bereitstellen.
Für jede Anwendung wird auf dieselbe Weise eingewilligt wie für die Workload, indem Sie ihre eigene Anwendungs-ID in die Administratoreinwilligungs-URL einsetzen. Sie müssen nur für die Anwendungen einwilligen, die Sie tatsächlich bereitstellen.
Die vollständige Berechtigungstabelle für jede Anwendung, mit der Begründung für jede Berechtigung, steht im Sicherheits-Whitepaper.
Die Icon Map-Anmeldeanwendung
Icon Map (18b07876-c5f0-4548-bfcb-d7c6693692f6, Herausgeber Tekantis Limited, verifiziert) ist die Anwendung hinter Mit Microsoft anmelden außerhalb von Fabric. Sie ist nicht Teil der Fabric-Workload, die sie nie verwendet. Ihre Benutzer begegnen ihr an drei Stellen:
- im Icon Map-Kundenportal (www.icon-map.com/portal), wo sich ein Benutzer mit seinem Geschäfts-, Schul- oder Unikonto statt mit einer E-Mail-Adresse anmelden kann;
- auf der Aktivierungsseite von Microsoft Marketplace, wenn jemand in Ihrer Organisation ein über Microsoft Marketplace gekauftes Icon Map-Abonnement aktiviert;
- in Icon Map AI, das sich mit der Anwendung Icon Map Desktop anmeldet und dann ein Token für diese Anwendung anfordert, um die Berechtigung Ihrer Organisation zu prüfen. Tekantis hat Icon Map Desktop dafür vorab autorisiert, sodass Benutzer nicht separat einwilligen müssen.
Worauf sie zugreifen kann
Nur auf die Anmeldeidentität. Sie deklariert keine Microsoft Graph-, Fabric-, Power BI- oder Azure Storage-Berechtigung und hat keine Anwendungsberechtigung (reine App-Berechtigung). Die Einwilligung umfasst die Standard-Anmeldebereiche (openid, profile, offline_access) und den eigenen Bereich access der Anwendung, angezeigt als „Use the Icon Map customer portal“, mit dem der angemeldete Benutzer das Icon Map-Portal und die Lizenzierungsdienste nutzen kann und sonst nichts.
Das Token, das Icon Map erhält, enthält den Namen des Benutzers, seine E-Mail-Adresse mit dem Kennzeichen von Microsoft, ob Ihre Organisation die Domäne dieser E-Mail-Adresse verifiziert hat, Ihre Mandanten-ID und die Objekt-ID des Benutzers. Icon Map erkennt einen wiederkehrenden Benutzer an Mandanten-ID und Objekt-ID und verwendet die E-Mail-Adresse nur, wenn Ihre Organisation deren Domäne verifiziert hat. Die Anwendung kann weder E-Mails, Dateien, Kalender, Benutzer, Gruppen noch sonst etwas in Ihrem Verzeichnis oder in Microsoft 365 lesen.
Was in Ihrem Verzeichnis erscheint
Wenn sich zum ersten Mal jemand in Ihrer Organisation damit anmeldet, erstellt Microsoft Entra in Ihrem Verzeichnis eine Unternehmensanwendung namens Icon Map, wie bei jeder mehrinstanzenfähigen Anwendung. Es werden keine Gastkonten erstellt, und im Verzeichnis von Tekantis wird für Ihre Benutzer nichts hinzugefügt.
Wenn Ihr Mandant Benutzereinwilligung erlaubt, willigen Benutzer bei ihrer ersten Anmeldung selbst ein. Andernfalls sehen sie „Administratorgenehmigung erforderlich“, bis ein Administrator einwilligt.
Vorab für Ihre Organisation einwilligen
Über die Aufforderung. Ein Administrator meldet sich einmal an (zum Beispiel im Kundenportal) und aktiviert Im Namen Ihrer Organisation zustimmen.
Mit Microsoft Graph, ohne Anmeldung bei Icon Map, aus Azure Cloud Shell oder einer beliebigen
az-Sitzung, die als Cloudanwendungsadministrator, Anwendungsadministrator oder Globaler Administrator bei Ihrem Mandanten angemeldet ist: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\"}"Diese Befehle verwenden Bash-Syntax. Wählen Sie in Cloud Shell daher Bash statt PowerShell. Die erste Zeile ist idempotent und erstellt für sich allein einfach die Unternehmensanwendung.
Die Schaltfläche Administratoreinwilligung erteilen der Unternehmensanwendung ist keiner dieser Wege: Sie erteilt nur die Berechtigungen, die eine Anwendung deklariert, und diese hier deklariert keine.
Einschränken oder blockieren
Erstellen Sie zuerst die Unternehmensanwendung, falls sich noch niemand angemeldet hat (az ad sp create --id 18b07876-c5f0-4548-bfcb-d7c6693692f6), und dann unter Entra ID, Unternehmensanwendungen, Icon Map, Eigenschaften:
- setzen Sie Zuweisung erforderlich auf Ja und fügen Sie unter Benutzer und Gruppen nur die Benutzer oder Gruppen hinzu, die sie verwenden dürfen; oder
- setzen Sie Aktiviert für die Benutzeranmeldung auf Nein, um sie für alle zu blockieren.
Richtlinien für bedingten Zugriff gelten für sie wie für jede andere Unternehmensanwendung. Wenn Sie sie blockieren, können sich Ihre Benutzer weiterhin mit ihrer E-Mail-Adresse beim Kundenportal anmelden. Die Microsoft-Anmeldung im Portal und auf der Marketplace-Aktivierungsseite funktioniert dann aber nicht mehr, und Icon Map AI kann die Berechtigung Ihrer Organisation nicht mehr mit den Microsoft-Identitäten Ihrer Benutzer prüfen; ein in Icon Map Desktop eingegebener Lizenzschlüssel funktioniert stattdessen.
Icon Map AI meldet AADSTS500011 und nennt Icon Map. Microsoft Entra hat in Ihrem Mandanten noch keine Unternehmensanwendung für Icon Map. Das kann passieren, wenn in der Organisation noch niemand die Microsoft-Anmeldung im Portal verwendet hat. Ein Administrator führt einmal az ad sp create --id 18b07876-c5f0-4548-bfcb-d7c6693692f6 aus, dann versucht der Benutzer es erneut.
Nächste Schritte
- Mandanteneinstellungen aktivieren: die Einstellungen, die diesen Datenzugriff erlauben.
- Browser und Netzwerk: weitere Ursachen für Aufforderungen.