Team Foundation Server 권한

업데이트: 2007년 11월

작업 영역 관리, 프로젝트 만들기와 같은 사용자 작업을 수행할 수 있는지 여부는 권한에 따라 결정됩니다. Team Foundation Server에서 프로젝트를 만드는 경우 사용자가 선택한 프로세스 템플릿에 관계없이 해당 프로젝트에 네 개의 기본 그룹이 만들어집니다. 기본적으로 이러한 각 그룹에는 해당 그룹의 멤버가 수행할 수 있는 작업을 제어하는 권한 집합이 정의되어 있습니다.

  • Project Administrator

  • Contributors

  • Readers

  • Build Services

기본 그룹을 관리하고 사용자 지정 그룹을 만들려면 관리자는 권한의 의미와 권한을 명시적으로 설정하기 위한 보안 관련 문제를 알고 있어야 합니다.

참고:

이 항목에서는 Windows SharePoint Services나 SQL Reporting Services의 권한은 설명하지 않습니다. 이 항목에서는 Team Foundation Server의 권한 집합만 설명합니다.

권한 설정

Team Foundation Server의 권한에는 Deny와 Allow라는 두 가지 명시적 권한 설정이 있습니다. 또한 권한을 Allow나 Deny로 설정하지 않는 암시적 권한 설정도 하나 있습니다. 이 권한 부여는 Unset이라고 하는 암시적 Deny 설정입니다.

Deny

Deny는 사용자나 그룹이 권한 설명에 언급된 작업을 수행하지 못하도록 합니다. Deny는 Team Foundation Server에서 가장 강력한 권한 설정입니다. 사용자가 특정 권한이 Deny로 설정된 Team Foundation Server 그룹에 속해 있는 경우 이 사용자는 같은 권한이 Allow로 설정된 다른 그룹에 동시에 속해 있더라도 해당 기능을 수행할 수 없습니다. 그러나 사용자가 프로젝트의 Project Administrators 그룹 또는 Team Foundation Administrators 그룹의 멤버인 경우에는 예외입니다. 사용자가 프로젝트의 Project Administrators 그룹에 속해 있으면 이 그룹의 권한이 프로젝트에서 해당 사용자에 대해 설정된 명시적 Deny를 재정의합니다. 마찬가지로 사용자가 Team Foundation Administrators 그룹에 속해 있으면 이 그룹의 권한이 Team Foundation Server에서 해당 사용자에 대해 설정된 명시적 Deny를 재정의합니다.

Allow

Allow는 사용자나 그룹이 권한 설명에 언급된 작업을 수행할 수 있도록 합니다. Allow는 Team Foundation Server에서 두 번째로 강력한 권한 설정입니다. 또한 권한을 명시적으로 Allow로 설정하지 않으면 사용자나 그룹이 Team Foundation Server에서 작업을 수행할 수 없으므로 가장 자주 사용되는 권한 설정이기도 합니다.

Unset

기본적으로 대부분의 Team Foundation Server 권한은 Deny나 Allow로 설정되지 않습니다. 권한이 설정되지 않은 상태로 있으면 권한 설명에 지정된 작업을 수행할 수 있는 권한이 사용자와 그룹 모두에게 암시적으로 거부됩니다. 그러나 권한이 명시적으로 Deny나 Allow로 설정된 것은 아니므로 사용자나 그룹이 속해 있는 다른 그룹에서 해당 권한이 상속될 수도 있습니다.

상속

Team Foundation Server 내의 권한은 상속될 수 있으므로 사용자나 그룹의 권한이 설정되어 있지 않은 경우 해당 사용자나 그룹은 속해 있는 다른 그룹에 대한 명시적 권한 설정의 영향을 받을 수 있습니다. 예를 들어 사용자가 프로젝트에서 두 개의 사용자 지정 그룹에 속해 있는 상태에서 이들 그룹 중 하나에는 권한이 Deny로 명시적으로 설정되어 있고 다른 그룹에는 동일한 권한이 설정되어 있지 않은 경우 사용자는 두 그룹 모두로부터 권한을 상속하는데 Deny가 설정되지 않은 권한보다 우선하기 때문에 해당 권한에 따라 제어되는 작업을 수행할 수 있는 권한을 가지지 못하게 됩니다.

참고:

Windows SharePoint Services 등의 Team Foundation Server 외부에서 설정된 권한은 Team Foundation Server 내에서 상속되지 않으며 이 항목에서는 이러한 권한에 대해 설명하지 않습니다.

일부 권한 부여 설정은 다른 권한 부여 설정보다 우선합니다. Team Foundation Server 내에서 Deny 권한은 Allow를 비롯한 다른 모든 권한 설정보다 우선합니다. 예를 들어 사용자가 프로젝트의 두 그룹에 속해 있는 상황에서 한 그룹의 테스트 결과 게시 권한은 Deny로 설정되어 있고 다른 그룹에서는 해당 권한이 Allow로 설정되어 있는 경우 Deny 설정이 우선하므로 사용자는 테스트 결과를 게시할 수 있는 권한이 없습니다. 그러나 사용자가 프로젝트의 Project Administrators 그룹 또는 Team Foundation Administrators 그룹의 멤버인 경우에는 예외입니다. 사용자가 프로젝트의 Project Administrators 그룹에 속해 있으면 이 그룹의 권한이 프로젝트에서 해당 사용자에 대해 설정된 명시적 Deny를 재정의합니다. 마찬가지로 사용자가 Team Foundation Administrators 그룹에 속해 있으면 이 그룹의 권한이 Team Foundation Server에서 해당 사용자에 대해 설정된 명시적 Deny를 재정의합니다.

Team Foundation Server 사용자 인터페이스 및 명령줄을 통해 설정되는 권한

Team Foundation Server에서 설정할 수 있는 대부분의 권한은 Team Foundation Server 사용자 인터페이스를 통해 제어됩니다. 이러한 권한은 서버 단위(서버 수준 권한)나 프로젝트 단위(프로젝트 수준 권한)로 설정할 수 있습니다. 프로젝트 단위로 작업 항목을 보고 상호 작용할 수 있는 영역 수준 권한을 설정할 수도 있습니다. 사용자에 따라 기본적으로 설정되는 권한, MSF for Agile Software Development 또는 MSF CMMI Process Improvement 그룹에 설정되는 권한에 대한 자세한 내용은 Team Foundation Server 기본 그룹, 권한 및 역할을 참조하십시오. 사용자 및 그룹의 권한을 설정하는 방법에 대한 자세한 내용은 사용자 및 그룹 관리권한 관리를 참조하십시오. 작업 항목 관리에 대한 자세한 내용은 Team Foundation 작업 항목 사용을 참조하십시오.

서버 수준 권한

서버 수준 권한은 단일 프로젝트에 관련된 권한이 아니라 서버 차원에서 설정된 권한입니다. 이러한 권한은 다음과 같은 세 가지 사용자 범주에 대해서만 설정할 수 있습니다.

  • 서버 수준 사용자 및 그룹(예: Team Foundation Administrators)

  • Team Foundation 서버에서 서버 수준에 추가된 프로젝트 수준 그룹

  • 서버 수준에서 만들어 추가하는 사용자 지정 그룹

팀 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 보안을 클릭하여 Team Foundation Server에서 이러한 권한을 설정할 수 있습니다. 명령줄 유틸리티가 **tf:**로 지정되어 있지 않는 한 TFSSecurity 명령줄 유틸리티를 사용하여 이러한 권한을 설정할 수 있습니다. 명령줄 유틸리티가 **tf:**로 지정되어 있는 경우에는 소스 제어용 명령줄 유틸리티인 tfPermission 명령을 사용하여 권한을 설정합니다. 자세한 내용은 TFSSecurity 명령줄 유틸리티 명령Permission 명령을 참조하십시오.

권한 이름

명령줄에서의 이름

설명

보류된 변경 내용 관리

tf: AdminShelvesets

이 권한이 있는 사용자는 다른 사용자가 만든 보류 집합을 삭제할 수 있습니다.

웨어하우스 관리

ADMINISTER_WAREHOUSE

이 권한이 있는 사용자는 WarehouseController.asmx 웹 서비스의 ChangeSetting 웹 메서드를 사용하여 웨어하우스 설정을 변경할 수 있습니다. 예를 들어, 사용자가 OLAP 큐브를 계산하기 위한 업데이트 간격을 설정할 수 있게 할 수 있습니다.

작업 영역 관리

tf: AdminWorkspaces

이 권한이 있는 사용자는 다른 사용자의 작업 영역을 만들고 다른 사용자가 만든 작업 영역을 삭제할 수 있습니다.

작업 영역 만들기

tf: CreateWorkspace

이 권한이 있는 사용자는 소스 제어 작업 영역을 만들 수 있습니다.

새 프로젝트 만들기

CREATE_PROJECTS

이 권한이 있는 사용자는 Team Foundation Server에서 새 프로젝트를 만들 수 있습니다. 새 프로젝트를 만들려면 사용자가 Windows SharePoint Server에서 SharePoint Central Admins 그룹의 멤버여야 하며 SQL Reporting Services에서 내용 관리자 권한을 가지고 있어야 합니다.

서버 수준 정보 편집

GENERIC_WRITE

tf: AdminConfiguration

tf: AdminConnections

이 권한이 있는 사용자는 Team Foundation Server에 정의된 사용자 및 그룹의 서버 수준 권한을 편집할 수 있으며 Team Foundation Server에서 서버 수준의 Team Foundation Server 응용 프로그램 그룹을 추가하거나 제거할 수 있습니다. 메뉴를 사용하여 서버 수준 정보 편집 권한을 설정하면 사용자가 암시적으로 소스 제어 권한을 수정할 수 있게 됩니다. 명령줄에서 위의 모든 권한을 부여하려면 tf.exe Permission 명령을 사용하여 AdminConfigurationAdminConnections 권한뿐만 아니라 GENERIC_WRITE를 부여해야 합니다.

참고:

Team Foundation Administrators와 같은 기본 서버 그룹은 제거할 수 없습니다.

추적 설정 변경

DIAGNOSTIC_TRACE

이 권한이 있는 사용자는 Team Foundation Server 웹 서비스에 대한 보다 자세한 진단 정보를 수집하기 위해 추적 설정을 변경할 수 있습니다. 추적에 대한 자세한 내용은 Team Foundation Server의 추적 설정을 참조하십시오.

이벤트 트리거

TRIGGER_EVENT

이 권한이 있는 사용자는 Team Foundation Server 내에서 프로젝트 경고 이벤트를 트리거할 수 있습니다. 이 권한은 서비스 계정에만 할당되어야 합니다.

프로세스 템플릿 관리

MANAGE_TEMPLATE

이 권한이 있는 사용자는 프로세스 템플릿을 다운로드하거나 만들거나 편집하거나 Team Foundation Server로 업로드할 수 있습니다.

서버 수준 정보 보기

GENERIC_READ

이 권한이 있는 사용자는 서버 수준 그룹의 멤버 자격과 해당 사용자의 권한을 볼 수 있습니다.

시스템 동기화 정보 보기

SYNCHRONIZE_READ

이 권한이 있는 사용자는 동기화 이벤트를 트리거할 수 있습니다. 이 권한은 서비스 계정에만 할당되어야 합니다.

프로젝트 수준 권한

프로젝트 수준 권한은 단일 프로젝트의 사용자 및 그룹과 관련됩니다. 팀 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 팀 프로젝트 설정을 클릭한 다음 보안을 클릭하여 Team Foundation Server에서 이러한 권한을 설정할 수 있습니다. TFSSecurity 명령줄 유틸리티로도 이러한 권한을 설정할 수 있습니다.

권한 이름

명령줄에서의 이름

설명

이 프로젝트 삭제

Delete 키

이 권한이 있는 사용자는 이 권한이 부여된 대상 프로젝트를 Team Foundation Server에서 삭제할 수 있습니다.

프로젝트 수준 정보 편집

GENERIC_WRITE

이 권한이 있는 사용자는 Team Foundation Server에 정의된 사용자 및 그룹의 프로젝트 수준 권한을 편집할 수 있습니다.

테스트 결과 게시

PUBLISH_TEST_RESULTS

이 권한이 있는 사용자는 팀 프로젝트 포털에서 테스트 결과를 추가하거나 제거하고, 테스트 실행을 추가하거나 제거할 수 있습니다.

프로젝트 수준 정보 보기

GENERIC_READ

이 권한이 있는 사용자는 프로젝트 수준 그룹의 멤버 자격과 해당 프로젝트 사용자의 권한을 볼 수 있습니다.

빌드 수준 권한

빌드 수준 권한은 단일 프로젝트의 사용자 및 그룹과 관련됩니다. 이러한 권한은 팀 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 팀 프로젝트 설정을 클릭한 다음 보안을 클릭하여 설정할 수 있습니다. TFSSecurity 명령줄 유틸리티로도 이러한 권한을 설정할 수 있습니다.

권한 이름

명령줄에서의 이름

설명

빌드 관리

ADMINISTER_BUILD

이 권한이 있는 사용자는 완료된 빌드를 삭제하고 현재 진행 중인 빌드를 중지할 수 있습니다.

빌드 품질 편집

EDIT_BUILD_STATUS

이 권한이 있는 사용자는 Team Foundation Build 사용자 인터페이스를 통해 빌드 품질에 대한 정보를 추가할 수 있습니다. 이 정보는 Team Foundation Build 데이터베이스 저장소에 저장됩니다.

빌드 시작

START_BUILD

이 권한이 있는 사용자는 Team Foundation Build 인터페이스나 명령줄을 통해 빌드를 시작할 수 있습니다. 이 권한은 빌드가 영구적으로 보존되도록 구성하는 데도 필요합니다.

빌드 작업 저장소에 쓰기

UPDATE_BUILD

Team Foundation Build 데이터베이스 저장소를 업데이트하려면 빌드 서비스가 실행되는 계정에 이 권한이 부여되어야 합니다. 이 권한은 서비스 계정에만 할당해야 하며 개별 사용자에게 할당하면 안 됩니다.

작업 항목 추적 영역 수준 권한

영역 수준 권한은 단일 프로젝트의 사용자 및 그룹과 관련됩니다. 이러한 권한은 팀 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 영역 및 반복을 클릭한 다음 영역 탭에서 보안을 클릭하여 설정할 수 있습니다. TFSSecurity 명령줄 유틸리티로도 이러한 권한을 설정할 수 있습니다.

참고:

일부 작업 항목 추적 작업을 수행하려면 여러 가지 권한이 있어야 합니다. 예를 들어 노드를 삭제하려면 여러 가지 권한이 필요합니다.

권한 이름

명령줄에서의 이름

설명

자식 노드 만들기 및 순서 지정

CREATE_CHILDREN

이 권한이 있는 사용자는 영역 노드를 새로 만들 수 있습니다. 이 권한과 이 노드 편집 권한이 모두 있는 사용자는 모든 자식 영역 노드를 이동하거나 순서를 변경할 수 있습니다.

이 노드 삭제

Delete 키

이 권한과 함께 다른 노드에 대한 이 노드 편집 권한이 있는 사용자는 영역 노드를 삭제하고 해당 노드의 기존 작업 항목을 다시 분류할 수 있습니다. 삭제된 부모 노드의 자식 노드도 삭제됩니다.

이 노드 편집

GENERIC_WRITE

이 권한이 있는 사용자는 영역 노드의 이름을 바꿀 수 있습니다.

이 노드의 작업 항목 편집

WORK_ITEM_WRITE

이 권한이 있는 사용자는 이 영역 노드의 작업 항목을 편집할 수 있습니다.

이 노드 보기

GENERIC_READ

이 권한이 있는 사용자는 이 노드의 보안 설정을 볼 수 있습니다.

이 노드의 작업 항목 보기

WORK_ITEM_READ

이 권한이 있는 사용자는 이 영역 노드의 작업 항목을 볼 수 있지만 편집하거나 변경할 수는 없습니다.

작업 항목 추적 반복 수준 권한

반복 수준 권한은 단일 프로젝트의 사용자 및 그룹과 관련됩니다. 이러한 권한은 팀 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 영역 및 반복을 클릭한 다음 반복 탭에서 보안을 클릭하여 설정할 수 있습니다. TFSSecurity 명령줄 유틸리티로도 이러한 권한을 설정할 수 있습니다.

참고:

일부 작업 항목 추적 작업을 수행하려면 여러 가지 권한이 있어야 합니다. 예를 들어 노드를 삭제하려면 여러 가지 권한이 필요합니다.

권한 이름

명령줄에서의 이름

설명

자식 노드 만들기 및 순서 지정

CREATE_CHILDREN

이 권한이 있는 사용자는 반복 노드를 새로 만들 수 있습니다. 이 권한과 이 노드 편집 권한이 모두 있는 사용자는 모든 자식 반복 노드를 이동하거나 순서를 변경할 수 있습니다.

이 노드 삭제

Delete 키

이 권한과 함께 다른 노드에 대한 이 노드 편집 권한이 있는 사용자는 반복 노드를 삭제하고 해당 노드의 기존 작업 항목을 다시 분류할 수 있습니다. 삭제된 부모 노드의 자식 노드도 삭제됩니다.

이 노드 편집

GENERIC_WRITE

이 권한이 있는 사용자는 반복 노드의 이름을 바꿀 수 있습니다.

이 노드 보기

GENERIC_READ

이 권한이 있는 사용자는 이 노드의 보안 설정을 볼 수 있습니다.

소스 제어 권한

소스 제어 권한은 소스 코드 파일 및 폴더와 관련됩니다. 이러한 권한은 소스 제어 탐색기에서 폴더나 파일을 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음, 보안 탭에서 권한을 변경할 사용자 또는 그룹을 선택하고 권한에 나열된 권한을 편집하여 설정할 수 있습니다. 소스 제어용 명령줄 유틸리티인 tf를 사용하여 이러한 권한을 설정할 수도 있습니다.

권한 이름

명령줄에서의 이름

설명

읽기

tf: Read

이 권한이 있는 사용자는 파일이나 폴더의 내용을 읽을 수 있습니다. 사용자에게 폴더에 대한 읽기 권한만 있고 해당 폴더에 포함된 파일을 열 수 있는 권한이 없더라도 폴더의 내용과 폴더에 있는 파일의 속성은 볼 수 있습니다.

체크 아웃

tf: PendChange

이 권한이 있는 사용자는 폴더에 있는 항목을 체크 아웃하고 항목에 대해 보류 중인 변경 작업을 수행할 수 있습니다. 보류 중인 변경 작업의 예로는 파일 추가, 이름 바꾸기, 삭제, 삭제 취소, 분기, 병합 등이 있습니다.

체크 인

tf: Checkin

이 권한이 있는 사용자는 항목을 체크 인하고 커밋된 변경 집합 주석을 수정할 수 있습니다. 보류 중인 변경 내용은 체크 인 시 커밋됩니다.

레이블

tf: Label

이 권한이 있는 사용자는 항목의 레이블을 지정할 수 있습니다.

잠금

tf: Lock

이 권한이 있는 사용자는 폴더 또는 파일을 잠그거나 잠금을 해제할 수 있습니다.

다른 사용자의 변경 내용 수정

tf: ReviseOther

이 권한이 있는 사용자는 다른 사용자가 파일을 체크 인한 경우에도 해당 파일의 주석을 편집할 수 있습니다.

다른 사용자의 변경 내용 잠금 해제

tf: UnlockOther

이 권한이 있는 사용자는 다른 사용자가 잠근 파일의 잠금을 해제할 수 있습니다.

다른 사용자의 변경 내용 취소

tf: UndoOther

이 권한이 있는 사용자는 다른 사용자가 수행한 보류 중인 변경 내용을 취소할 수 있습니다.

레이블 관리

tf: LabelOther

이 권한이 있는 사용자는 다른 사용자가 만든 레이블을 편집하거나 삭제할 수 있습니다.

보안 설정 조작

tf: AdminProjRights

이 권한이 있는 사용자는 해당 파일 및 폴더의 권한을 설정할 수 있습니다.

다른 사용자의 변경 내용 체크 인

tf: CheckinOther

이 권한이 있는 사용자는 다른 사용자가 수행한 변경 내용을 체크 인할 수 있습니다. 보류 중인 변경 내용은 체크 인 시 커밋됩니다.

참고 항목

작업

방법: Team Foundation Server 관리자 권한 설정

방법: Team Foundation Server 프로젝트 책임자 권한 설정

방법: Team Foundation Server 참가자 권한 설정

방법: Team Foundation Server 구독자 권한 설정

개념

Team Foundation Server 기본 그룹, 권한 및 역할

Team Foundation 작업 항목 사용

기타 리소스

TFSSecurity 명령줄 유틸리티 명령

Team Foundation 버전 제어 명령줄 참조

사용자 및 그룹 관리

권한 관리