Konfigurieren des Token-Services
Der Token-Service authentifiziert Benutzer, wenn die ASP.NET-Authentifizierung verwendet wird (anders ausgedrückt, wenn SQL Server oder ein benutzerdefinierter Anbieter für die Benutzer- und Rollenspeicher verwendet wird). Ein Token fungiert als Schlüssel für den Zugriff auf einen sicheren Service und wird nur authentifizierten Benutzern übermittelt. Der Token ist eine Zeichenfolge mit verschlüsselten Informationen, die den Namen des Benutzers, die Ablaufzeit und andere Informationen enthalten. Der Token wird dem authentifizierten Benutzer durch die unter <ArcGIS Server-Instanz>/Tokens verfügbaren Web-Services übermittelt.
Token stellen einen bestimmten Grad an Sicherheit für die Web-GIS-Services bereit, sind aber nicht so sicher wie andere Methoden, z. B. die integrierte Windows-Authentifizierung. Die Sicherheit eines Systems mit Token hängt von der Steuerung des Zugriffs auf die Token ab. Anforderungen nach Token erfordern standardmäßig eine sichere Verbindung (HTTPS), HTTPS sollte aber auch für alle Anforderungen, die den Token verwenden, erforderlich sein. Dies würde bedeuten, dass HTTPS für den Ordner, der die geschützten GIS-Services enthält, als erforderliches Zugriffsprotokoll festgelegt wird. Sie können HTTPS für einen Services-Ordner als erforderliches Protokoll festlegen, indem Sie die Ordnereigenschaften in Manager oder in ArcCatalog öffnen und das Feld Verschlüsselter Webzugriff erforderlich aktivieren.
Der Token-Service ist ein Web-Service, der während der Installation von ArcGIS Server zusammen mit der ArcGIS-Webanwendungen-Komponente installiert ist. Bei der aktuellen Version der Software wird der Token-Service bei Bedarf automatisch aktiviert. Der Token-Service wird aktiviert, wenn Sie angeben, dass Benutzer entweder in Microsoft SQL Server oder einem benutzerdefinierten Anbieter der Mitgliedschaft (siehe Überblick über das Einrichten von Benutzern und Rollen) gespeichert werden. Der Token-Service wird nicht aktiviert oder verwendet, wenn Sie angeben, dass Windows-Benutzerkonten zur Authentifizierung der Benutzer von GIS-Services verwendet werden, sofern Sie nicht SQL Server oder einen benutzerdefinierten Anbieter für Rollen verwenden und Token zur Benutzerauthentifizierung aktivieren.
Wenn der Token-Service aktiviert worden ist, können Sie das maximale zulässige Timeout für Token festlegen. Diese Einstellung wird in Timeout von Token beschrieben. Zudem können Sie die Verschlüsselung für die Installation auf einen Einzelwert festlegen; nähere Informationen hierzu finden Sie unter Gemeinsam verwendeter Schlüssel für den Token-Service. Dies sind die einzigen für den Token-Service verfügbaren Konfigurationsschritte.
Wenn für einen GIS-Service Token erforderlich sind, verwendet die Client-Software den GIS-Service nach folgendem Muster:
- Der Client sendet eine Anforderung an den GIS-Service.
- Der GIS-Server antwortet, dass ein Token erforderlich ist und stellt die URL des Token-Services bereit.
- Der Client fordert einen Token vom Token-Service an, indem er einen gültigen Benutzernamen und ein Kennwort angibt.
- Der Token-Service überprüft den Benutzernamen und das Kennwort anhand der Datenbank (oder dem benutzerdefinierten Anbieter der Mitgliedschaft) und gibt dem Client einen Token zurück, falls Benutzername und Kennwort gültig sind.
- Der Client sendet eine Anforderung an einen GIS-Service und übermittelt den Token zusammen mit der Anforderung.
- Der GIS-Server überprüft den Token und sendet die Antwort auf die Dienstanforderung an den Client zurück.
Die Frage ist, wie Sie vorgehen, wenn Benutzer in der Lage sein sollen, auf Services zuzugreifen, ohne einen Token bereitstellen oder sich anmelden zu müssen? Sie können den anonymen Zugriff auf Services oder Ordner zulassen, indem Sie die Jeder-Rolle verwenden (siehe Festlegen von Berechtigungen für einen Service oder einen Ordner).
Wenn der Token-Service aktiviert wird und für den Zugriff auf GIS-Services erforderlich ist, muss die Client-Software in der Lage sein, den Token wie oben beschrieben abzurufen und zu verwenden. Esri Clients rufen Token automatisch ab und verwenden sie. Wenn der Client eine Verbindung mit einem ArcGIS Server Internet-Service herstellt, für den eine Anmeldung erforderlich ist, dann verhält er sich wie folgt:
- ArcGIS Desktop (ArcMap, ArcCatalog), ArcGIS Explorer und Web ADF-Anwendungen: Der Benutzer gibt in der Desktop-Anwendung oder Entwicklerumgebung einen gültigen Benutzernamen und ein Kennwort in das Verbindungsdialogfeld ein, um auf den Service zuzugreifen. Die Anwendung kümmert sich um die Kommunikation mit dem Token-Service und das Abrufen eines gültigen Tokens. Der Benutzer oder Entwickler muss nicht direkt mit dem Token-Service interagieren.
- REST-basierte Anwendungen (JavaScript, Flex, Silverlight/WPF, SharePoint): Da diese Anwendungen in einem Browser ausgeführt werden und daher von jedem, der Zugriff auf sie hat, angezeigt werden können, wäre es nicht zweckmäßig, den Benutzernamen und das Kennwort für den Service in die Anwendung einzubetten. Stattdessen kann ein Token vom Token-Service abgerufen werden. Der Token wird dann in die URL-Anforderung für den Service (z. B., http://url.to.service? Token = <Token-Zeichenfolge>) eingefügt. Details zum Abrufen des Tokens finden Sie im Abschnitt Webseite GetToken in diesem Thema. Informationen zum Anfordern einer Ressource mit einem Token finden Sie in der entsprechenden API-Ressource.
- SOAP-basierte Anwendungen: Anwendungen, die ein SOAP-Toolkit verwenden, um auf die Web-Service-Beschreibungssprache (WSDL) des GIS-Web-Services zuzugreifen, ohne die ADF-Verbindungsklassen zu verwenden, müssen Token abrufen und explizit verwenden. Informationen und Beispiele hierzu finden Sie im ArcGIS Server-SOAP-SDK.
Bei Verwendung eines Tokens in Webanwendungen ist zu beachten, der der Endbenutzer der Anwendung im Browser keine Anmeldeinformationen für den GIS-Service eingibt. Die Anmeldeinformationen für den Service müssen im Voraus in Manager oder der Entwicklungsumgebung angegeben werden. Für alle Benutzer der Webanwendung werden dieselben Anmeldeinformationen verwendet. Die Webanwendung selbst wird dadurch geschützt, dass eine Anmeldung vorgeschrieben wird, diese Anmeldung wird jedoch auf der Grundlage der Sicherheitskonfiguration für die Webanwendung in Manager oder auf andere Weise getrennt überprüft. Durch benutzerdefinierte Programmierung können Anmeldeinformationen vom Endbenutzer zum GIS-Service weitergeleitet werden. Weitere Informationen hierzu finden Sie in der Entwickler-Hilfe. Beim Einsatz der IIS-Authentifizierung (in Windows gespeicherte Benutzer) werden die Anmeldeinformationen automatisch von der Anwendung an die zugrunde liegenden Web-Services übergeben.
Mit Manager können Sie einige Parameter für den Token-Service festlegen: Ablaufzeiten für Token (sowohl für kurzlebige als auch für langlebige Token) und den gemeinsam verwendeten Schlüssel für die Verschlüsselung. Diese Einstellungen werden unten erklärt.
Timeout von Token
Wenn der Token-Service aktiviert worden ist, können Sie über Sicherheitseinstellungen in Manager das Timeout für Token festlegen. Das Timeout bestimmt den Zeitraum, über den der Token gültig ist. Der Endbenutzer erhält möglicherweise eine Timeout-Meldung oder eine andere Fehlermeldung, wenn ein abgelaufener Token verwendet wird.
Kürzere Token-Timeouts bieten höhere Sicherheit, können aber dazu führen, dass bei legitimierten Benutzern während der Verwendung von Services Timeouts auftreten, wenn die Anwendung Token-Timouts nicht erkennt und keinen neuen Token abruft (Desktop- und ADF-Clients können neue Token beziehen). Für Token wird eine Timeout-Einstellung festlegt, um ihre unbefugte Verwendung einzuschränken. Wenn es einem Hacker gelingt, die Kommunikation zwischen dem autorisierten Benutzer und dem Server zu überwachen, könnte der Token vom Hacker entwendet werden. Wenn ein Token abgefangen wird, schränkt das Timeout seine Nutzungsdauer ein. Um die Sicherheit zu erhöhen, sollten Sie daher das Timeout von Token auf einen kürzeren Zeitraum festlegen. Der Nachteil eines kurzen Token-Timeouts ist, dass der Entwickler vor Ablauf des Tokens einen neuen Token in die Anwendung einbetten muss.
Wenn Sie eine benutzerdefinierte Anwendung schreiben, sollte diese das Token-Timeout erkennen und eine entsprechende Meldung ausgeben oder einen neuen Token abrufen. Weitere Informationen hierzu finden Sie in der Entwickler-Hilfe.
Auf der Seite Sicherheit > Einstellungen werden zwei Token-Ablaufzeitfenster definiert:
- Kurzlebige Token: Diese Timeout-Einstellung gilt für Clients, die einen Token ohne Client-ID anfordern, oder mit einer Client-ID, aber ohne Ablaufzeit. Der hier festgelegte Timeout-Wert wird immer für kurzlebige Token verwendet. Diese Timeout-Einstellung wird für ArcGIS Desktop und Web ADF-Anwendungen verwendet.
- Langlebige Token: Diese Timeout-Einstellung wird in der Regel für die REST-basierten (JavaScript-, Flex-, Silverlight/WPF- und SharePoint-) Anwendungen verwendet. Die langlebige Token-Einstellung in Manager ist in der Regel viel länger als die Einstellung für kurzlebige Token. Die Timeout-Einstellung ist ein maximaler zulässiger Wert: Der Client kann für einen Zeitraum bis zur maximalen Einstellung in Manager einen Token anfordern. Um einen langlebigen Token zu erhalten, muss der Client eine Client-ID und eine Ablaufzeit übermitteln. Die Client-ID ist entweder die Client-IP-Adresse oder die Web-Referrer-URL, d. h. die URL der Webanwendung, die der Clientbrowser verwendet. Die Anforderung muss auch das Timeout für den Token enthalten. Wenn kein Timeout angegeben wird, wird das für kurzlebige Token angegebene Timeout verwendet.
Eine gute Möglichkeit, die Entwendung und die unbefugte Verwendung von Tokens zu verhindern, besteht darin, die Verwendung von HTTPS (SSL) für die gesamte Kommunikation mit GIS-Services vorzuschreiben. Hierzu verwenden Sie eine sichere Kommunikation (SSL) für die ArcGIS-/Service-Webanwendung. Anweisungen zum Verwenden von HTTPS (SSL) für eine Anwendung in IIS finden Sie in Einrichten von SSL.
Gemeinsam verwendeter Schlüssel für den Token-Service
Der gemeinsam verwendete Schlüssel für den Token-Service wird zum Verschlüsseln des Token benutzt. Der Token wird mit dem Benutzernamen und anderen Informationen verschlüsselt und an den Client gesendet. Wenn der Client einen GIS-Service anfordert, wird der Token in diese Anforderung eingefügt. Der Server verwendet dann den gemeinsam verwendeten Schlüssel, um den Token zu entschlüsseln. Der Server überprüft die Identität des Clients, bevor er den Zugriff auf den GIS-Service zulässt. Der gemeinsam verwendete Schlüssel stellt sicher, dass der Server den Token erstellt hat.
Da der gemeinsam verwendete Schlüssel für die Sicherstellung der Identität und der Autorisierung des Clients entscheidend ist, muss der Schlüssel auf einen eindeutigen Wert der richtigen Länge festgelegt werden. Wenn der Token-Service aktiviert wird, legt Manager den gemeinsam verwendeten Schlüssel auf einen Zufallswert fest. Sie können den Schlüssel, falls gewünscht, auch selbst festlegen. Um den gemeinsam verwendeten Schlüssel festzulegen, wählen Sie in Manager die Option Sicherheit > Einstellungen, und klicken Sie unter der Überschrift "Token-Service" auf die Schaltfläche Einstellungen. Legen Sie im Dialogfeld Einstellungen, das daraufhin angezeigt wird, den Wert für Freigegebener Schlüssel fest. Für den Schlüssel sollten 16 Zeichen festgelegt werden (alle Zeichen nach dem 16. Zeichen werden nicht verwendet). Es wird empfohlen, einen Satz zufälliger Zeichen für den Schlüssel zu verwenden. Alle Zeichen sind zulässig, einschließlich nicht alphanumerischer Zeichen. Der Schlüssel sollte auf einen Wert festgelegt werden, der von niemandem, der den Token abfangen könnte, leicht zu erraten ist. Da die Benutzer den Schlüssel weder verwenden noch ihn sich merken müssen, ist die Komplexität anders als bei Kennwörtern hier kein Problem.
Der Token wird mit der AES-Verschlüsselungsmethode (Advanced Encryption Standard), die auch Rijndael genannt wird, mit dem 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 zum AES-Standard finden Sie in Sicherheitsreferenzen oder erhalten Sie von Mitarbeitern Ihres Unternehmens, die über Kenntnissen in Sicherheit und Kryptografie verfügen.
Webseite GetToken
Einer HTML-Seite wird der Token-Service bereitgestellt, um das manuelle Anfordern von Token zu ermöglichen. In der Regel ist dies nur beim Erstellen von Webanwendungen mit der ArcGIS JavaScript API oder für Tests und zur Problembehandlung erforderlich. Clients, z. B. Web ADF-Anwendungen und ArcGIS Desktop, rufen Token automatisch ab und benötigen diese Seite nicht. Die Seite GetToken befindet sich auf dem Webserver unter https://<webserver>/ArcGIS/Tokens/gettoken.html (bzw. wenn Sie ArcGIS unter einem benutzerdefinierten Instanzennamen installiert haben, ersetzen Sie ArcGIS durch diesen Namen).
Um die Seite GetToken zu verwenden, geben Sie die folgenden Informationen ein:
- Benutzername und Kennwort, die auf dem GIS-Server für die GIS-Web-Services gültig sind. Gültig sind diejenigen Benutzer, die zuvor in ArcGIS Server Manager unter Sicherheit > Einstellungen festgelegt wurden.
- Client-ID, die den Computer identifiziert, der die Anforderung an den Web-Service sendet. Die Client-ID ist erforderlich, um einen langfristigen Token zu erhalten, der über einen längeren Zeitraum gültig ist. Dies ist in der Regel beim Einsatz REST-basierter APIs erforderlich ist. Mit der Client-ID wird für den Fall, dass der Token während der Übertragung entwendet wird, sichergestellt, dass der Token nicht problemlos verwendet werden kann, um Anforderungen an den GIS-Server zu senden (beachten Sie, dass es möglich ist, die beiden unten beschriebenen Optionen zu manipulieren). Die Client-ID kann mit einer der beiden folgenden Methoden angegeben werden:
- IP-Adresse: Damit wird der Token an den angegebenen Computer gebunden. Verwenden Sie die IP-Adresse, wenn der Token immer auf dem angegebenen Computer verwendet wird, z. B. in einer Webanwendung, die mit der ArcGIS Server SOAP-API erstellt wurde, wobei der Server Anforderungen an den GIS-Web-Service sendet. Dieser Ansatz kann auch verwendet werden, wenn Sie testen und Probleme mit dem GIS-Server beheben.
- HTTP-Referrer: Dies ist die URL der Seite, von der aus die Anforderung ohne das HTTP(s)-Präfix an den GIS-Web-Service gesendet wird. Verwenden Sie diesen Ansatz, wenn Sie eine Anwendung mit der ArcGIS JavaScript API oder einer anderen REST-basierten API erstellen, bei der einzelne Clients Karten und Daten direkt vom GIS-Web-Service anfordern. Wenn die Anwendung z. B. auf http://www.esri.com gehostet werden soll, würden Sie www.esri.com als HTTP-Referrer angeben. Wenn Sie von mehreren Unterdomänen wie gis.esri.com auf diese Anwendung zugreifen, dann könnten Sie nur den Teil der URL verwenden, die in beiden URLs vorkommt. In diesem Beispiel ist esri.com der Referrer. Achten Sie darauf, für den Referrer keine unnötig kurze URL anzugeben, da die Sicherheit des Tokens sonst beeinträchtigt würde.
- Ablauf, legt den Zeitraum fest, nach dem der Token abläuft, nachdem er ausgegeben wurde. Wenn der Client versucht, eine Anforderung zu senden, nachdem der Token abgelaufen ist, wird ein Code zurückgegeben, der auf den abgelaufenen Token hinweist. Esri Clients (Desktop, ArcGIS Explorer und Web ADFs) wissen, wie ein neuer Token abgerufen wird. Andere Clients müssen möglicherweise die Anwendung neu starten. Die angegebene Ablaufzeit wird nur verwendet, wenn die Client-ID festgelegt wird. Wenn die Client-ID nicht angegeben wird, entspricht die Ablaufzeit dem in Manager festgelegten Timeout für kurzlebige Token. Wenn die Client-ID angegeben wird, aber der Ablaufzeitraum den in Manager für langlebige Token konfigurierten maximalen Zeitraum überschreitet, dann wird stattdessen der in Manager für langlebige Token konfigurierte Zeitraum verwendet.
Wenn Sie einen möglichen Missbrauch der Seite GetToken befürchten, können Sie sie entfernen oder mit IIS-Manager oder Dateisystemberechtigungen den Zugriff darauf einschränken. Beachten Sie, dass Token-Anforderungen auch dann noch an den Token-Service übermittelt werden können, wenn die Seite GetToken nicht verfügbar ist. Sie verwenden hierzu die gettoken-Anforderung für den Ordner und das Anforderungsformat, das im nächsten Abschnitt beschrieben wird.
Token-Anforderungsformat
Um einen Token von einem Server abzurufen, führen Sie eine URL-Anforderung aus. Die Clients, die mit Token arbeiten, z. B. ArcGIS Desktop, Web ADF, Web API und mobile Clients, verwenden diesen Ansatz ebenso wie die Seite GetToken, die im vorherigen Abschnitt beschrieben wurde.
Anfordern eines Tokens mithilfe des Token-Endpunkts
Sie können einen Token mithilfe des Token-Endpunkts anfordern. Die folgende URL könnte z. B. verwendet werden, um einen Token von einem Server abzurufen:
https://myserver.example.com/arcgis/tokens?request=gettoken&username=myuser&password=secret1&clientid=ref.myserver.example.com&expiration=1440&f=json&callback=myfunction
Diese Anforderung würde einen Token für den Benutzer myuser für eine Webanwendung abrufen, die mit einer Gültigkeitsdauer von einem Tag (1440 Minuten) auf dem gleichen Server (myserver.example.com) ausgeführt wird.
Die folgenden Parameter können in der Abfragezeichenfolge angegeben werden:
request: Für diesen Parameter wird immer der Wert gettoken angegeben (request=gettoken). Erforderlich.
username:: Der Benutzername eines im System eingerichteten Benutzerkontos. Erforderlich.
password: Das Kennwort eines im System eingerichteten Benutzerkontos. Erforderlich.
Hinweis:HTTPS/SSL verschlüsselt den Benutzernamen und das Kennwort während der Token-Übertragung. Weitere Informationen erhalten Sie unten im Abschnitt Sichere Verbindung (HTTPS/SSL).
clientid: Optionaler Parameter zur Identifizierung des Clients. Trennen Sie Typ und Wert durch einen Punkt (.). Wenn clientid nicht angegeben wird, wird für den Token eine Timeout-Einstellung für kurzlebige Token verwendet.
Werte:
ip: IP-Adresse des Clients.
Beispiel: clientid=ip.10.14.102.85
ref: Die Start-URL der Webanwendung, in der dieser Token verwendet wird. Dieser Parameter muss angegeben werden, wenn der Wert des Client-Parameters "referrer" ist.
Beispiel: clientid=ref.http://myserver/mywebapp
requestip: Wenn der Wert als requestip (Anforderungs-IP) angegeben wird, wird der Token für die IP generiert, von der die Anforderung ausgegangen ist.
Beispiel: clientid=requestip
expiration: Optionaler Parameter, der angibt, wie lange der Token ab dem Zeitpunkt seiner Ausstellung gültig ist. Der Wert wird in Minuten angegeben. Wenn dieser Parameter nicht angegeben wird, wird die Timeout-Einstellung für kurzlebige Token verwendet.
f: Neu in ArcGIS Server 10.0 Service Pack 1 (SP1). Dieser optionale Parameter gibt das Ausgabeformat an. Akzeptiert den Wert "json", um das Ergebnis in einem json-Format zurückzugeben. Wenn dieser Parameter nicht angegeben ist, wird der Token in einem Textformat generiert.
Beispiel: {"token":"hjSXkAQl2uczsyE9T3NDvhcso6WVYWSAqBcn1GFB-L8.","expires":"1289513369381"}
Die Ablaufzeit wird in Millisekunden seit 1. Januar 1970 dargestellt.
callback: Optionaler Parameter zur Angabe des Namens der Rückruffunktion. Wenn callback enthalten ist, wird die Ausgabe immer in einem json-Format zurückgegeben.
Anfordern eines Tokens mithilfe des generateToken-Endpunkts
In ArcGIS Server 10.0 Service Pack 1 (SP1) können Sie nun auch einen Token mithilfe des generateToken-Endpunkts anfordern. Die folgende URL könnte z. B. verwendet werden, um einen Token von einem Server abzurufen:
https://myserver.example.com/arcgis/tokens/generateToken?username=myuser&password=mypass&client=referer|ip|requestip&referer=referer&ip=ipaddress&expiration=expiration&f=json&callback=myfunction
Die folgenden Parameter können in der Abfragezeichenfolge angegeben werden:
username: Der Benutzername, für den der Token generiert wird. Erforderlich.
password: Das Kennwort für den Benutzernamen. Erforderlich.
Hinweis:HTTPS/SSL verschlüsselt den Benutzernamen und das Kennwort während der Token-Übertragung. Weitere Informationen erhalten Sie unten im Abschnitt Sichere Verbindung (HTTPS/SSL).
clientid: Optionaler Parameter zur Identifizierung des Clients. Wenn clientid nicht angegeben wird, wird für den Token eine Timeout-Einstellung für kurzlebige Token verwendet.
Werte:
referer: Die Start-URL der Webanwendung, in der dieser Token verwendet wird. Dieser Parameter muss angegeben werden, wenn der Wert des Client-Parameters "referrer" ist.
Beispiel: referer=http://myserver/mywebapp
ip: Die IP-Adresse des Computers, von dem aus der Token verwendet wird. Dieser Parameter muss angegeben werden, wenn der Wert des Client-Parameters "ip" ist.
Beispiel: ip=10.14.102.85
requestip: Wenn der Wert als requestip (Anforderungs-IP) angegeben wird, wird der Token für die IP generiert, von der die Anforderung ausgegangen ist.
expiration: Optionaler Parameter, der angibt, wie lange der Token ab dem Zeitpunkt seiner Ausstellung gültig ist. Der Wert wird in Minuten angegeben. Der Ablauf darf nicht länger als die maximal zulässige Zeit für einen langlebigen Token sein.
Beispiel: expiration=60
Hinweis:Wenn Client und Ablaufparameter nicht angegeben werden, wird ein kurzlebiger Token generiert, und der Ablauf verwendet die Timeout-Einstellung für kurzlebige Tokens.
f: Optionaler Parameter zur Angabe des Ausgabeformats. Akzeptiert den Wert "json", um das Ergebnis in einem json-Format zurückzugeben. Wenn dieser Parameter nicht angegeben ist, wird der Token in einem Textformat generiert.
Beispiel: {"token":"hjSXkAQl2uczsyE9T3NDvhcso6WVYWSAqBcn1GFB-L8.","expires":"1289513369381"}
Die Ablaufzeit wird in Millisekunden seit 1. Januar 1970 dargestellt.
callback: Optionaler Parameter zur Angabe des Namens der Rückruffunktion. Wenn der callback-Parameter enthalten ist, wird die Ausgabe immer in einem json-Format zurückgegeben.
Sichere Verbindung (HTTPS/SSL) für Token-Service erforderlich
Zum Anfordern eines Tokens vom Token-Service ist standardmäßig eine sichere Verbindung mit HTTPS (Secure Sockets Layer oder SSL) erforderlich. HTTPS verschlüsselt den Benutzernamen und das Kennwort während der Übertragung. Der Client muss HTTPS verwenden, wenn er mit der Standardmethode, bei der der Benutzername und das Kennwort in die Abfragezeichenfolge aufgenommen werden müssen (die von ArcGIS Desktop, den Web ADF-Steuerelementen und anderen Clients verwendet wird), oder über die Webseite GetToken.html einen Token anfordert.
Nur zu internen Testzwecken kann die Anforderung für HTTPS deaktiviert werden, damit Token mit nicht gesichertem HTTP abgerufen werden können. Beachten Sie, dass Kennwörter, die mit HTTP gesendet werden, von jedem, der eine Verbindung mit dem Netzwerk hergestellt hat, abgefangen werden können. Der Einsatz von HTTP für Token sollte nur dann auf einem Entwicklungsserver erforderlich sein, wenn die Richtlinien der Organisation die Installation des IIS-Webservers auf dem Entwicklungscomputer verbieten. Unter diesen Umständen wird in der Regel der dateibasierte Webserver von Visual Studio (Cassini), der die Verwendung von SSL/HTTPS nicht unterstützt, zum Entwickeln verwendet. Wenn IIS verfügbar ist, sollte stets SSL verwendet werden, um das System vor der Entwendung und der unbefugten Verwendung von Benutzernamen und Kennwörtern zu schützen. Informationen zum Einrichten von SSL finden Sie unter Einrichten von SSL.
Um den Token-Service so zu konfigurieren, das nicht gesicherte HTTP-Anforderungen für Token zulässig sind, führen Sie folgende Schritte aus:
- Öffnen Sie die Datei <Webserverstammverzeichnis>\ArcGIS\Tokens\web.config mit einem Text- oder XML-Editor (wenn sich die ArcGIS-Instanz nicht im Standardverzeichnis C:\Inetpub\wwwroot\ArcGIS befindet, wechseln Sie zum Speicherort der ArcGIS-Instanz).
- Suchen Sie die folgenden Tags im Abschnitt <appSettings>. Wenn die Tags nicht vorhanden sind, fügen Sie sie hinzu.
<appSettings> <add key="RequireSSL" value="True" /> <add key="TokenServiceURL" value="XYZ" /> <appSettings>
- Legen Sie den Wert des Schlüssels RequireSSL auf False fest und ändern Sie den Wert von TokenServiceURL von https in http. Speichern Sie dann die Datei. Es sollte kein Neustart des IIS erforderlich sein, da jede Änderung an der Datei web.config einen Neustart der Anwendung Token-Service bewirken sollte.
- Wiederholen Sie die oben beschriebenen Schritte für die web.config-Dateien in den Verzeichnissen <Webserverstammverzeichnis>\ArcGIS\rest und <Webserverstammverzeichnis>\ArcGIS\Services.
Denken Sie, die SSL-Anforderung bei Bedarf wiederherzustellen. Um die SSL-Anforderung im Token-Service erneut zu aktivieren, legen Sie RequireSSL wieder auf True fest, legen Sie den Wert von TokenServiceURL so fest, dass https verwendet wird, und dann speichern Sie die Datei. Führen Sie diese Schritte für die web.config-Dateien in den Ordnern Token, rest und Services durch.
Verfügbarmachen des Token-Services für Internetzugriffe
Wie oben erläutert, müssen ArcGIS Desktop-, ArcGIS Explorer- und Web ADF-Clients auf den Token-Service zugreifen können, um einen Token für sichere Services anzufordern. Wenn Sie eine ArcGIS Server-Instanz für den Internetzugriff verfügbar machen, müssen Sie die URLs für den Zugriff auf den Token-Service ändern, damit er im Internet gefunden werden kann.
Während der Installation von ArcGIS Server wird der Computername in der URL für den Zugriff auf den Token-Service gespeichert. In einer Intranetumgebung, in der dieser Computername aufgelöst werden kann, funktioniert dies einwandfrei. Wenn Sie jedoch den Internetzugriff auf diesen Computer ermöglichen möchten, kann der Computername von den Clients nicht aufgelöst zu werden.
Um dieses Problem zu beheben, müssen Sie drei web.config-Dateien in den Ordnern rest, Services und Tokens der ArcGIS Server-Instanz (<Webstamm>\<ArcGIS Server-Instanzname>) ändern. Öffnen Sie jede dieser web.config-Dateien in einem Text-Editor und führen Sie folgende Schritte aus:
- Suchen Sie innerhalb des appSettings-Elements das Element mit dem Schlüssel: TokenServiceURL.
- Ändern des Werts für diesen Schlüssel von https://<Computername >/ArcGIS/tokens in https://<öffentlicher Domänenname>/ArcGIS/tokens.