Share via


Team Foundation Server 보안 아키텍처

업데이트: 2007년 11월

Team Foundation Server 보안을 분석하고 계획하려면 Team Foundation 응용 프로그램 계층, Team Foundation 데이터 계층, Team Foundation 클라이언트 계층, Team Foundation Build, Team Foundation Server Proxy 및 이러한 엔터티 간의 상호 작용을 고려해야 합니다. 사용되는 웹 서비스, 데이터베이스 및 개체 모델을 알고 있어야 합니다. 또한 기본적으로 사용되는 네트워크 포트 및 프로토콜과 사용자 지정 가능한 네트워크 포트를 알아야 합니다.

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 개체 모델은 Visual Studio SDK의 Team Foundation Server 확장성 설명서에 공개적으로 설명되어 있습니다.

웹 서비스 및 데이터베이스

Team Foundation Server에는 여러 가지 웹 서비스 및 데이터베이스가 포함되어 있습니다. 이러한 서비스와 데이터베이스는 Team Foundation 응용 프로그램 계층, 데이터 계층 및 클라이언트 계층에서 개별적으로 설치되고 구성됩니다. 다음 그림에서는 Team Foundation Server 및 클라이언트 컴퓨터의 웹 서비스, 응용 프로그램 및 데이터베이스를 간략하게 보여 줍니다.

서버 아키텍처 다이어그램클라이언트 아키텍처 다이어그램

응용 프로그램 계층

Team Foundation 응용 프로그램 계층에는 다음 ASP.NET 웹 서비스가 포함되어 있습니다. 이러한 웹 서비스는 각각 클라이언트 계층의 관련 프록시 또는 개체 모델에 해당합니다. 일반적으로 타사 통합 프로그램에서는 이러한 웹 서비스를 기반으로 프로그래밍할 수 없습니다. 이 정책에 대한 한 가지 예외는 Visual Studio SDK의 Team Foundation Server 확장성 설명서에 설명되어 있는 MSBuild 웹 서비스입니다.

  • Team Foundation 공용 서비스

    • 등록 웹 서비스

    • 보안 웹 서비스

    • 링크 웹 서비스

    • 이벤트 웹 서비스

    • 분류 웹 서비스

  • 버전 제어 웹 서비스

  • 작업 항목 추적 웹 서비스

  • Team Foundation Build 웹 서비스

데이터 계층

Team Foundation 데이터 계층은 SQL Server 2005에 있는 다음 작업 저장소로 구성되어 있습니다. 여기에는 데이터, 저장 프로시저 및 기타 관련 논리가 포함되어 있습니다. 일반적으로 타사 통합 프로그램에서는 이러한 작업 저장소를 기반으로 프로그래밍할 수 없습니다.

  • 작업 항목 추적

  • 버전 제어

  • Team Foundation 공용 서비스

  • Team Foundation Build

  • 보고 웨어하우스

클라이언트 계층

클라이언트 계층은 응용 프로그램 계층에 나열되어 있는 것과 같은 웹 서비스를 사용하여 Team Foundation 응용 프로그램 계층과 통신합니다. 이때 통신은 Team Foundation Server 개체 모델을 통해 이루어집니다. Team Foundation 클라이언트 계층에는 Team Foundation Server 개체 모델 외에 VSIP(Visual Studio Industry Partners) 구성 요소, Microsoft Office 통합, 명령줄 인터페이스 및 체크 인 정책 프레임워크도 포함되어 있습니다. 이러한 구성 요소는 Team Foundation Server와의 통합과 사용자 지정된 통합에 필요합니다. 클라이언트 계층을 확장하고 사용자 지정하는 방법에 대한 자세한 내용은 Visual Studio SDK의 확장성 설명서를 참조하십시오.

Team Foundation Server 구성 정보

Team Foundation Server는 SQL Server, SQL Server Reporting Services, IIS(인터넷 정보 서비스), Windows 운영 체제 및 Windows SharePoint Services에 따라 달라지므로 Team Foundation Server의 구성 정보는 다음과 같은 다섯 곳에 저장됩니다.

  • 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 간의 그룹 ID 동기화

Team Foundation Server가 Active Directory 도메인에서 실행되는 배포의 경우 다음 이벤트가 발생하면 그룹 및 ID 정보가 동기화됩니다.

  • Team Foundation의 응용 프로그램 계층 서버가 시작됩니다.

  • Active Directory 그룹이 Team Foundation Server의 그룹에 추가됩니다.

  • web.config 파일에 지정된 시간이 경과됩니다. 기본값은 1시간입니다.

Active Directory가 GSS(Generic Security Services)와 동기화된 다음 Team Foundation Server와 동기화됩니다. 변경된 ID는 서버에서 클라이언트로 전파됩니다. 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 Reporting Services 역할을 참조하십시오.

네트워크 포트 및 프로토콜

기본적으로 Team Foundation Server는 특정 네트워크 포트와 네트워크 프로토콜을 사용하도록 구성되어 있습니다. 다음 그림에서는 예로서 특정 배포 상황에서의 Team Foundation Server 네트워크 트래픽을 보여 줍니다.

포트 및 통신 다이어그램

기본 네트워크 설정

기본적으로 Team Foundation 응용 프로그램 계층, Team Foundation 데이터 계층, 빌드 컴퓨터 및 Team Foundation Server 프록시 간의 통신에는 다음과 같은 프로토콜과 포트가 사용됩니다. 포트 번호 뒤에 별표(*)가 있으면 해당 포트를 사용자 지정할 수 있습니다.

서비스 및 계층

프로토콜

Port

응용 프로그램 계층 – 웹 서비스

HTTP

8080

응용 프로그램 계층 – Windows SharePoint Services 관리

HTTP

17012*(Team Foundation Server에 설치된 경우)이거나 임의로 생성됨

응용 프로그램 계층 – Windows SharePoint Services 및 SQL Reporting Services

HTTP

80

빌드 컴퓨터 – Team Foundation 응용 프로그램 계층 서버로부터의 원격 액세스

HTTP를 통한 SOAP

9191*

데이터 계층

MS-SQL TCP

1443*

Team Foundation Server Proxy: 클라이언트-프록시

HTTP

8081*

Team Foundation Server Proxy: 프록시-응용 프로그램 계층

HTTP

8080*

클라이언트 계층 - Reporting Services

HTTP

80

클라이언트 계층 - 웹 서비스

HTTP

8080*

사용자 지정할 수 있는 네트워크 설정

일부 사용자 지정 포트를 사용하도록 Team Foundation Server를 수정할 수 있습니다. 이때 응용 프로그램 계층, 데이터 계층 및 클라이언트 계층 간의 통신은 앞의 표에 설명된 것과 같이 변경할 수 있습니다. 이에 대한 예로 다음 표에서는 HTTP에서 HTTPS로의 포트 변경에 대해 설명합니다.

참고:

HTTPS와 SSL을 사용하도록 Team Foundation Server를 구성하려면 HTTPS 네트워크 트래픽에 대해 포트를 설정하는 것 외에도 많은 작업을 수행해야 합니다. 자세한 내용은 HTTPS 및 SSL을 사용하여 Team Foundation Server 보호를 참조하십시오.

서비스 및 계층

프로토콜

Port

응용 프로그램 계층 – 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 토폴로지