ArcGIS Enterprise-Portal

Mithilfe des OAuth 2.0 Protokolls kann map.apps die Authentifizierung von Personen an ArcGIS Enterprise-Portal delegieren. Dies bedeutet, dass diese sich mit ihrem Portal-Account bei map.apps anmelden können. Ihre Portal-Gruppe und Portal-Rollen werden in Rollen für map.apps übersetzt.

Durch eine Verbindung mit ArcGIS Enterprise-Portal entstehen folgende Möglichkeiten:

  • Vergabe von Rollen für die Nutzung des map.apps Managers

  • Absicherung von Apps

  • Absicherung von Werkzeugen

  • Nutzung von nicht öffentlichen Inhalten wie Webmaps oder Layern ohne erneute Anmeldung (Single Sign-On)

Durch eine Verbindung mit ArcGIS Enterprise-Portal kommt es zu folgenden Einschränkungen:

  • Mit der Funktion "Export für native Apps" exportierte Apps unterstützen keine Authentifizierung. Apps mit anonymem Zugriff funktionieren weiterhin.

Verbindung zwischen map.apps und ArcGIS Enterprise-Portal herstellen

Die Verbindung von map.apps mit dem Portal erfolgt in drei Schritten:

  1. Zuerst registrieren Sie map.apps als vertrauenswürdige App in ArcGIS Enterprise-Portal.

  2. Danach passen Sie die Konfiguration von map.apps an, damit map.apps die Anmeldung an das Portal delegieren kann.

  3. Letztlich konfigurieren Sie ihre Apps, um die Anmeldung am Portal nutzen zu können.

Schritt 1: map.apps am ArcGIS Enterprise-Portal registrieren

Die folgenden Konfigurationsschritte beschreiben das ArcGIS Enterprise-Portal 10.9.1. In älteren Versionen können die Dialoge leicht abweichen.

map.apps muss am Portal als Anwendung registriert werden, um das Single Sign-on des Portals nutzen zu können. Führen Sie dazu folgende Schritte aus:

  1. Melden Sie sich mit Administrationsrechten am Portal an.

  2. Wechseln Sie zum Tab Inhalt. Klicken Sie auf Neues Element und im anschließenden Dialog auf Anwendung.

  3. Ein Dialog zum Anlegen des neuen Elements wird angezeigt. Verwenden Sie dort folgende Einstellungen:

    • Typ: Web Mapping

    • URL: URL der map.apps Installation, z.B. https://example.com/mapapps

  4. Klicken Sie auf Weiter.

  5. Legen Sie jetzt die weiteren Eigenschaften des Elements wie folgt fest:

    • Titel: map.apps

    • Ordner: Wählen Sie den Ordner, in dem Sie das Element speichern möchten.

    • Tags: map.apps

    • Zusammenfassung (optional): Sie können eine Zusammenfassung für das Element erstellen, z.B.: Registrierung von map.apps

  6. Klicken Sie auf Speichern. Die Übersicht des neu erstellten Elements wird angezeigt.

  7. Setzen Sie weitere Registrierungseinstellungen, indem Sie wie folgt vorgehen:

    • Klicken Sie in der Übersicht des Elements auf Einstellungen und gehen Sie zum Abschnitt Web Mapping Application.

    • Klicken Sie auf Registrieren.

    • Geben Sie bei Umleitungs-URI ebenfalls die URL der map.apps Installation ein (https://example.com/mapapps).

    • Klicken Sie auf Hinzufügen um die URI zur Liste der gültigen Umleitungs-URIs aufzunehmen.

    • Klicken Sie auf Registrieren, um den Dialog zu schließen.

  8. Nachdem Sie die Anwendung erfolgreich registriert haben, werden die Registrierungsdaten angezeigt, die Sie für die anschließende Konfiguration von map.apps benötigen:

    • Merken Sie sich die angezeigte App-ID an beliebiger Stelle.

    • Klicken Sie auf Geheimen Zugriffsschlüssel anzeigen und merken Sie sich ebenfalls den angezeigten Geheimen Zugriffsschlüssel der App.

      app secrets de

Die Registrierung ist nun abgeschlossen und Sie können mit der Konfiguration von map.apps fortfahren.

URLs sollten mit https:// beginnen, um sicherzustellen, dass geheime Tokens immer über einen sicheren Kanal gesendet werden.

Schritt 2: map.apps konfigurieren

Die folgenden Parameter müssen in der map.apps Konfiguration ergänzt oder geändert werden.

Beispiel-Konfiguration
security.mode=OAUTH
esri.api.arcgisPortalUrl=https://arcgis.example.com/portal
security.oauth.clientId=6nyEFYqYSYtu60Ws
security.oauth.clientSecret=fb3e3425976e4980a1793cbe6231f4b6
# Ersetzen Sie "0123456789" durch eine beliebige Zeichenkette mit mindestens 32 Zeichen
security.sharedSecret=0123456789
security.mode

Der Wert OAUTH legt fest, dass die Authentifizierung an ein ArcGIS Enterprise-Portal mittels OAuth 2.0 Protokoll delegiert werden soll.

esri.api.arcgisPortalUrl

URL des ArcGIS Enterprise-Portals, an dem die Authentifizierung erfolgen soll.

security.oauth.clientId

App-ID, die bei der Registrierung von map.apps als Anwendung im Portal erstellt worden ist.

security.oauth.clientSecret

Geheimer Zugriffsschlüssel, der bei der Registrierung von map.apps als Anwendung im Portal angezeigt worden ist.

security.sharedSecret

Der Text, den Sie hier eintragen, wird von map.apps als Schlüssel ("shared secret") für die Verschlüsselung von Daten verwendet, die zwischen verschiedenen Anwendungsteilen ausgetauscht werden müssen. Um unautorisierten Zugriff oder die Manipulation von Daten zu verhindern muss der Schlüssel so vertraulich wie ein Passwort behandelt werden. Sie müssen diesen Schlüssel selbst erstellen. Er muss aus Sicherheitsgründen mindestens eine Länge von 32 Zeichen haben.

Einen sicheren Schlüssel erzeugen Sie beispielsweise mit diesen Kommandos:

Windows PowerShell
> [Convert]::ToBase64String((1..32|%{[byte](Get-Random -Minimum ([byte]::MinValue) -Maximum ([byte]::MaxValue))}))
Linux
$ openssl rand -base64 32

In einem Szenario, in dem z.B. zwecks Lastverteilung mehrere Anwendungsinstanzen zum Einsatz kommen, müssen alle Instanzen denselben Wert verwenden.

Konfiguration für föderierte ArcGIS Server

In bestimmten Szenarien, die im Folgenden beschrieben werden, müssen Sie zusätzlich die Property security.oauth.tokenRules konfigurieren. Diese Property definiert Regeln, nach denen map.apps Access Tokens an geschützte Dienste sendet.

Wenn ihr ArcGIS Enterprise-Portal mit einem ArcGIS Server föderiert ist, dessen URL vom Standard wie z.B. https://arcgis.example.com/arcgis abweicht, erfassen Sie einen Eintrag in der Form:

security.oauth.tokenRules=https://arcgis.example.com/otherserver,TOKEN

Für den Fall, dass mehrere ArcGIS Server föderiert sind, müssen alle diejenigen Server aufgelistet werden, deren URL vom Standard wie z.B. https://arcgis.example.com/arcgis abweicht:

security.oauth.tokenRules=https://arcgis.example.com/otherserver1,https://arcgis.example.com/otherserver2,TOKEN

Listen Sie alle benötigten Server per Komma getrennt auf und schließen Sie die Liste mit Eintrag TOKEN ab.

Schritt 3: Apps konfigurieren

Registrieren Sie abschließend jede App, in der eine Anmeldung über ArcGIS Enterprise-Portal erfolgen soll, mit der Funktion App in ArcGIS registrieren im map.apps Manager. Dieser Schritt fügt die Bundles authentication und portal-app-security zur App hinzu und ergänzt die App-Konfiguration um notwendige Einträge im Abschnitt properties. Setzen Sie die Freigabe-Einstellungen im ArcGIS Element, das dadurch im Portal angelegt wird, um festzulegen wer auf die App zugreifen darf.

Um die Anmeldung am ArcGIS Enterprise-Portal zu nutzen, ohne ein Element im Portal zu erzeugen, fügen Sie lediglich das Bundle authentication zur App hinzu ohne die App zu registrieren. Die Freigabe der App erfolgt in diesem Fall über die Einstellungen im map.apps Manager.

Rollen-Zuordnung

map.apps gewährt Zugriff auf geschützte Ressourcen abhängig von Rollen, denen eine Personen in map.apps zugeordnet ist. Auf den map.apps Manager können zum Beispiel nur Personen zugreifen, die der Rolle maAdmin zugeordnet sind. Zusätzlich können Sie die Verfügbarkeit von Apps oder Tools von bestimmten Rollen abhängig machen.

Wenn Sie ArcGIS Enterprise-Portal für die Authentifizierung von Personen konfigurieren, bestimmen Informationen aus dem entsprechenden Portal-Account, welchen Rollen sie in map.apps zugeordnet ist. Die Liste der Rollen einer Person in map.apps setzt sich aus ihrer Portal-Rolle und ihren Portal-Gruppen zusammen.

Portal-Rollen

Die Rolle, der eine Person im Portal zugeordnet ist, wird von map.apps wie folgt übersetzt:

Portal-Rolle map.apps-Rolle Beschreibung

org_admin

maAdmin

Personen mit Administrationsrechten in ArcGIS Enterprise-Portal erhalten diese auch in map.apps.

org_publisher

maEditor

Portal-Publisher erhalten Redaktionsrechte in map.apps.

rolleX

rolleX

Alle anderen Rollen werden ohne Änderung vom Portal übernommen.

Portal-Gruppen

Die Gruppen denen eine Person im Portal angehört, werden ebenfalls in map.apps-Rollen übersetzt. Da mehrere Personen Portal-Gruppen mit gleichem Titel anlegen können, wird eine Gruppe in eine map.apps Rolle der Form <Titel>::<Besitzer> übersetzt.

Portal-Gruppe map.apps-Rolle

Wald (Owner: user1)

Wald::user1

Wasser (Owner: user2)

Wasser::user2