ArcGIS Enterprise-Portal und ArcGIS Online

Da die folgenden Angaben für ArcGIS Enterprise-Portal und ArcGIS Online gleichermaßen gelten, wird zur besseren Lesbarkeit nur von ArcGIS Enterprise-Portal gesprochen.

ArcGIS Enterprise-Portal kann als Nutzerverwaltung für map.apps verwendet werden. Dies bedeutet, dass sich ein Nutzer mit seinem Portal-Account bei map.apps anmelden kann. Gruppen und Rollen eines Portal-Nutzers werden in Rollen für map.apps übersetzt. Durch eine Verknüpfung 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)

Einschränkungen
  • Dieser Modus ist nicht für dynamische Lastverteilung geeignet.

  • Bei der Anmeldung am Portal wird ein Token für die Nutzung geschützter Ressourcen registriert. Da dieses nicht automatisch erneuert wird, ist nach einiger Zeit ein erneuter Login notwendig.

Konfiguration der Verknüpfung

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

security.integrated.agol.enabled

Aktiviert die Portal-Nutzerverwaltung.
Mögliche Werte sind true oder false. Der Standardwert ist false.

Die vorkonfigurierten Nutzer admin und editor können weiterhin genutzt werden.
security.integrated.agol.organization

Portal oder ArcGIS Online Organisation, mit dem map.apps verbunden wird.
Der Standardwert ist www.arcgis.com. Um map.apps mit einem ArcGIS Enterprise-Portal zu verknüpfen, tragen Sie hier den Portal-Hostnamen inkl. Pfad des Web Adaptors ein, z.B. gis.example.com/portal. Bei einer Verknüpfung mit ArcGIS Online tragen Sie hier den voll qualifizierten Hostnamen der Organisation ein, z.B. myorganization.maps.arcgis.com.

security.integrated.agol.expirationInMinutes

Lebensdauer des Tokens, das im Rahmen des Login beim Portal abgefragt wird.
Der Standardwert ist 60 (1 Stunde). Dieser Wert beeinflusst, nach welcher Zeit ein erneuter Login notwendig ist, wenn geschützte Portal-Ressourcen genutzt werden.

security.integrated.agol.tokenreferer

Externe Basis-URL der map.apps-Installation, z.B. https://apps.example.com/mapapps. Der Wert muss mit der URL im Browser des Nutzers übereinstimmen. Andernfalls ist das vom Portal erzeugte Token nicht anwendbar und es können keine geschützten Ressourcen abgefragt werden, selbst wenn der Login erfolgreich ist.

Beispiel: Verknüpfung mit einem Portal
security.integrated.agol.enabled=true
security.integrated.agol.organization=gis.example.com/portal
security.integrated.agol.tokenreferer=https://apps.example.com/mapapps
Beispiel: Verknüpfung mit einer ArcGIS Online Organisation
security.integrated.agol.enabled=true
security.integrated.agol.organization=myorg.maps.arcgis.com
security.integrated.agol.tokenreferer=https://apps.example.com/mapapps

Eigenschaften von Portal-Nutzern als Rollen in map.apps verwenden

Automatische Zuordnung

Rollen

Rollen von Portalnutzern werden standardmäßig wie folgt übersetzt:

Rolle Portal map.apps Rolle Beschreibung

org_admin

maAdmin

Portal-Administratoren werden zu map.apps Administratoren.

org_publisher

maEditor

Portal-Publisher werden zu map.apps Editoren.

Alle anderen Rollen werden ohne Änderung vom Portal übernommen, z.B. org_user.

Gruppen

Portal-Gruppen bestehen aus einer ID, einem Titel und einem Besitzer. Da die ID einer Gruppe im Portal nicht direkt ersichtlich ist und eine Zuordnung somit schwierig wäre, wird eine Gruppe standardmäßig in eine map.apps Rolle der Form <Titel>::<Besitzer> übersetzt.

Portal-Gruppe map.apps Rolle

Wald (ID: a24534, Owner: user1)

Wald::user1

Wasser (ID: a345b4, Owner: user2)

Wasser::user2

Organisation (nur ArcGIS Online)

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

Beispiel: myorg.maps.arcgis.com

Anpassung der Zuordnung

Die Art, wie Portal-Rollen, -Gruppen und Organisationen (nur ArcGIS Online) in map.apps Rollen übersetzt werden, kann in der Datei spring-security-agol-config.xml angepasst werden. Dazu muss der Eintrag agolRoleMapping editiert werden.

Eine Portal-Rolle umbenennen
<util:map id="agolRoleMapping">
    <!-- Portal-Administrator wird zu map.apps Administrator -->
    <entry key="org_admin" value="maAdmin"/>

    <!-- Portal-Publisher wird zu map.apps Editor -->
    <entry key="org_publisher" value="maEditor"/>

    <!-- Portal-Nutzer bekommt "user" Rolle in map.apps -->
    <entry key="org_user" value="user"/>
</util:map>
Eine Portal-Gruppe in eine map.apps Rolle umbenennen
<util:map id="agolRoleMapping">
    <!-- Portal-Gruppe "Test" mit ID "Q123469" und Besitzer "auser" wird zu Rolle "TestUser" in map.apps -->
    <entry key="Q123469" value="TestUser"/>

    <!-- Alternativ kann das Standard-Mapping verwendet werden -->
    <entry key="auser@@Test" value="TestUser"/>
</util:map>
Eine ArcGIS Online Organisation in eine map.apps Rolle umbenennen
<util:map id="agolRoleMapping">
    <!-- ArcGIS Organisation "myorganization.maps.arcgis.com" wird zu Rolle "MyOrganization" in map.apps -->
    <entry key="myorganization.maps.arcgis.com" value="MyOrganization"/>
</util:map>

Anmeldung auf Nutzer bestimmter Organisationen beschränken (nur ArcGIS Online)

Um die ArcGIS Online Anmeldung auf bestimmte Organisationen einzuschränken, gibt es folgende Möglichkeiten:

  • Konfiguration des Parameters security.integrated.agol.organization mit dem Domain-Namen einer konkreten Organisation

  • Änderung der Konfiguration in der Datei spring-security-agol-config.xml. Der Eintrag agolAllowedOrganizations muss editiert werden

<util:set id="agolAllowedOrganizations">
    <!-- Konkrete Domain-Namen hinzufügen -->
    <value>myorg.maps.arcgis.com</value>
</util:set>

Geschützte Webmaps und Dienste konsumieren

Anmeldung am Portal

Sobald eine geschützte Portal-Ressource (z.B. eine Webmap) geladen wird, öffnet sich ein Anmeldefenster, in dem sich der Nutzer mit seinem Portal-Account einloggen muss.

Die folgenden beiden Optionen haben Einfluss auf den Mechanismus.

client.config.allowCredentialsOverHTTP

Definiert, ob die Anmeldeinformation auch über HTTP übertragen werden dürfen.
Mögliche Werte sind true oder false. Im Falle von ArcGIS Online wird immer HTTPS verwendet. Um einen geschützten ArcGIS Server einzuladen, der ausschließlich HTTP unterstützt, setzen Sie diesen Parameter auf true.

client.config.persistIdentityManagerState

Definiert, ob der Zustand des JavaScript-Objektes esri/IdentityManager im Browser gespeichert wird.
Es werden nur Token gespeichert, nicht Nutzername oder Passwort. Solange die gespeicherten Token gültig sind, muss sich ein Nutzer nicht erneut anmelden, wenn er eine App erneut aufruft.

esri.api.arcgisPortalUrl

Definiert die Basis URL von ArcGIS Online oder einer zentralen ArcGIS Enterprise-Portal Installation.
Der Standardwert ist //www.arcgis.com. Der Wert kann auf den Hostnamen einer ArcGIS Online Organisation geändert werden. Dies ist interessant, wenn OAuth verwendet wird, da dann ein spezifischer Anmeldedialog angezeigt wird.

OAuth

Eine Abwandlung des Anmeldeverfahrens bei Portal ist die Verwendung des OAuth2-Protokolls. Ist es aktiviert, wird der Nutzer bei einer erforderlichen Anmeldung auf eine zentrale Login-Seite des Portals weitergeleitet. Die Voraussetzung zur Nutzung des Protokolls ist die Registrierung der map.apps App beim Portal. Die folgenden zwei Optionen sind möglich:

  • Popup-Modus: https://<server>:<port>/<mapapps_context>/account/oauth-callback.html

  • Browser Redirect Modus: https://<server>:<port>/<mapapps_context>/resources/apps/<appname>/index.html (URL der App index.html)

Nach der Registrierung der App im Portal bekommt diese eine App-ID.

Um OAuth zu aktivieren, müssen folgende Parameter im "properties" Abschnitt der App-Konfiguration ergänzt werden:

"oauthEnabled": true

Aktiviert den OAuth Support.

"oauthAppId": "<app-ID>"

App ID, die bei der Registrierung der App im Portal erstellt worden ist.

"oauthUsePopup": false

Legt fest, ob der Anmeldeprozess in einem Popup Fenster oder direkt durch Umleitung des Browsers erfolgt.
Dieser Parameter ist optional. Der Standardwert ist false.

"arcgisPortalUrl": "<organization-url>"

Überschreibt die globale Einstellung esri.api.arcgisPortalUrl.
Diese Einstellung ist optional. Wenn der Wert auf eine ArcGIS Online Organisation zeigt, so wird ein organisationsspezifischer Anmeldedialog verwendet.

"portalItemId": "<item-id>"

Item ID der map.apps App im Portal.
Diese Einstellung ist optional, wird aber benötigt um den Zugriff auf diese App mit der Freigabe eines Portal-Items zu verknüpfen. Nach erfolgreicher Authentifizierung eines Nutzers wird der Zugriff auf das Portal-Item getestet. Ist der Zugriff verboten, so wird auch der Zugriff auf die App verboten.

Die Parameter können über den App-Editor im map.apps Manager editiert werden.

Zusätzlich muss die App folgende Bundles enthalten, damit OAuth bei Aufruf der App in map.apps angewandt wird:

  • agolauthn

  • authentication

  • forcelogin

  • portal-app-security

oauth config properties