ArcGIS Server nutzt ein tokenbasiertes System für die Zugriffssteuerung. Nachdem Benutzer sich authentifiziert haben, wird ein Zugriffstoken für die Client-Anwendung ausgestellt. Wenn ein Benutzer auf gesicherte Services zugreifen oder Verwaltungsaufgaben ausführen muss, sendet die Client-Anwendung das Zugriffstoken. ArcGIS Server ermittelt dann anhand der Berechtigungen des Service oder der Berechtigungen des Benutzers, ob der Zugriff auf den Service oder die Verwaltungsaufgabe gewährt wird.
Token-Eigenschaften
In den folgenden Abschnitten werden wichtige Eigenschaften von ArcGIS-Token erläutert.
Lebensdauer eines Tokens
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.
Zwei Parameter definieren die Lebensdauer ausgestellter Token:
- 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. Wenn der angeforderte Timeout-Wert die Einstellung für die Lebensdauer des langlebigen Tokens überschreitet, wird dennoch ein Token ausgestellt; es läuft jedoch zeitgleich mit dieser Eigenschaft ab.
Definition eines 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 es einem Benutzer gelingt, den freigegebenen Schlüssel zu entschlüsseln, den ArcGIS Server-Verschlüsselungsalgorithmus zu replizieren und die Liste autorisierter Benutzer abzurufen, kann er Token generieren und auf jede gesicherte Ressource auf diesem spezifischen 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 zu Verschlüsselung und AES erhalten Sie in den Sicherheitsinformationen oder von einem Experten für Sicherheit und Kryptografie in Ihrer Organisation.
- 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 ArcGIS Server die ArcGIS Server-Authentifizierung und nicht die Authentifizierung auf Webebene (IWA, HTTP BASIC, PKI usw.) verwendet, kann anstelle des X-Esri-Autorisierungsheaders der standardmäßige HTTP-Autorisierungsheader 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-