Freigeben über


Sicherung einer Single-Page-Anwendung mit Benutzeranmeldung

Der folgende Leitfaden bezieht sich auf eine Anwendung, die auf einem Inhaltsserver gehostet wird oder minimale Webserverabhängigkeiten aufweist. Die Anwendung stellt geschützte Ressourcen bereit, die nur für Microsoft Entra-Benutzer gesichert sind. Ziel des Szenarios ist es, der Webanwendung die Authentifizierung bei Microsoft Entra-ID zu ermöglichen und Azure Maps-REST-APIs im Namen des Benutzers aufzurufen.

So zeigen Sie Die Authentifizierungsdetails Ihres Azure Maps-Kontos im Azure-Portal an:

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zum Azure-Portalmenü. Wählen Sie "Alle Ressourcen" und dann Ihr Azure Maps-Konto aus.

  3. Wählen Sie unter "Einstellungen " im linken Bereich " Authentifizierung" aus.

    Screenshot ihrer Azure Maps-Authentifizierungsoptionen im Azure-Portal.

Beim Erstellen des Azure Maps-Kontos werden drei Werte erstellt. Sie werden verwendet, um zwei Arten von Authentifizierung in Azure Maps zu unterstützen:

  • Microsoft Entra-Authentifizierung: Dies Client ID stellt das Konto dar, das für REST-API-Anforderungen verwendet werden soll. Der Client ID Wert sollte in der Anwendungskonfiguration gespeichert und dann abgerufen werden, bevor Azure Maps-HTTP-Anforderungen erstellt werden, die die Microsoft Entra-Authentifizierung verwenden.
  • Gemeinsame Schlüsselauthentifizierung: Die Primary Key und Secondary Key werden als Abonnementschlüssel für die Authentifizierung mit freigegebenem Schlüssel verwendet. Die Authentifizierung mit gemeinsam genutztem Schlüssel basiert darauf, den vom Azure Maps-Konto generierten Schlüssel mit jeder Anforderung an Azure Maps zu übergeben. Es wird empfohlen, Ihre Schlüssel regelmäßig neu zu generieren. Um die aktuellen Verbindungen während der Regeneration aufrechtzuerhalten, werden zwei Schlüssel bereitgestellt. Ein Schlüssel kann verwendet werden, während die andere neu generiert wird. Wenn Sie Ihre Schlüssel neu generieren, müssen Sie alle Anwendungen aktualisieren, die auf dieses Konto zugreifen, um die neuen Schlüssel zu verwenden. Weitere Informationen finden Sie unter Authentifizierung mit Azure Maps

Erstellen einer Anwendungsregistrierung in der Microsoft Entra-ID

Erstellen Sie die Webanwendung in der Microsoft Entra-ID, damit sich Benutzer anmelden können. Die Webanwendung delegiert den Benutzerzugriff auf Azure Maps-REST-APIs.

  1. Wählen Sie im Azure-Portal in der Liste der Azure-Dienste microsoft Entra ID>App-Registrierungen> aus.

    Screenshot der Anwendungsregistrierung in der Microsoft Entra-ID.

  2. Geben Sie einen Namen ein, wählen Sie einen Supportkontotyp aus, und geben Sie einen Umleitungs-URI an, der die URL darstellt, mit der Microsoft Entra ID das Token ausgibt und auf der das Kartensteuerungselement gehostet wird. Ein detailliertes Beispiel finden Sie unter Azure Maps Microsoft Entra ID-Beispiele. Wählen Sie dann Registrieren aus.

  3. Um azure Maps delegierte API-Berechtigungen zuzuweisen, wechseln Sie zur Anwendung. Wählen Sie dann unter App-RegistrierungenAPI-Berechtigungen>"Berechtigung hinzufügen" aus. Suchen Sie unter APIs, die meine Organisation verwendet, nach Azure Maps, und wählen Sie sie aus.

    Screenshot einer Liste von APIs, die meine Organisation verwendet.

  4. Aktivieren Sie das Kontrollkästchen neben Access Azure Maps, und wählen Sie dann "Berechtigungen hinzufügen" aus.

    Screenshot des Bildschirms

  5. oauth2AllowImplicitFlowaktivieren. Legen Sie zum Aktivieren im Abschnitt „Manifest“ der App-Registrierung oauth2AllowImplicitFlow auf true fest.

  6. Kopieren Sie die Microsoft Entra-App-ID und die Microsoft Entra-Mandanten-ID aus der App-Registrierung, die Sie im Web SDK verwenden möchten. Fügen Sie die Registrierungsdetails der Microsoft Entra-App und das x-ms-client-id aus dem Azure Map-Konto zum Web SDK hinzu.

        <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.css" type="text/css" />
        <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.js" />
        <script>
            var map = new atlas.Map("map", {
                center: [-122.33, 47.64],
                zoom: 12,
                language: "en-US",
                authOptions: {
                    authType: "aad",
                    clientId: "<insert>",  // azure map account client id
                    aadAppId: "<insert>",  // azure ad app registration id
                    aadTenant: "<insert>", // azure ad tenant id
                    aadInstance: "https://login.microsoftonline.com/"
                }
            });
        </script>   
    
  7. Konfigurieren sie die rollenbasierte Zugriffssteuerung (Azure RBAC) für Benutzer oder Gruppen. Lesen Sie die folgenden Abschnitte, um Azure RBAC zu aktivieren.

Gewähren des rollenbasierten Zugriffs für Benutzer auf Azure Maps

Sie können die rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) verwenden, indem Sie mindestens einer Azure Maps-Rollendefinition eine Microsoft Entra-Gruppe oder einen Sicherheitsprinzipal zuweisen.

Informationen zum Anzeigen der verfügbaren Azure-Rollendefinitionen für Azure Maps finden Sie unter Anzeigen integrierter Azure Maps-Rollendefinitionen.

Ausführliche Schritte zum Zuweisen einer verfügbaren Azure Maps-Rolle zur erstellten verwalteten Identität oder zum Dienstprinzipal finden Sie unter Zuweisen von Azure-Rollen mithilfe des Azure-Portals

Informationen zum effizienten Verwalten der Azure Maps-App und des Ressourcenzugriffs einer großen Anzahl von Benutzern finden Sie unter Microsoft Entra-Gruppen.

Von Bedeutung

Damit Benutzer sich bei einer Anwendung authentifizieren können, müssen die Benutzer zuerst in der Microsoft Entra-ID erstellt werden. Weitere Informationen finden Sie unter Hinzufügen oder Löschen von Benutzern mithilfe von Microsoft Entra ID.

Informationen zum effektiven Verwalten eines großen Verzeichnisses für Benutzer finden Sie unter Microsoft Entra ID.

Warnung

Integrierte Azure Maps-Rollendefinitionen bieten einen sehr großen Autorisierungszugriff auf viele REST-APIs von Azure Maps. Informationen zum Einschränken des ZUGRIFFS auf APIs auf ein Minimum finden Sie unter Erstellen einer benutzerdefinierten Rollendefinition und Zuweisen der vom System zugewiesenen Identität zur benutzerdefinierten Rollendefinition. Dies ermöglicht die geringste Berechtigung, die für den Zugriff auf Azure Maps erforderlich ist.

Nächste Schritte

Weiteres Verständnis des Szenarios einer Einzelseitenanwendung:

Suchen der API-Nutzungsmetriken für Ihr Azure Maps-Konto:

Sehen Sie sich Beispiele an, die zeigen, wie Sie Microsoft Entra ID in Azure Maps integrieren: