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.

Diagramm der ServerarchitekturDiagramm der Clientarchitektur

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 BerechtigungenRollen 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.

Anschluss- und Kommunikationsdiagramm

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

Weitere Ressourcen

Team Foundation Server-Topologien