Поделиться через


Архитектура безопасности Team Foundation Server

Обновлен: Ноябрь 2007

Для анализа и планирования безопасности для Team Foundation Server следует учитывать уровень приложений Team Foundation, уровень данных Team Foundation, клиентский уровень Team Foundation, прокси-сервер Team Foundation Build, Team Foundation Server и взаимодействие между этими модулями. Вы должны знать, какие используются веб-службы, базы данных и объектные модели. Кроме того, вы должны знать, какие сетевые порты и протоколы используются по умолчанию, и какие сетевые порты могут быть изменены.

Кроме собственных служб, функционирование Team Foundation Server зависит и от других служб. Дополнительные сведения о зависимостях Team Foundation Server см. в разделе Понятия о безопасности Team Foundation Server.

Объектная модель

Team Foundation Server включает объектную модель, позволяющую осуществлять взаимодействие между клиентским уровнем Team Foundation и уровнем приложений Team Foundation. Эта объектная модель также позволяет программным интеграторам и сторонним компаниям расширять функциональность Team Foundation Server.

Объектная модель Team Foundation Server

Объектная модель Team Foundation Server — это набор управляемых API, включающий следующие интерфейсы.

  • Общие службы Team Foundation

    • Служба регистрации

    • Служба безопасности

    • Служба связи

    • Служба событий

    • Служба классификации

  • Объектная модель управления версиями

  • Объектная модель отслеживания рабочих элементов

  • Объектная модель Team Foundation Build

Объектная модель Team Foundation Server публично задокументирована в документации по расширяемости Team Foundation Server в SDK для Visual Studio.

Веб-службы и базы данных

Team Foundation Server включает набор веб-служб и баз данных. Эти службы и базы данных устанавливаются и настраиваются отдельно на уровне приложений, на уровне данных и на клиентском уровне Team Foundation. На этих рисунках приведено высокоуровневое представление веб-служб, приложений и баз данных на Team Foundation Server и на клиентских компьютерах.

Схема серверной архитектурыСхема клиентской архитектуры

Уровень приложений

Уровень приложений Team Foundation содержит следующие веб-службы ASP.NET, которые соответствуют определенным прокси-приложениям или объектным моделям на клиентском уровне. Эти веб-службы не предназначены для осуществления программного взаимодействия со сторонними интеграторами. Единственным исключением из данного правила является веб-служба MSBuild, которая описана в документации по расширяемости Team Foundation Server в SDK для Visual Studio.

  • Общие службы Team Foundation

    • Веб-служба регистрации

    • Веб-служба безопасности

    • Веб-служба связи

    • Веб-служба событий

    • Веб-служба классификации

  • Веб-служба управления версиями

  • Веб-служба отслеживания рабочих элементов

  • Веб служба Team Foundation Build

Уровень данных

Уровень данных Team Foundation состоит из следующих операционных хранилищ на SQL Server 2005. Они включают данные, хранимые процедуры и другую связанную с ними логику. В целом эти операционные хранилища не предназначены для осуществления программного взаимодействия со сторонними интеграторами.

  • Отслеживание рабочих элементов

  • Управление версиями

  • Общие службы Team Foundation

  • Team Foundation Build

  • Хранилище данных для отчетов

Клиентский уровень

Клиентский уровень использует те же веб-службы, которые перечислены для уровня приложений, для взаимодействия с уровнем приложений Team Foundation. Взаимодействие осуществляется через объектную модель Team Foundation Server. Кроме объектной модели Team Foundation Server, клиентский уровень Team Foundation включает компоненты отраслевых партнеров Visual Studio (Visual Studio Industry Partners (VSIP)), интеграцию с Microsoft Office, интерфейсы командной строки, а также инфраструктуру политики возврата для интеграции с Team Foundation Server и специализированной интеграции. Дополнительную информацию по расширению и специальной настройке клиентского уровня смотрите в документации о расширяемости в SDK для Visual Studio.

Конфигурационная информация Team Foundation Server

Так как Team Foundation Server зависит от SQL Server, SQL Server Reporting Services, Internet Information Services (IIS), операционной системы Windows и Windows SharePoint Services, конфигурационная информация для Team Foundation Server хранится в пяти местах:

  • Хранилища данных Internet Information Services (IIS) — уровень приложений Team Foundation

  • Конфигурационные файлы Team Foundation Server (web.config, proxy.config) — уровень приложений Team Foundation

  • Источники данных SQL Server Reporting Services (например, данные TFSREPORTS ) — уровень приложений Team Foundation

  • Интеграционная база данных Team Foundation Server — уровень данных Team Foundation

  • Реестр Windows — уровни приложений, данных и клиентский уровень Team Foundation

При развертывании Team Foundation Server вы должны учитывать эти источники конфигурационных данных. При каком-либо изменении конфигурации вы должны внести изменения в данные, хранящиеся в нескольких местах на уровне приложений. Вы также должны внести изменения в конфигурационную информацию на уровне данных и на клиентском уровне. Team Foundation Server включает несколько утилит командной строки, которые помогут вам осуществить эти изменения. Однако в некоторых случаях вам также потребуется внести изменения вручную.

Синхронизация удостоверений групп между Active Directory и Team Foundation Server

В конфигурациях, когда Team Foundation Server запущен в домене Active Directory, информация о группах и учетных записях синхронизируется при возникновении следующих событий:

  • Запускается сервер уровня приложений для Team Foundation.

  • Группа Active Directory добавляется в группу в Team Foundation Server.

  • Прошло время, заданное в файле web.config. (По умолчанию 1 час.)

Active Directory синхронизируется со службами Generic Security Services (GSS), которые затем синхронизируются с Team Foundation Server. Изменения в учетных записях передаются от сервера к клиентам. В зависимости от интервала синхронизации, заданного в файле web.config, и характера изменений в группах и пользователях, может потребоваться определенное время на то, чтобы изменения в пользователях и группах Active Directory нашли отражение в Team Foundation Server.

Группы и разрешения

Team Foundation Server имеет собственный набор групп по умолчанию. Кроме того, в системе имеются разрешения, задаваемые на разных уровнях. Вы можете создавать собственные группы и настраивать разрешения на уровне групп и индивидуальных пользователей. Однако, при добавлении группы или пользователя в Team Foundation Server, этот пользователь или группа автоматически не добавляются в два компонента, от которых зависит Team Foundation Server: Windows SharePoint Services и SQL Server Reporting Services. Вы должны добавить пользователей и группы в эти программы и задать для них соответствующие разрешения перед тем, как эти пользователи и группы смогут корректно выполнять все операции с Team Foundation Server. Дополнительные сведения см. в разделах Управление пользователями и группами, Управление разрешениямиРоли в Windows SharePoint Services и Роли служб отчетов SQL Server.

Сетевые порты и протоколы

По умолчанию система Team Foundation Server настроена на использование определенных сетевых портов и протоколов. На следующей диаграмме показан сетевой трафик Team Foundation Server в типичной конфигурации.

Схема портов и коммуникаций

Сетевые параметры по умолчанию

По умолчанию взаимодействие между уровнем приложений Team Foundation, уровнем данных Team Foundation, компьютерами, на которых выполняется построение, и прокси-сервером Team Foundation Server использует следующие протоколы и порты. Если рядом с номером порта указана звездочка (*), этот порт можно изменить.

Служба и уровень

Протокол

Порт

Уровень приложений — Веб-службы

HTTP

8080

Уровень приложений — Администрирование Windows SharePoint Services

HTTP

17012* (если установлено вместе с Team Foundation Server); иначе генерируется случайно

Уровень приложений — Windows SharePoint Services и SQL Reporting Services

HTTP

80

Компьютер, на котором выполняется построение — удаленный доступ с сервера уровня приложений Team Foundation

SOAP поверх HTTP

9191*

Уровень данных

MS-SQL TCP

1443*

Team Foundation Server Прокси: соединение клиента с прокси

HTTP

8081*

Team Foundation Server Прокси: соединение прокси с уровнем приложений

HTTP

8080*

Клиентский уровень — Reporting Services

HTTP

80

Клиентский уровень — веб-службы

HTTP

8080*

Изменяемые сетевые параметры

Вы можете изменить параметры Team Foundation Server и использовать некоторые собственные сетевые порты. Вы можете изменить настройки взаимодействия между уровнем приложений, уровнем данных и клиентским уровнем, как отмечено в приведенной выше таблице. Например, в следующей таблице приведен список изменений для перехода от использования протокола HTTP к HTTPS.

ms252473.alert_note(ru-ru,VS.90).gifПримечание.

Настройка Team Foundation Server для использования HTTPS и SSL — это сложная задача, включающая в себя больше, чем включение портов для сетевого трафика HTTPS. Дополнительные сведения см. в разделе Защита Team Foundation Server при помощи HTTPS и SSL.

Служба и уровень

Протокол

Порт

Уровень приложений — веб-службы с поддержкой SSL

HTTPS

Настраивается администратором

Уровень приложений — Администрирование Windows SharePoint Services

HTTPS

Настраивается администратором

Уровень приложений — Windows SharePoint Services и SQL Reporting Services

HTTPS

443

Клиентский уровень — Reporting Services

HTTPS

443

Клиентский уровень — веб-службы

HTTPS

Настраивается администратором

См. также

Основные понятия

Понятия о безопасности Team Foundation Server

Разрешения Team Foundation Server

Другие ресурсы

Топологии Team Foundation Server