Skip To Content

ArcGIS-Token

ArcGIS-Server stellt einen eigenen tokenbasierten Authentifizierungsmechanismus bereit, mit dem sich Benutzer selbst authentifizieren können, indem sie ein Token statt eines Benutzernamens und eines Kennwortes bereitstellen. Ein ArcGIS-Token ist eine Zeichenfolge mit verschlüsselten Informationen, die den Namen des Benutzers, die Token-Ablaufzeit und einige proprietäre Informationen enthält. Zum Abrufen eines Tokens gibt der Benutzer einen gültigen Benutzernamen und ein Kennwort an. ArcGIS-Server überprüft die angegebenen Anmeldedaten und gibt ein Token aus. Der Benutzer präsentiert dieses Token bei jedem Zugriff auf eine gesicherte Ressource.

Token-Eigenschaften

Lebensdauer von Token

Um die Sicherheit des Token aufrechtzuerhalten, ist jeder Token mit einer Ablaufzeit verknüpft. Der Endbenutzer erhält möglicherweise eine Timeout-Meldung oder eine andere Fehlermeldung, wenn ein abgelaufener Token verwendet wird.

Token mit kürzeren Ablaufzeiten sind sicherer, da ein Token, der von einem böswilligen Benutzer abgefangen wurde, nur innerhalb eines kürzeren Zeitfensters verwendet werden kann. Eine kürzere Ablaufzeit bedeutet jedoch auch, dass Anwendungen in kürzeren Abständen neue Token anfordern müssen.

Die Lebensdauer ausgestellter Token wird von zwei Parametern definiert:

  • Lebensdauer kurzlebiger Token: Wenn ein Client ein Token anfordert, ohne einen Timeout-Wert anzugeben, wird ein kurzlebiges Token ausgestellt. Das ausgestellte Token ist nur während der Zeitdauer gültig, die durch diese Eigenschaft definiert wird. Wenn ein Client ein Token mit einem Timeout-Wert anfordert, der die Lebensdauereinstellung für das kurzlebige Token unterschreitet, wird ein Token mit dem angeforderten Ablaufwert ausgestellt.
  • Lebensdauer langlebiger Token: Wenn ein Client ein Token mit einem Timeout-Wert anfordert, wird der angeforderte Timeout-Wert mit der Dauer verglichen, die durch diese Eigenschaft definiert wird. Wenn der angeforderte Timeout-Wert niedriger ist als die Lebensdauer für langlebige Token, wird ein Token mit dem angeforderten Ablaufwert ausgestellt. Ist der angeforderte Timeout-Wert höher als die eingestellte Lebensdauer für langlebige Token, wird dennoch ein Token ausgestellt, dessen Ablaufzeit sich an dieser Eigenschaft orientiert.

Definieren des freigegebenen Schlüssels

Ein ArcGIS-Token ist eine Zeichenfolge mit verschlüsselten Informationen. Der freigegebene Schlüssel ist der kryptografische Schlüssel, der zum Generieren dieser verschlüsselten Zeichenfolge verwendet wird. Je komplexer der freigegebene Schlüssel ist, um so schwerer ist es für Benutzer mit bösen Absichten, die Verschlüsselung zu überwinden und den Schlüssel zu entschlüsseln. Falls ein Benutzer es schafft, den freigegebenen Schlüssel zu entschlüsseln, den ArcGIS-Server-Verschlüsselungsalgorithmus zu replizieren und die Liste berechtigter Benutzer abzurufen, kann er Token generieren und auf jede gesicherte Ressource auf diesem speziellen ArcGIS-Server zugreifen.

Bevor Sie einen freigegebenen Schlüssel definieren, sollten Sie Folgendes beachten:

  • Für den freigegebenen Schlüssel sollten 16 Zeichen festgelegt werden (alle Zeichen nach dem 16. Zeichen werden nicht verwendet). Es wird empfohlen, eine Abfolge zufälliger Zeichen für den Schlüssel zu verwenden. Alle Zeichen sind zulässig, einschließlich nicht alphanumerischer Zeichen.
  • Der Schlüssel sollte nicht auf einen Wert festgelegt werden, der leicht geraten werden kann (kein bestehendes Wort oder gängiger Wert). Da die Benutzer den Schlüssel weder andernorts verwenden noch ihn sich merken müssen, stellt die geforderte Komplexität anders als bei Kennwörtern hier kein Problem dar.
  • Das Token wird mit der AES-Verschlüsselungsmethode (Advanced Encryption Standard), die auch Rijndael genannt wird, mit dem freigegebenen Schlüssel verschlüsselt. Die 16 Zeichen im Schlüssel stellen die 128 Bits dar, die zum Verschlüsseln verwendet werden. Weitere Informationen zur Verschlüsselung und zu AES finden Sie in Sicherheitsreferenzen oder erhalten Sie von Mitarbeitern Ihres Unternehmens, die über Kenntnisse in Sicherheit und Kryptografie verfügen.
  • In hoch geschützten Umgebungen wird empfohlen, den freigegebenen Schlüssel regelmäßig zu ändern. Denken Sie daran, dass die Anwendungen möglicherweise aktualisiert werden müssen, um den neuen freigegebenen Schlüssel verwenden zu können. Alle vorhandenen eingebetteten Token werden ungültig, nachdem der freigegebene Schlüssel geändert wurde.

Sichere Übertragung von Token

Um das Abfangen und den Missbrauch von Token zu verhindern, wird die Verwendung einer sicheren Verbindung mit HTTPS empfohlen. Durch die Verwendung von HTTPS wird sichergestellt, dass der Benutzername und das Kennwort, die vom Client gesendet werden, und das von ArcGIS-Server zurückgegebene Token nicht abgefangen werden können.

Beim Erstellen benutzerdefinierter ArcGIS-Client-Anwendungen, die mit GET-Anforderungen auf Web-Services zugreifen, welche mit ArcGIS-Token-basierter Authentifizierung gesichert sind, empfiehlt es sich, statt eines Abfrageparameters das Token im X-Esri-Autorisierungsheader zu senden. Dadurch kann verhindert werden, dass zwischengeschaltete Instanzen im Netzwerk, z. B. Proxys, Gateways oder Load-Balancer, das Token abrufen. Im folgenden Beispiel für eine HTTP-GET-Anforderung wird das Token im X-Esri-Autorisierungsheader gesendet:

GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
    Host: arcgis.mydomain.com
    X-Esri-Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-

Wenn von ArcGIS Server die ArcGIS-Server-Authentifizierung, nicht jedoch die Authentifizierung auf Webebene (IWA, HTTP BASIC, PKI usw.) verwendet wird, kann statt des X-Esri-Autorisierungsheaders der standardmäßige HTTP-Autorisierungs-Header verwendet werden:

GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1    Host: arcgis.mydomain.com
    Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-