Mehrere ArcGIS Server-Webinstanzen zur Sicherheit
Eine ArcGIS Server-Instanz unterstützt nur eine Kombination von Benutzerspeicher, Rollenspeicher und Authentifizierungsmethode (weitere Informationen zu Benutzern und Rollen finden Sie unter Überblick über das Einrichten von Benutzern und Rollen). Wenn mehrere Typen von Authentifizierungsmethoden oder Benutzer-/Rollespeicher unterstützt werden müssen, können Sie mehrere ArcGIS Server-Instanzen einrichten.
Normalerweise enthält jedes ArcGIS Server-System eine Instanz, die an einen einzelnen Server Object Manager (SOM) gebunden ist. In diesem Abschnitt wird eine Konfiguration beschrieben, in der mehrere ArcGIS Server-Instanzen an einen einzelnen SOM gebunden werden.
Angenommen, es gibt Benutzer im internen Netzwerk, denen Sie erlauben möchten, sich mit ihren Windows-Konten anzumelden. Für externe Benutzer aus dem Internet möchten Sie jedoch Konten in einer SQL Server-Datenbank einrichten. Da eine ArcGIS Server-Instanz nur einen einzelnen Benutzerspeicherort unterstützt, müssten Sie separate Instanzen für jeden Benutzertyp einrichten.
Beim Verwalten von mehreren Instanzen müssen Sie zwei Aspekte berücksichtigen:
- Berechtigungen für Internetverbindungen mit Services werden im SOM gespeichert. Wenn mehrere Instanzen mit dem SOM arbeiten, wird derselbe Satz von Berechtigungen für die Instanzen freigegeben. Da Berechtigungen auf Rollen basieren, müssen Sie die Berechtigungen sorgfältig verwalten, damit die Rollen und somit die Benutzer in jeder Instanz richtig behandelt werden. Weitere Informationen finden Sie im AbschnittVerwalten von Berechtigungen mit mehreren Instanzen weiter unten.
- Wenn Sie die WMS-Funktion (Web Mapping Service) für einen Service aktivieren, werden die Capabilities-Informationen für den Service von allen Instanzen gemeinsam genutzt. Die OnlineResource-URL für den Service wird auf eine dieser Instanzen festgelegt. Weitere Informationen finden Sie unter Knowledge Base-Artikel 35672, Why does the OnlineResource URL in the WMS capabilities use a different ArcGIS Web instance?.
Hinzufügen einer ArcGIS Server-Instanz
Ein Dienstprogramm zum Hinzufügen und Entfernen von Instanzen ist enthalten in <ArcGIS Server-Installationsverzeichnis>\DotNet\AddInstance.exe. Sie können in Windows-Explorer auf diese ausführbare Datei doppelklicken, um das Werkzeug zu öffnen. Befolgen Sie die Anweisungen im Assistenten zum Hinzufügen einer neuen Instanz.
Der Name, den Sie für die Instanz auswählen, wird in die URL aufgenommen, über die andere auf die Instanz zugreifen. Wenn Sie z. B. ArcGIS2 eingeben, dann kann die Services-URL beispielsweise http://myserver/ArcGIS2/services lauten.
Nachdem Sie den Assistenten beendet haben, kann es mehrere Minuten dauern, bis die Instanz erstellt worden ist. Wenn Sie später eine Instanz entfernen möchten, können Sie das gleiche Dienstprogramm verwenden.
Verwenden der neuen Instanz
Die neue Instanz verfügt über ihren eigenen Manager. Um darauf zuzugreifen, wechseln Sie zu Start > (Alle) Programme > ArcGIS > ArcGIS Server für Microsoft .NET Framework > ArcGIS Server Manager <Instanzenname>. Konfigurieren Sie den Benutzer- und Rollenspeicher für die neue Instanz mithilfe des neuen Managers. Sie werden bemerken, dass im Fenster Dienste die gleichen Services wie beim ursprünglichen Manager auflistet werden und dass auch die Berechtigungen für Services gleich sind. Wichtige Informationen zum Verwalten von Berechtigungen mit mehreren Instanzen finden Sie im nächsten Abschnitt.
Bei der neuen Instanz werden die mit einer anderen Instanz erstellten Webanwendungen nicht aufgeführt. Jede Instanz verwaltet eine eigene Liste der mit dieser Instanz erstellten Anwendungen.
Jede Instanz befindet sich in dem IIS-Webserververzeichnis, in dem die Instanz erstellt wurde. Wenn Sie z. B. eine neue Instanz mit dem Namen ArcGIS2 in der Standardwebsite an Port 80 erstellen und der IIS-Server das Standardverzeichnis verwendet, dann lautet der Speicherort der Instanz C:\Inetpub\wwwroot\ArcGIS2. Die neue Instanz enthält den gleichen Satz von Ordnern wie die ursprüngliche Instanz, einschließlich Rest, Services und Security.
Verwalten von Berechtigungen mit mehreren ArcGIS Server-Instanzen
Da Berechtigungen auf dem SOM gespeichert werden, verwenden mehrere ArcGIS Server-Instanzen, die den SOM gemeinsam nutzen, auch den gleichen Satz von Berechtigungen für Services. Wenn Sie auf die Schaltfläche Berechtigungen für einen Service oder Ordner klicken, werden die Berechtigungen für die Rollen angezeigt, die mit dem Manager einer der beiden Instanzen hinzugefügt wurden.
Sie müssen die Berechtigungen für Ordner und Services verwalten, damit Benutzer in beiden Instanzen in der angemessenen Weise auf Services zugreifen können. Da Berechtigungen auf Rollen und nicht auf Benutzer basieren, müssen Sie sicherstellen, dass die Rollen für jede Instanz nach Bedarf für Services zugelassen werden. Da alle Administratoren, die einen der beiden Manager verwenden, die gleiche Liste zugelassener Rollen sehen, wäre es möglich, dass fälschlicherweise eine Rolle entfernt wird, die im anderen Manager zugelassen worden war.
Es wird empfohlen, eine der beiden folgenden Strategien zum Verwalten von Rollen und Berechtigungen einzusetzen:
- Verwenden Sie in beiden Instanzen die gleichen Namen für Rollen und fügen Sie in jeder Instanz diesen gemeinsamen Rollen Benutzer hinzu. Dies ist angemessen, wenn Benutzern in beiden Instanzen mit den gleichen Berechtigungsregeln auf Services zugreifen können sollen. Sie könnten z. B. den Windows-Gruppen auf dem Server eine Gruppe mit dem Namen "Planners" hinzufügen und dieser Gruppe dann Windows-Benutzer hinzufügen. In dem Manager, der SQL Server für Rollen verwendet, fügen Sie dann auch eine Rolle namens "Planners" hinzu und fügen der Rolle SQL Server-Benutzer hinzu. Wenn Sie der Rolle "Planners" Zugriff auf einen Service gewähren, können Benutzer beider Instanzen den Service über die gemeinsame Berechtigungsregel für "Planners" nutzen.
- Verwenden Sie in den beiden Instanzen deutlich unterschiedliche Namen für die Rollen. Dies ist adäquat, wenn Sie in jeder Instanz andere Regeln für Benutzer festlegen möchten. Sie könnten z. B. eine Windows-Gruppe mit dem Namen "InternalEditors" für interne Benutzer erstellen und in dem Manager, der SQL Server für Rollen verwendet, eine Rolle mit dem Namen "ExternalViewers" hinzufügen. Die Präfixe Internal und External weisen auf die unterschiedliche Position dieser Rollen hin, sodass jemand, der Manager in einer Instanz verwendet, nicht versehentlich eine Rolle entfernen würde, die für die Benutzer der anderen Instanz hinzugefügt wurde.
Wenn eine der Instanzen die ASP.NET-Mitgliedschaft verwendet, beachten Sie, dass die drei integrierten Rollen (Jeder, Authentifizierte Benutzer und Anonym) für alle Instanzen gelten. Angenommen, Sie verwenden den Anbieter der Microsoft SQL Server-Mitgliedschaft für eine Instanz und die Windows-Betriebssystembenutzer und -gruppen für die zweite Instanz. Wenn Sie in der SQL Server-Instanz Zugriff auf den Stammordner der Web-Services gewähren, sind alle Windows-Benutzer in der Lage, alle Web-Services zu sehen, nachdem sie eine Verbindung hergestellt haben.