ArcGIS Portal

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

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

smart.finder SDI baut eine direkte Verbindung mit ArcGIS Portal auf, um Benutzer und Gruppen abzurufen. Hierzu ist ein ArcGIS Portal 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 Portals

In ArcGIS Portal 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 Portal sieht pro Benutzer jedoch nur genau eine Rolle vor. Dadurch ist es nicht möglich, die Rollen für smart.finder SDI über ArcGIS Portal zuzuweisen. Um einem Benutzer mehrere Rollen zuzuweisen, interpretiert der Identity Service die ArcGIS Portal 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 Portal definiert werden.

Die Konfiguration erfordert folgende Schritte.

Gruppen in ArcGIS Portal anlegen

Um Rollen von smart.finder SDI über Gruppen abzubilden, legen Sie die folgenden Gruppen in ArcGIS Portal 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 Portal 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 Portal.

  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 Portal Gruppen zu smart.finder SDI Rollen

Da Gruppentitel innerhalb einer ArcGIS Enterprise-Organisation nicht eindeutig sind, gibt der Identity Service die ArcGIS Portal 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 Portal 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 Portal.

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

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

Zuordnung von ArcGIS Portal Gruppen zu smart.finder SDI Gruppen

Gruppen in ArcGIS Portal, 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 Portal ü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 Portal wird zu der Gruppe Gruppe_A übersetzt

  • Gruppe_B des Benutzers User_Y in ArcGIS Portal 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 Portal (z.B. https://www.example.com/portal)

security.arcgis.portal.username

Benutzername zur Authentifizierung in ArcGIS Portal

security.arcgis.portal.password

Passwort zur Authentifizierung in ArcGIS Portal

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