ArcGIS Online

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

Durch eine Verbindung mit ArcGIS Online 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 Online 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 Online herstellen

Die Verbindung von map.apps mit ArcGIS Online erfolgt in drei Schritten:

  1. Zuerst registrieren Sie map.apps als vertrauenswürdige App in ArcGIS Online.

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

  3. Letztlich konfigurieren Sie ihre Apps, um die Anmeldung an ArcGIS Online nutzen zu können.

Schritt 1: map.apps in ArcGIS Online registrieren

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

  1. Melden Sie sich in ArcGIS Online an.

  2. Wechseln Sie zum Tab Inhalt.

  3. Klicken Sie auf Neues Element und im anschließenden Dialog auf Anwendung.

  4. 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

  5. Klicken Sie auf Weiter.

  6. 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.

    • Kategorien (optional): Sie können ein oder mehrere Kategorien für das Element setzen.

    • Tags: map.apps

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

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

  8. 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.

  9. 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://myorganization.maps.arcgis.com
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 ArcGIS Online mittels OAuth 2.0 Protokoll delegiert werden soll.

esri.api.arcgisPortalUrl

URL Ihrer ArcGIS Online Organisation z.B. https://myorganization.maps.arcgis.com.

security.oauth.clientId

App-ID, die bei der Registrierung von map.apps als Anwendung in ArcGIS Online erstellt worden ist.

security.oauth.clientSecret

Geheimer Zugriffsschlüssel, der bei der Registrierung von map.apps als Anwendung in ArcGIS Online 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 den 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.

Anmeldungen für mehrere Organisationen erlauben

Um den Zugriff von Personen aus mehr als einer Organisation zu erlauben, setzen Sie esri.api.arcgisPortalUrl auf https://www.arcgis.com und konfigurieren Sie zusätzlich den Parameter security.oauth.provider.arcgis.organizations wie in folgendem Beispiel:

Beispiel-Konfiguration
esri.api.arcgisPortalUrl=https://www.arcgis.com
security.oauth.provider.arcgis.organizations=myorganization.maps.arcgis.com,otherorg.maps.arcgis.com

Listen Sie alle gewünschten Organisationen per Komma getrennt auf.

Zugriff auf geschützte Dienste aus Ihrer ArcGIS Online Organisation

Damit in map.apps Apps Dienste verwendet werden können, die in Ihrer Organisation in ArcGIS Online veröffentlicht werden, konfigurieren Sie den Parameter security.oauth.tokenRules wie nachfolgend beschrieben:

Beispiel-Konfiguration
security.oauth.tokenRules=https://services.arcgis.com/<organization-id>/arcgis,TOKEN

Um die entsprechende URL Ihrer Organisation zu ermitteln, gehen Sie wie folgt vor:

  1. Wechseln Sie in ArcGIS Online zum Tab Inhalt und klicken Sie auf einen Dienst Ihrer Organisation.

  2. In der Übersicht des Dienstes finden Sie die URL des Dienstes z.B. https://services.arcgis.com/ObdACOfl4Z5LP2D0/arcgis/rest/services/TestLayer/FeatureServer

  3. Kopieren Sie den für die Konfiguration benötigten Teil. Er lautet in diesem Beispiel ObdACOfl4Z5LP2D0.

Konfigurieren Sie den Parameter security.oauth.tokenRules nun indem Sie den Platzhalter <organization-id> ersetzen, zum Beispiel wie folgt:

security.oauth.tokenRules=https://services.arcgis.com/ObdACOfl4Z5LP2D0/arcgis,TOKEN

Wenn Sie Dienste aus mehr als einer Organisation verwenden möchten, so müssen alle URL’s mit Komma getrennt aufgelistet werden:

security.oauth.tokenRules=https://services.arcgis.com/<organization1-id>/arcgis,https://services.arcgis.com/<organization2-id>/arcgis,TOKEN

Schritt 3: Apps konfigurieren

Registrieren Sie abschließend jede App, in der eine Anmeldung über ArcGIS Online 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 in ArcGIS Online angelegt wird, um festzulegen wer auf die App zugreifen darf.

Um die Anmeldung an ArcGIS Online zu nutzen, ohne ein Element in ArcGIS Online 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 Online für die Authentifizierung von Personen konfigurieren, bestimmen Informationen aus dem entsprechenden ArcGIS Online-Account, welchen Rollen sie in map.apps zugeordnet ist. Die Liste der Rollen einer Person in map.apps setzt sich aus der Rolle und den Gruppen zusammen, welche der Person innerhalb von ArcGIS Online zugeordnet sind.

ArcGIS Online-Rollen

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

ArcGIS Online-Rolle map.apps-Rolle Beschreibung

org_admin

maAdmin

Personen mit Administrationsrechten in ArcGIS Online erhalten diese auch in map.apps.

org_publisher

maEditor

ArcGIS Online-Publisher erhalten Redaktionsrechte in map.apps.

rolleX

rolleX

Alle anderen Rollen werden ohne Änderung von ArcGIS Online übernommen.

Gehört der ArcGIS Online Zugang zu einer Organisation, so wird der Domain-Name der Organisation als map.apps Rolle registriert.

Beispiel: myorganization.maps.arcgis.com

ArcGIS Online-Gruppen

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

ArcGIS Online-Gruppe map.apps-Rolle

Wald (Owner: user1)

Wald::user1

Wasser (Owner: user2)

Wasser::user2