Team Foundation Server 개념

Visual Studio Team Foundation Server를 효율적으로 배포 및 관리하려면 해당 작동 방식 및 기타 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의 모든 데이터에 대한 기본 구성 단위입니다. 컬렉션에는 팀 프로젝트가 하나 이상 포함될 수 있습니다. 자세한 내용은 팀 프로젝트 컬렉션을 사용하여 서버 구성을 참조하십시오.

  • 팀 프로젝트: 팀이 특정 소프트웨어 기술이나 제품을 개발하는 데 필요한 팀 작업을 공유할 수 있는 중앙 위치입니다. 팀 프로젝트는 팀 프로젝트 컬렉션에 구성됩니다. 자세한 내용은 프로젝트 계획 및 추적을 참조하십시오.

  • Team Foundation 관리 콘솔: 관리자를 위한 Team Foundation Server의 중앙 집중화된 관리 도구입니다. 관리 콘솔에서는 사용자 및 사용 권한을 관리할 수 있을 뿐 아니라 팀 프로젝트 컬렉션 만들기/관리, 배포에 사용할 SharePoint 웹 응용 프로그램 추가/관리, 가상 랩 만들기/관리, 서버 상태 검토 등의 작업을 수행할 수 있습니다. 자세한 내용은 Team Foundation 관리 콘솔을 참조하십시오.

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

  • SharePoint 제품: 웹 기반 비즈니스 응용 프로그램 개발 및 공동 작업용의 확장/관리 가능한 플랫폼을 제공하는 소프트웨어입니다. Team Foundation Server 배포의 일부분으로 하나 이상의 SharePoint 웹 응용 프로그램을 포함할 수 있습니다. 이러한 응용 프로그램 중 하나를 포함하려면 SharePoint 제품용 Team Foundation Server 확장을 설치 및 구성해야 하며 배포 전체에서 사용 권한을 구성해야 합니다. 자세한 내용은 배포에 SharePoint 웹 응용 프로그램 추가SharePoint 제품 및 Team Foundation Server를 참조하십시오.

  • SQL Server 및 SQL Server Reporting Services: 대규모 OLTP(온라인 트랜잭션 처리), 데이터 웨어하우징 및 전자 상거래 응용 프로그램용의 데이터베이스 플랫폼을 제공하는 소프트웨어입니다. SQL Server는 데이터 통합, 분석, 보고 솔루션용의 비즈니스 인텔리전스 플랫폼이기도 합니다. Team Foundation Server의 데이터는 SQL Server 데이터베이스에 저장됩니다. SQL Server Reporting Services를 실행하며 팀 프로젝트에 대해 보고서를 자동으로 생성하는 서버를 선택적으로 포함할 수도 있습니다. 자세한 내용은 Team Foundation Server 아키텍처SQL Server 및 Team Foundation Server를 참조하십시오.

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 아키텍처를 참조하십시오.

Team Foundation Server는 Active Directory 도메인이나 작업 그룹에서 배포할 수 있습니다. Active Directory는 기본 제공 보안 기능을 작업 그룹에 비해 더 많이 제공합니다. Active Directory 기능을 사용하면 Team Foundation Server 배포의 보안을 유지하는 데 도움이 됩니다. 예를 들어 중복 컴퓨터 이름을 허용하지 않도록 Active Directory를 구성하여 악의적인 사용자가 Team Foundation Server를 실행하는 허위 서버를 통해 컴퓨터 이름을 스푸핑하지 못하게 할 수 있습니다. 작업 그룹에서 이와 동일한 종류의 위험을 완화하려면 컴퓨터 인증서를 구성해야 합니다.

Team Foundation Server를 작업 그룹에 배포하든 도메인에 배포하든 관계없이 Team Foundation Server 자체의 요구 사항으로 인해 적용되는 특정 제약 조건을 따라야 합니다. Team Foundation Server 토폴로지에 대한 자세한 내용은 단순 토폴로지 예제, 중간 규모 토폴로지 예제, 복잡한 토폴로지 예제, SharePoint 제품과 기술 및 Team Foundation Server 상호 작용SQL Server 및 SQL Server Reporting Services 이해를 참조하십시오.

인증

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

참고

Team Foundation Server를 설치한 후 클라이언트와 서버 모두의 상호 인증에 대해 Kerberos를 지원하도록 Team Foundation Server를 구성할 수 있습니다.

SQL Server 인증은 Windows 인증만큼 안전하지 않으므로 사용하려는 경우 Team Foundation Server 및 SharePoint 제품 간에 SQL Server 데이터베이스 연결을 구성하지 말아야 합니다. 데이터베이스에 연결할 때는 데이터베이스 관리자 계정의 사용자 이름 및 암호가 서버 간에 암호화되지 않은 형식으로 전송됩니다. 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에 자동으로 추가되기 때문에 특정 권한을 기본적으로 부여받게 됩니다. 권한을 구성하는 방법에 대한 자세한 내용은 권한 관리를 참조하십시오. Team Foundation Server의 사용자 및 그룹에 대한 자세한 내용은 사용자, 그룹 및 권한 구성를 참조하십시오.

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

참고 항목

개념

Team Foundation Server 아키텍처

사용자, 그룹 및 권한 구성

기타 리소스

권한 관리