Sicherheitsarchitektur von Team Foundation Server
Aktualisiert: November 2007
Um die Team Foundation Server-Sicherheit analysieren und planen zu können, müssen Sie die Team Foundation-Anwendungsebene, die Team Foundation-Datenebene, die Team Foundation-Clientebene, Team Foundation Build und den Team Foundation Server-Proxy sowie die Interaktionen zwischen diesen Entitäten kennen. Sie müssen wissen, welche Webdienste, Datenbanken und Objektmodelle verwendet werden. Außerdem müssen Sie wissen, welche Netzwerkports und -protokolle standardmäßig verwendet werden und welche davon angepasst werden können.
Die ordnungsgemäße Funktion von Team Foundation Server ist nicht nur von den eigenen Diensten, sondern auch von anderen Diensten abhängig. Weitere Informationen zu Abhängigkeiten von Team Foundation Server finden Sie unter Team Foundation Server-Sicherheitskonzepte.
Objektmodell
Team Foundation Server enthält ein Objektmodell, das die Kommunikation zwischen der Team Foundation-Clientebene und der Team Foundation-Anwendungsebene ermöglicht. Mithilfe dieses Objektmodells können Softwareintegratoren und Drittanbieter zudem den Funktionsumfang von Team Foundation Server anpassen und erweitern.
Objektmodell von Team Foundation Server
Das Team Foundation Server-Objektmodell besteht aus einer Reihe von verwalteten APIs, die folgende Schnittstellen beinhalten:
Allgemeine Dienste in Team Foundation
Registrierungsdienst
Sicherheitsdienst
Verknüpfungsdienst
Ereignisdienst
Klassifizierungsdienst
Objektmodell für Versionskontrolle
Objektmodell für Arbeitsaufgabenverfolgung
Team Foundation Build-Objektmodell
Das Team Foundation Server-Objektmodell wird in der Dokumentation zur Erweiterbarkeit von Team Foundation Server im Visual Studio SDK erläutert.
Webdienste und Datenbanken
Team Foundation Server enthält eine Reihe von Webdiensten und Datenbanken. Diese Dienste und Datenbanken werden jeweils gesondert auf der Anwendungsebene, der Datenebene und der Clientebene von Team Foundation installiert und konfiguriert. Die folgenden Abbildungen bieten einen grundlegenden Überblick über Webdienste, Anwendungen und Datenbanken auf Team Foundation Server und auf Clientcomputern.
Anwendungsebene
Die Team Foundation-Anwendungsebene enthält die folgenden ASP.NET-Webdienste, die den jeweiligen Proxys oder Objektmodellen auf der Clientebene entsprechen. Diese Webdienste sind nicht für die Programmierung durch Drittanbieterintegratoren vorgesehen. Eine Ausnahme dieser Richtlinie ist der MSBuild-Webdienst, der in der Dokumentation zur Erweiterbarkeit von Team Foundation Server im Visual Studio SDK erläutert wird.
Allgemeine Dienste von Team Foundation
Registrierungswebdienst
Sicherheitswebdienst
Verknüpfungswebdienst
Ereigniswebdienst
Klassifizierungswebdienst
Webdienst zur Versionskontrolle
Webdienst zur Arbeitsaufgabenverfolgung
Team Foundation Build-Webdienst
Datenebene
Die Team Foundation-Datenebene besteht aus folgenden Betriebsspeichern in SQL Server 2005. Dies umfasst Daten, gespeicherte Prozeduren und andere verknüpfte Logiken. Diese Betriebsspeicher stehen in der Regel nicht für die Programmierung durch Drittanbieterintegratoren zur Verfügung.
Arbeitsaufgabenverfolgung
Versionskontrolle
Allgemeine Dienste in Team Foundation
Team Foundation Build
Berichterstellungswarehouse
Clientebene
Die Clientebene verwendet zur Kommunikation mit der Team Foundation-Anwendungsebene die Webdienste, die in der Anwendungsebene aufgeführt sind. Die Kommunikation erfolgt über das Team Foundation Server-Objektmodell. Neben dem Team Foundation Server-Objektmodell besteht die Team Foundation-Clientebene aus Komponenten von Visual Studio Industry Partners (VSIP), aus der Microsoft Office-Integration, aus Befehlszeilenschnittstellen sowie einem Framework von Eincheckrichtlinien zur Integration in Team Foundation Server und zur benutzerdefinierten Integration. Weitere Informationen über die Erweiterung und Anpassung der Clientebene finden Sie in der Dokumentation zur Erweiterbarkeit im Visual Studio SDK.
Team Foundation Server-Konfigurationsinformationen
Da Team Foundation Server von SQL Server, SQL Server Reporting Services, Internetinformationsdiensten (IIS), dem Windows-Betriebssystem und Windows SharePoint Services abhängt, befinden sich die Konfigurationsinformationen für Team Foundation Server in fünf verschiedenen Speicherorten:
Internetinformationsdienste (IIS)-Datenspeicher – Team Foundation-Anwendungsebene
Team Foundation Server-Konfigurationsdateien (web.config, proxy.config) – Team Foundation-Anwendungsebene
SQL Server Reporting Services-Datenquellen (z. B. TFSREPORTS-Daten) – Team Foundation-Anwendungsebene
Team Foundation Server-Integrationsdatenbank – Team Foundation-Datenebene
Windows-Registrierung – Team Foundation-Anwendungs-, Daten- und Clientebene
Bei der Verwaltung einer Team Foundation Server-Bereitstellung müssen Sie diese Konfigurationsspeicherorte berücksichtigen. Zur Änderung der Konfiguration müssen Sie die Informationen ändern, die sich in verschiedenen Speicherorten auf Anwendungsebene befinden. Des Weiteren müssen Sie Konfigurationsinformationen auf der Daten- und Clientebene ändern. Team Foundation Server enthält eine Anzahl von Befehlszeilendienstprogrammen, mit denen Sie diese Änderungen vornehmen können. In einigen Fällen müssen Sie Änderungen jedoch manuell vornehmen.
Synchronisieren von Gruppenidentitäten zwischen Active Directory und Team Foundation Server
Bei Bereitstellungen, bei denen Team Foundation Server in einer Active Directory-Domäne ausgeführt wird, werden Gruppen- und Identitätsinformationen synchronisiert, wenn eines der folgenden Ereignisse eintritt:
Der Anwendungsebenenserver für Team Foundation wird gestartet.
Einer Gruppe in Team Foundation Server wird eine Active Directory-Gruppe hinzugefügt.
Der in der Datei web.config angegebene Zeitraum läuft ab. (Standardwert ist 1 Stunde.)
Active Directory wird mit GSS (generische Sicherheitsdienste) synchronisiert, die dann mit Team Foundation Server synchronisiert werden. Geänderte Identitäten werden vom Server an die Clients weitergegeben. Abhängig von dem in der Datei web.config angegebenen Synchronisationsintervall und der Art der für Gruppen und Benutzer vorgenommenen Änderung kann es einige Zeit dauern, bis Änderungen an Active Directory-Benutzern und -Gruppen in Team Foundation Server übernommen werden.
Gruppen und Berechtigungen
Team Foundation Server verfügt über einen eigenen Satz an Standardgruppen. Des Weiteren können Sie auf mehreren Ebenen Berechtigungen festlegen. Sie können benutzerdefinierte Gruppen erstellen und Berechtigungen auf Gruppen- und Benutzerebene anpassen. Wenn Sie Team Foundation Server einen Benutzer oder eine Gruppe hinzufügen, wird der Benutzer bzw. die Gruppe jedoch zu zwei Komponenten, von denen Team Foundation Server abhängt, nicht automatisch hinzugefügt: Windows SharePoint Services und SQL Server Reporting Services. Benutzer und Gruppen müssen diesen Programmen hinzugefügt und mit entsprechenden Berechtigungen ausgestattet werden, bevor sie ordnungsgemäß in sämtlichen Team Foundation Server-Vorgängen verwendet werden können. Weitere Informationen finden Sie unter Verwalten von Benutzern und Gruppen, Verwalten von Berechtigungen, Rollen in Windows SharePoint Services und SQL Server Reporting Services-Rollen.
Netzwerkanschlüsse und Protokolle
Standardmäßig ist Team Foundation Server für die Verwendung von bestimmten Netzwerkports und Netzwerkprotokollen konfiguriert. Das folgende Diagramm veranschaulicht den Team Foundation Server-Netzwerkverkehr in einer Beispielbereitstellung.
Standardnetzwerkeinstellungen
Standardmäßig werden für die Kommunikation zwischen der Team Foundation-Anwendungsebene, der Team Foundation-Datenebene, den Buildcomputern und dem Team Foundation Server-Proxy die Protokolle und Ports aus folgender Liste verwendet. Wenn die Portnummer mit einem Sternchen (*) gekennzeichnet ist, können Sie den Port anpassen.
Dienst und Ebene |
Protokoll |
Port |
---|---|---|
Anwendungsebene – Webdienste |
HTTP |
8080 |
Anwendungsebene – Windows SharePoint Services-Verwaltung |
HTTP |
17012* (falls mit Team Foundation Server installiert); wird andernfalls nach dem Zufallsprinzip generiert |
Anwendungsebene – Windows SharePoint Services und SQL Reporting Services |
HTTP |
80 |
Buildcomputer – Remotezugriff vom Team Foundation-Anwendungsebenenserver |
SOAP über HTTP |
9191* |
Datenebene |
MS-SQL TCP |
1443* |
Team Foundation Server-Proxy: Client zu Proxy |
HTTP |
8081* |
Team Foundation Server-Proxy: Proxy zu Anwendungsebene |
HTTP |
8080* |
Clientebene – Reporting Services |
HTTP |
80 |
Clientebene – Webdienste |
HTTP |
8080* |
Anpassbare Netzwerkeinstellungen
Sie können Team Foundation Server ändern, um einige benutzerdefinierte Ports zu verwenden. Sie haben die Möglichkeit, die Kommunikation zwischen Anwendungsebene, Datenebene und Clientebene zu ändern, wie in der obigen Tabelle aufgeführt. Die folgende Tabelle dient als Beispiel für Port-Änderungen von HTTP in HTTPS.
Hinweis: |
---|
Die Team Foundation Server-Konfiguration zur Verwendung von HTTPS und SSL ist ein aufwändiger Vorgang, der wesentlich mehr Schritte beinhaltet, als lediglich Ports für den HTTPS-Netzwerkverkehr zu aktivieren. Weitere Informationen finden Sie unter Sichern von Team Foundation Server mit HTTPS und SSL (Secure Sockets Layer). |
Dienst und Ebene |
Protokoll |
Port |
---|---|---|
Anwendungsebene – Webdienste mit SSL |
HTTPS |
Wird vom Administrator konfiguriert |
Anwendungsebene – Windows SharePoint Services-Verwaltung |
HTTPS |
Wird vom Administrator konfiguriert |
Anwendungsebene – Windows SharePoint Services und SQL Reporting Services |
HTTPS |
443 |
Clientebene – Reporting Services |
HTTPS |
443 |
Clientebene – Webdienste |
HTTPS |
Wird vom Administrator konfiguriert |
Siehe auch
Konzepte
Team Foundation Server-Sicherheitskonzepte
Team Foundation Server-Berechtigungen