Arquitectura de seguridad de Team Foundation Server
Actualización: noviembre 2007
Para analizar y planear la seguridad de Team Foundation Server, debe tener en cuenta el nivel de aplicación de Team Foundation, el nivel de datos de Team Foundation, el nivel de cliente de Team Foundation, Team Foundation Build, el servidor proxy de Team Foundation Server y las interacciones entre estas entidades. Tendrá que saber qué servicios Web, bases de datos y modelos de objetos se utilizan. También deberá saber qué puertos y protocolos de red se utilizan de forma predeterminada y qué puertos de red se pueden personalizar.
Además de sus propios servicios, Team Foundation Server depende de otros servicios para funcionar. Para obtener más información sobre las dependencias de Team Foundation Server, vea Conceptos de seguridad de Team Foundation Server.
Modelo de objetos
Team Foundation Server incluye un modelo de objetos que permite la comunicación entre el nivel de cliente de Team Foundation y el nivel de aplicación de Team Foundation. Este modelo de objetos permite también que los integradores de software y otros proveedores personalicen y amplíen la funcionalidad de Team Foundation Server.
Modelo de objetos de Team Foundation Server
El modelo de objetos de Team Foundation Server es un conjunto de API administradas que incluyen las interfaces siguientes.
Servicios comunes de Team Foundation
Servicio de registro
Servicio de seguridad
Servicio de vinculación
Servicio de eventos
Servicio de clasificación
Modelo de objetos de control de versiones
Modelo de objetos de seguimiento de elementos de trabajo
Modelo de objetos de Team Foundation Build
El modelo de objetos de Team Foundation Server se documenta públicamente en la documentación de extensibilidad de Team Foundation Server en el Visual Studio SDK.
Servicios Web y bases de datos
Team Foundation Server incluye un conjunto de servicios web y bases de datos. Estos servicios y bases de datos se instalan y configuran de forma independiente en el nivel de aplicación, nivel de datos y nivel de cliente de Team Foundation. En las siguientes figuras se proporciona una descripción general de los servicios web, aplicaciones y bases de datos en Team Foundation Server y en los equipos cliente.
Nivel de aplicación
El nivel de aplicación de Team Foundation contiene los servicios web ASP.NET siguientes que corresponden al servidor proxy o a los modelos de objetos respectivos en el nivel de cliente. Estos servicios web no están concebidos para que los integradores de otros proveedores programen con ellos. La única excepción a esta directiva es el servicio web de MSBuild que se documenta en la documentación de extensibilidad de Team Foundation Server en el Visual Studio SDK.
Servicios comunes de Team Foundation.
Servicio Web de registro
Servicio Web de seguridad
Servicio Web de vinculación
Servicio Web de eventos
Servicio Web de clasificación
Servicio Web de control de versiones
Servicio Web de seguimiento de elementos de trabajo
Servicio web de Team Foundation Build
Nivel de los datos
El nivel de datos de Team Foundation está compuesto de los almacenes operativos siguientes dentro de SQL Server 2005. Incluye datos, procedimientos almacenados y otra lógica asociada. En general, estos almacenes operativos no están diseñados para que los integradores de otros proveedores los utilicen para programar.
Seguimiento de elementos de trabajo
Control de versiones
Servicios comunes de Team Foundation
Team Foundation Build
Almacén de datos de informes
Nivel de cliente
El nivel de cliente utiliza los mismos servicios web mostrados en el nivel de aplicación para comunicar con el nivel de aplicación de Team Foundation. Se comunica a través del modelo de objetos de Team Foundation Server. Además del modelo de objetos de Team Foundation Server, el nivel de cliente de Team Foundation está formado por los componentes de Visual Studio Industry Partners (VSIP), la integración con Microsoft Office, las interfaces de línea de comandos y un marco de trabajo de directivas de protección para la integración con Team Foundation Server y la integración personalizada. Para obtener más información sobre cómo ampliar y personalizar el nivel de cliente, consulte la documentación de extensibilidad en el Visual Studio SDK.
Información de configuración de Team Foundation Server
Como Team Foundation Server depende de SQL Server, SQL Server Reporting Services, Internet Information Services (IIS), el sistema operativo Windows y Windows SharePoint Services, la información de configuración de Team Foundation Server se almacena en cinco ubicaciones:
Almacenes de datos de Internet Information Services (IIS): el nivel de aplicación de Team Foundation
Archivos de configuración de Team Foundation Server (web.config, proxy.config): el nivel de aplicación de Team Foundation
Orígenes de datos de SQL Server Reporting Services (por ejemplo, datos de TFSREPORTS): el nivel de aplicación de Team Foundation
Base de datos de integración de Team Foundation Server: el nivel de datos de Team Foundation
Registro de Windows: niveles de aplicación, datos y cliente de Team Foundation
Al mantener una implementación de Team Foundation Server, debe tener en cuenta estos orígenes de configuración. Para realizar alguna modificación en la configuración, debe modificar información que está almacenada en varias ubicaciones en el nivel de aplicación. Debe cambiar también la información de configuración en los niveles de datos y de cliente. Team Foundation Server incluye varios programas de línea de comandos para ayudarle a realizar estas modificaciones. Sin embargo, en algunos casos tendrá que realizar también modificaciones manuales.
Sincronización de identidades de grupo entre Active Directory y Team Foundation Server
En implementaciones en las que Team Foundation Server se ejecuta en un dominio de Active Directory, la información de grupos e identidades se sincroniza cuando se produce alguno de los eventos siguientes:
Se inicia el servidor de nivel de aplicación de Team Foundation.
Un grupo de Active Directory se agrega a un grupo de Team Foundation Server.
Transcurre la cantidad de tiempo especificada en el archivo web.config. (El valor predeterminado es 1 hora).
Active Directory se sincroniza con Generic Security Services (GSS), que a su vez se sincroniza con Team Foundation Server. Las identidades cambiadas se propagan del servidor a los clientes. Según el intervalo de sincronización configurado en el archivo web.config y la naturaleza del cambio en los grupos y usuarios, es posible que los cambios realizados en los usuarios y grupos de Active Directory tarden algún tiempo en reflejarse en Team Foundation Server.
Grupos y permisos
Team Foundation Server tiene su propio conjunto de grupos predeterminados. Asimismo, tiene permisos que puede establecer en varios niveles. Puede crear grupos personalizados y personalizar permisos en cada grupo y cada nivel. Sin embargo, al agregar un usuario o grupo a Team Foundation Server, ese usuario o grupo no se agrega automáticamente a dos componentes de los que depende Team Foundation Server: Windows SharePoint Services y SQL Server Reporting Services. Debe agregar usuarios y grupos a esos programas y concederles los permisos adecuados para que funcionen correctamente en todas las operaciones de Team Foundation Server. Para obtener más información, vea Administrar usuarios y grupos, Administrar permisos Funciones de Windows SharePoint Services y Funciones de SQL Server Reporting Services.
Puertos y protocolos de red
De forma predeterminada, Team Foundation Server está configurado para utilizar puertos y protocolos de red específicos. El diagrama siguiente muestra el tráfico de red de Team Foundation Server en una implementación de ejemplo.
Configuración de la red predeterminada
De forma predeterminada, la comunicación entre el nivel de aplicación de Team Foundation, el nivel de datos de Team Foundation, los equipos de compilación y el servidor proxy de Team Foundation Server utilizan los puertos y protocolos de la lista siguiente. Si el número de puerto aparece seguido de un asterisco (*), puede personalizar ese puerto.
Servicio y nivel |
Protocolo |
Port |
---|---|---|
Nivel de aplicación: servicios Web |
HTTP |
8080 |
Nivel de aplicación: Administración de Windows SharePoint Services |
HTTP |
17012* (si se instala con Team Foundation Server); de lo contrario, se genera de forma aleatoria |
Nivel de aplicación: Windows SharePoint Services y SQL Reporting Services |
HTTP |
80 |
Equipo de compilación: acceso remoto desde el servidor de nivel de la aplicación de Team Foundation |
SOAP a través de HTTP |
9191* |
Nivel de datos |
TCP de MS-SQL |
1443* |
Servidor proxy de Team Foundation Server: cliente a servidor proxy |
HTTP |
8081* |
Servidor proxy de Team Foundation Server: servidor proxy a nivel de aplicación |
HTTP |
8080* |
Nivel de cliente: Reporting Services |
HTTP |
80 |
Nivel de cliente: servicios Web |
HTTP |
8080* |
Configuración de la red personalizable
Puede modificar Team Foundation Server para utilizar algunos puertos personalizados. Puede cambiar la comunicación entre el nivel de aplicación, en nivel de datos y el nivel de cliente, como se indica en la tabla anterior. A modo de ejemplo, en la tabla siguiente se describen los cambios en puertos de HTTP a HTTPS.
Nota: |
---|
Configurar Team Foundation Server para que utilice HTTPS y SSL es una tarea compleja que implica mucho más que habilitar puertos para el tráfico de red HTTPS. Para obtener más información, consulte Proteger Team Foundation Server con HTTPS y Secure Sockets Layer (SSL). |
Servicio y nivel |
Protocolo |
Port |
---|---|---|
Nivel de aplicación: servicios Web con SSL |
HTTPS |
Configurado por el administrador |
Nivel de aplicación: Administración de Windows SharePoint Services |
HTTPS |
Configurado por el administrador |
Nivel de aplicación: Windows SharePoint Services y SQL Reporting Services |
HTTPS |
443 |
Nivel de cliente: Reporting Services |
HTTPS |
443 |
Nivel de cliente: servicios Web |
HTTPS |
Configurado por el administrador |
Vea también
Conceptos
Conceptos de seguridad de Team Foundation Server
Permisos de Team Foundation Server