ArcGIS Online

Mithilfe des con terra Technologies Identity Service kann smart.finder SDI die Authentifizierung von Personen an ArcGIS Online delegieren. Dies bedeutet, dass diese sich mit ihrem ArcGIS Online-Account bei smart.finder SDI anmelden können. Ihre ArcGIS Online Gruppen und ArcGIS Online Rollen werden in Rollen für smart.finder SDI übersetzt.

Durch eine Verbindung mit ArcGIS Online entstehen folgende Möglichkeiten:

  • Vergabe von Rollen für die Benutzung des Job Managers.

  • Vergabe von Rollen für die Benutzung des Solr Admin Client.

  • Vergabe von Rollen für die Einschränkung des Suchindexes auf bestimmte Benutzer.

Verbindung zwischen smart.finder SDI und ArcGIS Online herstellen

smart.finder SDI baut eine direkte Verbindung mit ArcGIS Online auf, um Benutzer und Gruppen abzurufen. Hierzu ist ein ArcGIS Online Benutzer notwendig, der die folgenden Berechtigungen besitzt:

  • Alle Benutzer abrufen

  • Alle Kontoinformationen der Benutzer abrufen. Diese Berechtigung ist notwendig, um die Gruppen eines Benutzers abrufen zu können. Es handelt sich um eine administrative Berechtigung, die mindestens den Esri-Benutzertypen Creator erfordert

  • Alle Gruppen abrufen

Um smart.finder SDI mit ArcGIS Enterprise zu betreiben muss mindestens die Version 1.5.0 des con terra Technologies Identity Service verwendet werden.

Schritt 1: Konfiguration des ArcGIS Onlines

In ArcGIS Online und in smart.finder SDI werden Rollen genutzt, um den Zugriff auf Ressourcen und Funktionen zu steuern. In smart.finder SDI kann es in vielen Fällen auch notwendig sein, einem Benutzer mehrere Rollen zuzuweisen.

Das Rechtekonzept von ArcGIS Online sieht pro Benutzer jedoch nur genau eine Rolle vor. Dadurch ist es nicht möglich, die Rollen für smart.finder SDI über ArcGIS Online zuzuweisen. Um einem Benutzer mehrere Rollen zuzuweisen, interpretiert der Identity Service die ArcGIS Online Gruppen als Rollen. Hierzu werden Gruppentitel in Rollen übersetzt.

Dies bedeutet, dass Rollen von smart.finder SDI über die Zugehörigkeit zu einer Gruppe in ArcGIS Online definiert werden.

Die Konfiguration erfordert folgende Schritte.

Gruppen in ArcGIS Online anlegen

Um Rollen von smart.finder SDI über Gruppen abzubilden, legen Sie die folgenden Gruppen in ArcGIS Online an:

  • tc_Administrator

  • tc_Redakteur

  • tc_Datenpfleger

  • tc_Informationssuchender

Rollen zuweisen

Weisen Sie Benutzern Ihrer Organisation die Rollen von smart.finder SDI zu, indem Sie sie den entsprechenden Gruppen in ArcGIS Online hinzufügen.

Schritt 2: Identity Service installieren und konfigurieren

In diesem Schritt installieren und konfigurieren Sie den Identity Service als separate Web Anwendung. Folgen Sie dazu diesen Schritten aus der Dokumentation des Identity Service:

  1. Installieren Sie den Identity Service.

  2. Verbinden Sie den Identity Service mit ArcGIS Online.

  3. Konfigurieren Sie Dienste, die mit einem Zugriffstoken angefragt werden sollen, als vertrauenswürdige Dienste im Identity Service.

Die vertrauenswürdigen Dienste des {product_name} sind die Endpunkte der Web-Anwendungen smartfinder-sdi, smartfinder-search und smartfinder-editor. Diese sind standardmäßig unter folgenden URLs erreichbar:

Diese werden über das Property security.oauth.tokenRules im Identity Service konfiguriert, z.B.:

# semicolon separated list of trusted services
security.oauth.tokenRules=https://www.example.com/smartfinder-sdi;https://www.example.com/smartfinder-search;https://www.example.com/smartfinder-editor

Weitere Details zum Property security.oauth.tokenRules finden Sie in der Konfiguration des Identity Service.

https://www.example.com muss entsprechend Ihrer Umgebung angepasst werden.

Wird smart.finder SDI in einer map.apps Instanz betrieben, so ersetzen Sie die URL https://www.example.com/smartfinder-sdi mit der URL der map.apps Instanz.

Zuordnung von ArcGIS Online Gruppen zu smart.finder SDI Rollen

Da Gruppentitel innerhalb einer ArcGIS Enterprise-Organisation nicht eindeutig sind, gibt der Identity Service die ArcGIS Online Gruppen als Rollen entsprechend dem Schema group_title::group_owner aus.

{
    "roles": [
        "tc_Informationssuchender::admin",
        "tc_Administrator::admin",
        "tc_Redakteur::admin",
        "tc_Datenpfleger::admin"
    ]
}

Damit die ArcGIS Online Gruppen tc_Administrator::<owner>, tc_Redakteur::<owner>, tc_Datenpfleger::<owner> und tc_Informationssuchender::<owner> korrekt zu Rollen von smart.finder SDI übersetzt werden, ergänzen Sie folgende Zeile in der application.properties-Datei des Identity Service:

security.oauth.provider.arcgis.roles=tc_Administrator::<owner>=tc_Administrator,solrAdmin,maAdmin;tc_Redakteur::<owner>=tc_Redakteur;tc_Datenpfleger::<owner>=tc_Datenpfleger;tc_Informationssuchender::<owner>=tc_Informationssuchender

Ersetzen Sie die Variable <owner> durch den Benutzernamen des jeweiligen Gruppenbesitzers in ArcGIS Online.

Die Ausgabe vom Identity Service sieht anschließend so aus:

{
    "roles": [
        "tc_Informationssuchender",
        "tc_Administrator",
        "tc_Redakteur",
        "tc_Datenpfleger"
    ]
}

Zuordnung von ArcGIS Online Gruppen zu smart.finder SDI Gruppen

Gruppen in ArcGIS Online, die als Gruppen in smart.finder SDI verwendet werden sollen, müssen explizit angegeben werden, damit diese vom Identity Service berücksichtigt werden.

Dafür werden den Konstrukten group_title::group_owner Gruppentitel zugeordnet. Es können die ursprünglichen Titel aus ArcGIS Online übernommen oder neue Titel vergeben werden.

Um die berücksichtigten Gruppen anzugeben und Gruppentitel neu zu vergeben, konfigurieren Sie die Property security.oauth.provider.arcgis.groups und orientieren Sie sich an folgendem Beispiel:

security.oauth.provider.arcgis.groups=Gruppe_A::User_X=Gruppe_A;Gruppe_B::User_Y=Redakteure

In diesem Beispiel wird Folgendes bewirkt:

  • Gruppe_A des Benutzers User_X in ArcGIS Online wird zu der Gruppe Gruppe_A übersetzt

  • Gruppe_B des Benutzers User_Y in ArcGIS Online wird zu der Gruppe Redakteure übersetzt.

Die Ausgabe des Identity Service sieht dann wie folgt aus:

{
    "groups": [
        "Gruppe_A",
        "Redakteure"
    ]
}

Alternativ können Sie die Konfiguration auch über das Setzen der Umgebungsvariablen SECURITY_OAUTH_PROVIDER_ARCGIS_ROLES und SECURITY_OAUTH_PROVIDER_ARCGIS_GROUP durchführen.

Bitte beachten Sie bei der Zuweisung von Gruppen, dass jeder Benutzer nur Mitglied einer einzigen Gruppe sein kann. Mitgliedschaften eines Benutzers in mehreren Gruppen werden von smart.finder SDI nicht unterstützt.

Weitere Informationen finden Sie in der Konfigurationsanleitung des Identity Service.

Schritt 3: smart.finder SDI konfigurieren

Um smart.finder SDI so zu konfigurieren, dass die Benutzeranmeldung über den Identity Service stattfindet, setzen Sie die folgenden Parameter in der globalen Konfiguration:

security.mode=IDENTITY
security.login.base=https://www.example.com/identity
security.oauth.provider=arcgis
security.arcgis.portal.url=https://www.example.com/portal
security.arcgis.portal.username=username
security.arcgis.portal.password=password

Wenn der verwendete Identity Service auf einem anderen Host oder Port bereitgestellt wird als smart.finder SDI, muss folgendes Property zusätzlich im smart.finder SDI gesetzt werden.

# comma separated list of trusted services
cors.request.trustedServers=https://www.example.com/identity-service

https://www.example.com/identity-service ist als Beispiel der Basis-URL des Identity Service zu verstehen.

security.mode

Der Wert IDENTITY legt fest, dass die Authentifizierung über den Identity Service stattfinden soll.

security.login.base

Basis-URL des Identity Service (z.B. https://www.example.com/identity)

security.oauth.provider

Die Art des Identity-Anbieters.

Der Wert für ArcGIS Portal/ArcGIS Online ist arcgis.

security.arcgis.portal.url

Basis-URL von ArcGIS Online (z.B. https://www.example.com/portal)

security.arcgis.portal.username

Benutzername zur Authentifizierung in ArcGIS Online

security.arcgis.portal.password

Passwort zur Authentifizierung in ArcGIS Online

cors.request.trustedServers

Liste von URLs zu Backenddiensten, für die die Übergabe von sicherheitskritischen Informationen mittels CORS aktiviert wird.

Dies ist beispielsweise bei Cookies und Autorisierung-Header der Fall.

Beispiel: https://example.com,https://example.net