Vertrauenswürdige Dienste konfigurieren

Mit der hier beschriebenen Konfiguration definieren Sie die Regeln, die bestimmen, welche Dienste als vertrauenswürdige Dienste gelten und wie Tokens übertragen werden müssen. Clients können die Regeln dann vom Identity Service abfragen und darüber ermitteln, ob Sie ein Token für einen Dienst beziehen und an diesen weiterleiten dürfen.

Konfiguration

Die Regeln definieren Sie über den Konfigurationsparameter security.oauth.tokenRules des Identity Service.

Um beispielsweise den Dienst https://www.example.com/my-trusted-service als vertrauenswürdigen Dienst zu konfigurieren, verwenden Sie folgende Einstellung:

# .identity-service/application.properties
security.oauth.tokenRules=https://www.example.com/my-trusted-service,BEARER;

In den folgenden Abschnitten werden einige Beispiele für die Konfiguration von vertrauenswürdigen Diensten beschrieben.

Beispiel: ArcGIS Enterprise-Portal

In diesem Beispiel gehen wir davon aus, dass Sie eine Anwendung nutzen, die ArcGIS Enterprise-Portal als Identitätsanbieter verwendet.

Damit Personen in Anwendungen wie map.apps oder smart.finder auf nicht-öffentliche Portal-Ressourcen zugreifen können, müssen Sie auch das Portal als vertrauenswürdigen Dienst konfigurieren. Wenn ArcGIS Enterprise-Portal allerdings für die Integrierte Windows Authentifizierung (IWA) konfiguriert ist, ist diese Konfiguration unnötig.

Fügen Sie das Portal folgendermaßen als vertrauenswürdigen Dienst hinzu, wenn es nicht für IWA konfiguriert ist:

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

Bei ArcGIS Enterprise-Portal muss die Anwendung das Token gewöhnlich als ?token=<token> Parameter übergeben. Daher ist TOKEN als Transportart zu verwenden.

Beispiel: ArcGIS Server

In diesem Beispiel gehen wir davon aus, dass Sie eine Anwendung nutzen, die ArcGIS Enterprise-Portal als Identitätsanbieter verwendet. Wenn Sie Anwendungen wie map.apps oder smart.finder Zugriff auf nicht-öffentliche Dienste eines ArcGIS Verbundservers (federated ArcGIS Server) gewähren wollen, müssen Sie den Verbundserver als vertrauenswürdigen Dienst konfigurieren.

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

Bei ArcGIS Servern muss die Anwendung das Token gewöhnlich als ?token=<token> Parameter übergeben. Daher ist TOKEN als Transportart zu verwenden.

Alternativ ist die Nutzung der Transportart BEARER möglich, wenn die Anwendung das Token im Authorization Header übergeben soll. Bei der Nutzung von BEARER müssen Sie in Anwendungen wie map.apps zusätzlich den Konfigurationsparameter cors.request.trustedServers konfigurieren.

Sollte das Portal mit mehreren Verbundservern verbunden sein, müssen Sie jeden einzelnen Verbundserver in die Konfiguration aufnehmen.

security.oauth.tokenRules=https://arcgis1.example.com/server,TOKEN;https://arcgis2.example.com/server,TOKEN;

Beispiel: ArcGIS Online

In diesem Beispiel gehen wir davon aus, dass Sie ArcGIS Online als Identitätsanbieter verwenden. Damit Anwendungen Dienste einbinden können, die in Ihrer Organisation in ArcGIS Online veröffentlicht werden, müssen Sie folgende URLs konfigurieren:

security.oauth.tokenRules=https://<organization-name>.maps.arcgis.com,TOKEN;https://services.arcgis.com/<organization-id>/arcgis,TOKEN;

Ersetzen Sie <organization-name> durch den Namen Ihrer Organisation in ArcGIS Online. Ersetzen Sie <organization-id> durch die ID Ihrer Organisation in ArcGIS Online.

Um die ID 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.

Wenn Sie Dienste aus mehr als einer Organisation verwenden möchten, müssen Sie alle URL’s auflisten:

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

Beispiel: GeoServer

In diesem Beispiel gehen wir davon aus, dass Sie Keycloak als Identitätsanbieter verwenden. Außerdem ist der GeoServer ebenfalls direkt mit demselben Keycloak verbunden, wie in GeoServer Keycloak Authentifizierung beschrieben.

Damit Anwendungen das Token an den GeoServer senden, muss der GeoServer als vertrauenswürdiger Dienst folgendermaßen im Identity Service registriert werden:

security.oauth.tokenRules=https://example.com/geoserver,BEARER

Bei der Nutzung von BEARER müssen Sie in Anwendungen wie map.apps zusätzlich den Konfigurationsparameter cors.request.trustedServers konfigurieren.