Einbetten für Ihre Organisation
Es gibt zwei Möglichkeiten, eine Icon Map einzubetten, und sie eignen sich für unterschiedliche Zielgruppen.
Karten einbetten beschreibt die erste: eine veröffentlichte Karte, eingefroren und für Betrachter bereitgestellt, die überhaupt keinen Fabric-Zugriff haben. Diese Seite beschreibt die zweite: eine Live-Karte in Ihrer eigenen internen Anwendung, bei der sich jeder Betrachter mit seiner eigenen Identität anmeldet.
Wenn Sie die Einbettung in Power BI kennen: Es sind dieselben beiden Modelle, "Einbetten für Ihre Kunden" und "Einbetten für Ihre Organisation".
Was es ist
Die Karte ist in Ihre Anwendung eingebettet, und die eigene Microsoft Entra-Identität jedes Betrachters wird zum Lesen der Daten verwendet. Das bedeutet:
- Betrachter sehen nur die Daten, die ihre eigenen Fabric-Berechtigungen zulassen, und die Sicherheit auf Zeilenebene gilt automatisch: dieselbe RLS, die Ihre Fabric- und Power BI-Modelle bereits durchsetzen. In Icon Map muss nichts konfiguriert werden.
- Die Daten sind live und werden in dem Moment gelesen, in dem die Karte geöffnet wird, nicht als Momentaufnahme.
- Es gibt keinen Dienstprinzipal zum Lesen und keine veröffentlichte Kopie. Icon Map kann nie auf etwas zugreifen, das der Betrachter nicht ohnehin selbst öffnen könnte.
Die Karte ist schreibgeschützt: Betrachter können erkunden, filtern, Lesezeichen verwenden und Rückschreibeformulare ausfüllen, aber es gibt keine Bearbeitung und keinen Zugang zum Editor.
Wann welcher Modus
| Karten einbetten | Einbetten für Ihre Organisation | |
|---|---|---|
| Melden sich Betrachter an? | Nein | Ja, mit ihrem eigenen Geschäftskonto |
| Wer liest die Daten | Eine Leseidentität | Der Betrachter |
| Sicherheit auf Zeilenebene | Nicht pro Betrachter | Native Fabric- / Power BI-RLS, pro Betrachter |
| Daten | Momentaufnahme oder fixierte Live-Abfragen | Live, als der Betrachter |
| Zielgruppe | Alle: Kunden, die Öffentlichkeit | Personen in Ihrer Organisation mit Zugriff auf die Daten |
| Typischer Einsatz | Eine öffentliche Website, ein Kundenportal | Ein Betriebsportal, ein Intranet, eine Fachanwendung |
Es gibt keine Lizenz pro Benutzer zu beachten: Fabric wird über die Kapazität abgerechnet, die Zielgruppe sind also einfach die Personen in Ihrem Verzeichnis, die die zugrunde liegenden Daten sehen dürfen.
Dieser Modus kann nicht für öffentliches Teilen verwendet werden. Jeder Betrachter meldet sich an, daher gibt es keinen anonymen Link.
Voraussetzungen
- Eine Icon Map, die mit dem Icon Map-Workload in einem Fabric-Arbeitsbereich auf einer Fabric-Kapazität (F oder Testversion) erstellt wurde.
- Betrachter mit Fabric-Berechtigung für das Kartenelement und die Daten dahinter, auf normalem Weg erteilt, durch Teilen des Elements oder des Arbeitsbereichs.
- Eine Entra-Anwendung, die die Token ausstellen kann, mit denen die Karte liest. Welche
Anwendung, hängt davon ab, wie Sie die Anmeldung handhaben:
- Ihre Anwendung stellt das Token bereit (die übliche Wahl): Ihre eigene Entra-App
wird verwendet, und die Viewer-Anwendung von Icon Map ist überhaupt nicht beteiligt. Ihre
App benötigt diese delegierten Berechtigungen mit Zustimmung in Ihrem Mandanten: Azure
Storage
user_impersonation, Fabric/Power BIWorkspace.Read.All,Item.Read.AllundDataset.Read.Allsowie Azure Data Exploreruser_impersonation, wenn die Karte ein Eventhouse liest. - Die Karte meldet den Betrachter an: einmalige Administratorzustimmung für die Anwendung Icon Map Embed Viewer in Ihrem Mandanten.
- Ihre Anwendung stellt das Token bereit (die übliche Wahl): Ihre eigene Entra-App
wird verwendet, und die Viewer-Anwendung von Icon Map ist überhaupt nicht beteiligt. Ihre
App benötigt diese delegierten Berechtigungen mit Zustimmung in Ihrem Mandanten: Azure
Storage
Zu Ihrer Anwendung hinzufügen
Betten Sie die Karte mit dem JavaScript-SDK von Icon Map ein. Verweisen Sie damit auf das Kartenelement und geben Sie an, wie ein Token abgerufen wird:
<div id="map" style="height: 600px"></div>
<script type="module">
import { embedForOrganization } from "@iconmap/embed";
embedForOrganization(document.getElementById("map"), {
mapItem: {
workspaceId: "00000000-0000-0000-0000-000000000000",
itemId: "00000000-0000-0000-0000-000000000000",
},
// Your application already signed this user in - hand over a token for
// the scopes the map asks for.
getToken: (scopes) =>
msalInstance
.acquireTokenSilent({ scopes, account })
.then((result) => result.accessToken),
onError: (error) => console.error(error),
});
</script>
Die Arbeitsbereichs- und Element-IDs finden Sie in der Fabric-URL der Karte.
Zwei Wege zur Anmeldung
Ihre Anwendung stellt das Token bereit (das Beispiel oben und die übliche Wahl). Ihre Benutzer melden sich einmal bei Ihrer Anwendung an, und die Karte verwendet diese Sitzung weiter. Es erscheint nichts Zusätzliches.
Die Karte fordert ein Token für die Ressource an, die sie gerade lesen will: Ihren OneLake-Speicher,
die Fabric-API, einen Eventhouse-Cluster. Geben Sie daher ein Token für die
übergebenen scopes zurück, nicht ein festes Token.
Da die Token von Ihrer Entra-Anwendung stammen, wird die eigene Viewer-Anwendung von Icon Map in diesem Szenario nie verwendet und benötigt keine Zustimmung.
Die Karte meldet den Betrachter an. Lassen Sie getToken weg, dann übernimmt die Karte die
Anmeldung selbst und zeigt beim ersten Mal eine Anmeldeschaltfläche an. Am einfachsten einzubinden,
aber Ihre Benutzer melden sich zweimal an: einmal bei Ihrer Anwendung und einmal bei der
Karte.
Die Sitzung steuern
const handle = embedForOrganization(element, options);
handle.signOut(); // drop the viewer's session and cached tokens
handle.reload(); // re-read the map as the viewer
handle.destroy(); // remove the map from the page
Sicherheit
- Geringste Rechte durch die Architektur. Im Datenpfad gibt es keine Anbieteridentität. Ein Betrachter sieht nur, was er ohnehin sehen darf, und ein Betrachter, der den Zugriff auf die Daten verliert, sieht sie nicht mehr: sofort, ohne erneute Veröffentlichung.
- Die Sicherheit auf Zeilenebene ist die von Fabric, nicht unsere. Ihre RLS muss in Icon Map nicht nachgebildet werden, daher kann nichts auseinanderlaufen.
- Nichts wird kopiert. Es gibt nirgendwo eine eingefrorene Momentaufnahme Ihrer Daten.
- Das einzige verbleibende Risiko ist das übliche für dieses Modell: Ein gestohlenes Zugriffstoken funktioniert bis zu seinem Ablauf. Token sind kurzlebig, genau wie im entsprechenden Modus von Power BI.
Weitere Details im Sicherheits-Whitepaper.
Gut zu wissen
- Gastbetrachter (B2B) funktionieren in dem Umfang, in dem Fabric ihnen Zugriff auf die Daten gewährt. Mandantenübergreifende Gastszenarien kann Icon Map nicht erweitern.
- Karten, die mit einem Entwicklungsbuild des Workloads erstellt wurden, lassen sich auf diese Weise nicht einbetten. Verwenden Sie Karten, die mit dem veröffentlichten Icon Map-Workload erstellt wurden.
- Die Kapazität des Arbeitsbereichs der Karte muss laufen: Eine angehaltene Kapazität bedeutet für niemanden Daten.
Nächste Schritte
- Embed API: die eingebettete Karte aus Ihrer eigenen Anwendung mit JavaScript steuern. Dieselbe API dient beiden Einbettungsmodi.
- Karten einbetten: der veröffentlichte Modus ohne Anmeldung.
- Administratorzustimmung erteilen: die einmalige Einrichtung.
- Rückschreiben und Bearbeitung durch Betrachter: Betrachter Daten hinzufügen lassen.