Team Foundation Server 개념

Visual Studio Team Foundation Server를 효율적으로 배포하고 관리하려면 TFS의 작동 방식 및 Team Foundation의 다른 구성 요소와 통신하는 방식을 이해해야 합니다. Team Foundation Server의 관리자는 Windows 인증, 네트워크 프로토콜과 트래픽, 그리고 Team Foundation Server가 설치된 비즈니스 네트워크의 구조에 대해 숙지해야 합니다. 또한 Team Foundation Server의 그룹과 권한에 대해서도 파악해야 합니다. SQL Server, SQL Server Reporting Services 및 SharePoint 제품에 대해서도 숙지해 두면 Team Foundation Server를 관리할 때 유용할 수 있습니다.

구성 요소와 용어 이해

다음 구성 요소와 용어를 숙지하면 Team Foundation Server를 더 효율적으로 계획, 배포 및 관리할 수 있습니다.

  • 응용 프로그램 계층, 데이터 계층, 클라이언트 계층: Team Foundation Server를 구성하는 논리적 계층입니다. 이러한 계층은 모두 같은 물리적 컴퓨터에 배포될 수도 있고 여러 컴퓨터에 설치될 수도 있습니다. 자세한 내용은 Team Foundation Server 아키텍처을 참조하십시오.

  • 팀 프로젝트 컬렉션: Team Foundation Server의 모든 데이터에 대한 기본 조직 구성 단위입니다. 컬렉션은 팀 프로젝트를 하나 이상 포함할 수 있습니다. 자세한 내용은 팀 프로젝트 컬렉션 관리을 참조하십시오.

  • 팀 프로젝트: 팀이 특정 소프트웨어 기술 또는 제품을 개발하기 위해 수행해야 하는 팀 활동을 공유할 수 있는 중앙 위치입니다. 팀 프로젝트는 팀 프로젝트 컬렉션으로 구성됩니다. 자세한 내용은 Visual Studio ALM 및 TFS로 작업 추적을 참조하십시오.

  • Team Foundation Server 관리 콘솔: TFS 관리자가 리소스를 구성하기 관리하는 데 사용하는 중앙 집중식 관리 도구입니다. 자세한 내용은 TFS 리소스 구성 및 관리을 참조하십시오.

  • 서비스 계정: Team Foundation의 웹 서비스 및 응용 프로그램이 사용하는 하나 이상의 계정입니다. Team Foundation Server에서 서버와 웹 서비스에 대해 작업을 수행하려면 서비스 계정이 필요합니다. 이러한 서비스 계정에는 특정 요구 사항이 있습니다. 자세한 내용은 Team Foundation Server의 서비스 계정 및 종속성을 참조하십시오.

  • SharePoint 제품: 팀 프로젝트 포털 및 대시보드를 지원하는 소프트웨어입니다. SharePoint 웹 응용 프로그램을 Team Foundation Server 배포의 일부로 하나 이상 포함할 수 있습니다. 이러한 응용 프로그램 중 하나를 포함하려면 SharePoint 제품용 Team Foundation Server 확장을 설치하고 구성해야 하며 배포 전체에 대한 권한을 구성해야 합니다. 자세한 내용은 프로젝트 포털을 사용하여 정보 공유을 참조하십시오.

  • SQL Server 및 SQL Server Reporting Services: 데이터 웨어하우징용 데이터베이스 플랫폼과 데이터 통합, 분석 및 보고 솔루션용 비즈니스 인텔리전스 플랫폼을 제공하는 소프트웨어입니다. TFS는 해당 데이터를 SQL Server 데이터베이스에 저장합니다. 필요에 따라 SQL Server Reporting Services를 실행하며 팀 프로젝트의 보고서를 자동으로 생성하는 서버를 포함할 수도 있습니다. 자세한 내용은 TFS 보고서, 데이터 웨어하우스 및 Analysis Services 큐브 관리을 참조하십시오.

Team Foundation Server 보안 이해

Team Foundation Server의 보안을 최적화하려면 다음 개념을 이해해야 합니다.

  • 토폴로지: Team Foundation의 구성 요소를 실행하는 서버를 배포하는 위치와 방법, Team Foundation Server와 Team Foundation 클라이언트 간에 전달되는 네트워크 트래픽, 그리고 Team Foundation Server에서 실행해야 하는 서비스가 포함됩니다.

  • 인증: Team Foundation Server의 사용자, 그룹 및 서비스 유효성을 확인하는 작업이 포함됩니다.

  • 권한 부여: Team Foundation Server의 유효한 사용자, 그룹 및 서비스에 특정 작업을 수행하기 위한 적합한 권한이 있는지 여부를 확인하는 작업이 포함됩니다.

Team Foundation Server가 사용하는 다른 구성 요소와 서비스도 고려해야 합니다.

Team Foundation Server의 보안을 고려할 때는 인증과 권한 부여의 차이점을 이해해야 합니다. 인증에서는 클라이언트, 서버 또는 프로세스의 연결 시도에 사용되는 자격 증명을 확인합니다. 반면 권한 부여에서는 연결을 시도하는 ID에 개체 또는 메서드 액세스 권한이 있는지를 확인합니다. 인증이 정상적으로 완료되어야 권한 부여가 수행됩니다. 인증되지 않은 연결은 권한 부여 검사를 수행하기 전에 실패합니다. 연결이 정상적으로 인증되더라도 사용자나 그룹에 해당 작업을 수행할 권한이 부여되지 않아 특정 작업이 계속 허용되지 않을 수 있습니다.

토폴로지, 포트 및 서비스

Team Foundation Server의 배포 및 보안에서 가장 먼저 확인해야 하는 요소는 배포의 구성 요소가 통신하기 위해 서로 연결할 수 있는지 여부입니다. 이 과정에서 Team Foundation 클라이언트와 Team Foundation Server가 연결할 수 있도록 설정하고 다른 연결 시도는 제한하거나 차단합니다.

Team Foundation Server는 특정 포트와 서비스를 사용하여 작동합니다. 비즈니스 보안 요구 사항을 충족하기 위해 이러한 포트를 보호하고 모니터링할 수 있습니다. Team Foundation Server의 네트워크 트래픽이 Team Foundation 클라이언트, Team Foundation 데이터 계층과 응용 프로그램 계층의 논리적 구성 요소를 호스트하는 서버, Team Foundation Build용 컴퓨터 및 Team Foundation Server Proxy를 사용하는 원격 클라이언트 간을 통과하도록 허용해야 합니다. 기본적으로 Team Foundation Server는 해당 웹 서비스에 대해 HTTP를 사용하도록 구성됩니다. Team Foundation Server에서 사용하는 포트 및 서비스의 전체 목록과 이러한 포트와 서비스가 해당 아키텍처 내에서 사용되는 방법에 대한 자세한 내용은 Team Foundation Server 아키텍처를 참조하세요.

Active Directory 도메인 또는 작업 그룹에서 Team Foundation Server를 배포할 수 있습니다. Active Directory는 작업 그룹보다 더 많은 보안 기능을 기본 제공합니다. Active Directory 기능을 사용하면 Team Foundation Server 배포를 보호할 수 있습니다. 예를 들어 중복 컴퓨터 이름을 차단하도록 Active Directory를 구성할 수 있습니다. 그러면 악의적인 사용자가 Team Foundation Server를 실행하는 Rogue 서버로 컴퓨터 이름을 스푸핑할 수 없습니다. 작업 그룹에서 이와 같은 종류의 위협을 완화하려면 컴퓨터 인증서를 구성해야 합니다.

Team Foundation Server를 배포하는 위치(작업 그룹 또는 도메인)에 관계없이 Team Foundation Server 자체의 요구 사항에 의해 적용되는 특정 제약 조건을 따라야 합니다. Team Foundation Server의 토폴로지에 대한 자세한 내용은 단순 토폴로지 예제, 중간 규모 토폴로지 예제, 복잡한 토폴로지 예제, Understanding Windows SharePoint ServicesSQL Server 및 SQL Server Reporting Services 이해를 참조하세요.

인증

Team Foundation Server의 보안은 Windows 통합 인증 및 Windows 운영 체제의 보안 기능에 통합되며 이러한 인증과 기능을 사용합니다. Windows 통합 인증을 사용하면 Team Foundation 클라이언트와 TFS 간의 연결, 논리적 응용 프로그램과 데이터 계층을 호스트하는 서버의 웹 서비스, 그리고 응용 프로그램 계층 및 데이터 계층 서버 자체 간의 연결에 대해 계정을 인증할 수 있습니다.

참고

TFS를 설치한 후 클라이언트와 서버 둘 다의 상호 인증을 위해 Kerberos를 지원하도록 TFS를 구성할 수 있습니다.

Team Foundation Server 및 SharePoint 제품 간의 SQL Server 데이터베이스 연결이 SQL Server 인증을 사용하도록 구성해서는 안 됩니다. 이 인증은 Windows 인증만큼 안전하지 않기 때문입니다. 데이터베이스에 연결할 때는 데이터베이스 관리자 계정의 사용자 이름과 암호가 암호화되지 않은 형식으로 전송됩니다. Windows 통합 인증에서는 사용자 이름과 암호를 전송하지 않습니다. 대신 Windows 통합 인증 보안 프로토콜을 사용하여 호스트 IIS(인터넷 정보 서비스) 응용 프로그램 풀과 연결된 서비스 계정 ID 정보를 SQL Server로 전송합니다.

권한 부여

Team Foundation Server 권한 부여는 Team Foundation의 사용자와 그룹, 해당 사용자와 그룹에 모두 직접 할당되는 권한, 그리고 해당 사용자와 그룹이 Team Foundation Server의 다른 그룹에 속하는 경우 상속될 수 있는 권한을 기준으로 합니다. Team Foundation의 사용자와 그룹은 로컬 사용자나 그룹 또는 Active Directory 사용자 및 그룹 중 하나이거나 둘 다일 수 있습니다.

Team Foundation Server는 서버, 컬렉션 및 프로젝트 수준에서 기본 그룹으로 미리 구성됩니다. 개별 사용자를 추가하여 이러한 그룹을 채울 수 있습니다. 그러나 Active Directory 보안 그룹을 사용하여 이러한 그룹을 채우면 관리가 더욱 쉬워집니다. 이 방식을 사용하면 SharePoint 제품, SQL Server 등의 응용 프로그램이나 여러 컴퓨터에서 그룹 멤버 자격과 권한을 더 효율적으로 관리할 수 있습니다.

특정 배포에서는 여러 컴퓨터와 응용 프로그램 내에서 사용자, 그룹 및 권한을 구성해야 할 수 있습니다. 예를 들어 배포의 일부분으로 보고서 및 프로젝트 포털을 포함하려는 경우에는 Reporting Services, SharePoint 제품 및 Team Foundation Server에서 사용자와 그룹에 대한 권한을 구성해야 합니다. Team Foundation Server에서는 각 프로젝트와 컬렉션에 대해, 그리고 배포 전체에 대해 서버 수준에서 권한을 설정할 수 있습니다. 또한 Team Foundation Server에 추가하는 사용자나 그룹은 Team Foundation Valid Users에 자동으로 추가되므로 특정 권한이 해당 사용자 또는 그룹에 기본적으로 부여됩니다. 자세한 내용은 TFS에서 사용자 또는 그룹 관리을 참조하십시오.

Team Foundation Server에서 권한 부여를 위한 권한을 구성해야 할 뿐 아니라 버전 제어 및 작업 항목 내에서도 권한 부여를 수행해야 할 수 있습니다. 이러한 권한은 명령 프롬프트에서 별도로 관리하지만 팀 탐색기 인터페이스의 일부분으로 통합됩니다.

참고 항목

작업

배포에 SharePoint 제품 추가

개념

Team Foundation Server 아키텍처

Team Foundation Server 아키텍처

TFS에서 사용자 또는 그룹 관리

기타 리소스

SharePoint Products and Technologies and Team Foundation Server