기능 영역에 대한 액세스 제어
팀 프로젝트의 Team Foundation 버전 제어, Team Foundation Build 및 Visual Studio Lab Management 기능 영역에 대한 초기 보안 설정을 구성할 수 있습니다. Microsoft Solutions Framework(MSF)용 프로세스 템플릿에서는 기본 보안 그룹에 몇 가지 권한을 할당합니다. 적절한 기능 영역의 플러그 인 파일을 사용자 지정하여 이러한 할당을 수정할 수 있습니다.
Visual Studio Team Foundation Server의 보안 그룹을 구성하는 방법에 대한 자세한 내용은 초기 그룹, 멤버 및 권한 구성을 참조하십시오.
항목 내용
기능 권한 요소를 사용하여 기능 영역에 대한 권한 할당
작업 항목 쿼리 권한 할당
버전 제어 권한 할당
빌드 권한 할당
랩 관리 권한 할당
사용자 및 그룹을 관리하고 Visual Studio ALM(Application Lifecycle Management)에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 사용자, 그룹 및 권한 구성을 참조하십시오.
기능 권한 요소를 사용하여 기능 영역에 대한 권한 할당
기능 permission 요소를 사용하여 Team Foundation Server의 보안 그룹, Windows 그룹 또는 Windows ID에 기능 영역에 대한 권한을 허용하거나 거부할 수 있습니다. 작업 항목 추적, Team Foundation 버전 제어, Team Foundation Build 및 Lab Management의 플러그 인 파일에서 이 요소를 사용합니다. 권한 요소는 해당 컨테이너인 permissions 요소 내에 캡슐화해야 합니다. 기능 permission 요소에는 다음 구문 구조를 사용합니다.
<permission allow="PermissionName" identity="GroupName"/>
<permission deny="PermissionName" identity="GroupName"/>
<permission allow="PermissionName" deny="PermissionName" identity="GroupName"/>
다음 표에서는 기능 permission 요소의 특성에 대해 설명합니다.
특성 |
설명 |
---|---|
allow |
부여되는 권한을 식별합니다. 쉼표로 구분된 텍스트로 권한을 지정합니다. 각 기능 영역에 대해 정의된 권한 이름은 이 항목 뒷부분의 다음 단원을 참조하십시오.
|
deny |
해지되는 권한을 식별합니다. 쉼표로 구분된 텍스트로 권한을 지정합니다.
참고
거부된 권한이 허용된 권한보다 우선합니다.
|
identity |
권한이 적용되는 Team Foundation Server 보안 그룹, Windows 그룹 또는 Windows ID를 지정합니다. 그룹을 지정할 때 사용할 형식은 초기 그룹, 멤버 및 권한 구성의 "Team Foundation Server에 정의된 기본 그룹"을 참조하십시오. |
다음 예제에서는 Contributors 그룹이 빌드 및 빌드 정의를 보고 빌드를 큐에 대기시키고 빌드 품질을 편집할 수 있도록 하는 권한을 부여하는 방법을 보여 줍니다.
<taskXml>
<permission allow="Read, PendChange, Checkin, Label, Lock" identity="[$$PROJECTNAME$$]\Contributors"/>
</taskXml>
참고
런타임 중에 특정 ID에 대한 권한을 찾을 수 없으면 이 ID가 속해 있는 다른 그룹에서 권한을 검색합니다. 그래도 권한을 찾을 수 없는 경우에는 기본적으로 권한이 거부됩니다.
작업 항목 쿼리 권한 할당
작업 항목 플러그 인 파일에서 팀 쿼리 폴더에 대한 액세스를 제어하는 권한을 할당할 수 있습니다. 쿼리 폴더 사용 권한은 쿼리 및 쿼리 폴더에만 적용됩니다. Windows 사용자 및 기본 그룹이나 Team Foundation Server에 대해 정의된 기본 그룹에 액세스 권한을 부여할 수 있습니다.
다음 예제와 같이 기능 permission 요소를 사용하여 이러한 권한을 할당합니다.
<Permission allow="Read, Contribute, Delete, ManagePermissions, FullControl" identity="$$CREATOR_OWNER$$" />
참고
팀 프로젝트를 만든 후 팀 탐색기에서 쿼리 폴더나 쿼리를 마우스 오른쪽 단추로 클릭하고 보안을 클릭하여 사용 권한을 설정할 수 있습니다. 자세한 내용은 작업 항목 쿼리에 대한 권한 구성 및 설정을 참조하십시오.
다음 표에서는 쿼리 폴더 및 쿼리에 대한 액세스를 제어하는 권한을 설명합니다. 또한 MSF 프로세스 템플릿에 설정된 기본 할당도 보여 줍니다. 기본적으로 쿼리 및 쿼리 폴더의 작성자나 소유자는 자신이 만들었거나 소유하는 쿼리를 관리할 수 있는 모든 권한을 가지고 있습니다.
권한 |
설명 |
Readers, Contributors, Builders |
Creator Owners, Project Administrator 그룹, Project Collection Administrators |
---|---|---|---|
Read |
읽기: 쿼리를 보고 실행하거나 쿼리 폴더와 해당 내용을 볼 수 있음 |
||
Contribute |
참가. 쿼리나 쿼리 폴더와 해당 내용을 보고 편집할 수 있음 |
||
Delete |
삭제. 쿼리나 쿼리 폴더와 해당 내용을 보고, 편집 및 삭제할 수 있음 |
||
ManagePermissions |
사용 권한 관리: 쿼리나 쿼리 폴더와 해당 내용에 대한 사용 권한을 관리할 수 있음 |
||
FullControl |
모든 권한. 쿼리나 쿼리 폴더와 해당 내용에 대한 사용 권한을 보고 편집, 삭제 및 관리할 수 있음 |
버전 제어 권한 할당
버전 제어용 플러그 인 파일을 변경하여 소스 코드 파일 및 폴더에 대한 액세스를 제어하는 권한을 할당할 수 있습니다. 버전 제어 권한은 소스 코드 파일 및 폴더와 관련됩니다. Windows 사용자 및 기본 그룹이나 Team Foundation Server에 대해 정의된 기본 그룹에 액세스 권한을 부여할 수 있습니다.
다음 예제와 같이 기능 permission 요소를 사용하여 이러한 권한을 할당합니다.
<permission allow="Read, PendChange, Checkin, Label, Lock, Merge" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
참고
팀 프로젝트를 만든 후 소스 제어 탐색기에서 폴더나 파일을 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 보안 탭을 클릭하여 이러한 권한을 설정할 수 있습니다. 이 탭에서 권한을 변경하려는 사용자나 그룹을 클릭한 다음 사용 권한에 나열되어 있는 권한을 편집하면 됩니다. 버전 제어용 tf 명령줄 도구나 TFSSecurity 명령줄 도구를 사용하여 이러한 권한을 설정할 수도 있습니다. 자세한 내용은 Team Foundation 버전 제어에 대한 액세스 권한 제어를 참조하십시오.
다음 표에서는 소스 코드 파일 및 폴더에 대한 액세스를 제어하는 권한을 설명합니다. 또한 MSF 프로세스 템플릿에 설정된 기본 할당도 보여 줍니다.
권한 |
설명 |
Readers |
Contributors |
Builders |
Project Administrators 그룹 |
---|---|---|---|---|---|
Read |
읽기: 파일 또는 폴더의 내용을 표시할 수 있습니다. 사용자에게 폴더에 대한 읽기 권한만 있고 해당 폴더에 포함된 파일에 대한 권한은 없는 경우 파일의 이름과 속성을 표시할 수는 있지만 해당 파일을 열 수는 없습니다. |
||||
PendChange |
체크 아웃: 항목을 체크 아웃하고 항목에 대해 보류 중인 변경 작업을 수행할 수 있습니다. 보류 중인 변경 작업의 예로는 파일 추가, 편집, 이름 바꾸기, 삭제, 삭제 취소, 분기, 병합 등이 있습니다. |
||||
Merge |
병합: 변경 내용을 권한이 있는 경로에 병합할 수 있습니다. |
||||
Checkin |
체크 인: 항목을 체크 인하고 커밋된 변경 집합 주석을 수정할 수 있습니다. 보류 중인 변경 내용은 사용자가 해당 항목을 체크 인할 때 커밋됩니다. |
||||
Label |
레이블: 항목에 레이블을 지정할 수 있습니다. |
||||
Lock |
잠금: 다른 사용자가 업데이트할 수 없도록 항목을 잠글 수 있습니다. |
||||
ReviseOther |
다른 사용자의 변경 내용 수정: 다른 사람의 변경 집합 주석 및 체크 인 메모 내용을 변경할 수 있습니다. |
||||
UnlockOther |
다른 사용자의 변경 내용 잠금 해제: 다른 사람이 설정한 잠금을 제거할 수 있습니다. |
||||
UndoOther |
다른 사용자의 변경 내용 취소: 다른 사람이 보류 상태로 설정한 변경 내용을 실행 취소할 수 있습니다. |
||||
LabelOther |
레이블 관리: 다른 사람의 레이블을 수정할 수 있습니다. |
||||
AdminProjectRights |
사용 권한 관리: 버전 제어의 보안 설정을 구성할 수 있습니다. |
||||
CheckinOther |
다른 사용자의 변경 내용 체크 인: 다른 사용자로 체크 인을 수행할 수 있습니다. 이 권한은 변환 유틸리티에 필요합니다. |
||||
ManageBranch |
분기 관리: 지정된 경로에 대해 이 권한이 있는 사용자는 해당 경로 아래 있는 임의의 폴더를 분기로 변환할 수 있습니다. 분기에 대해 이 권한이 있는 사용자는 분기의 속성을 편집하고, 그 부모를 재지정하고, 분기를 폴더로 변환하는 작업도 수행할 수 있습니다. 이 권한이 있는 사용자가 이 분기를 분기할 수 있으려면 대상 경로에 대한 병합 권한도 있어야 합니다. 사용자에게 분기 관리 권한이 없는 분기로부터는 분기를 만들 수 없습니다. |
빌드 권한 할당
빌드 플러그 인 파일을 변경하여 빌드 작업에 대한 액세스를 제어하는 권한을 할당할 수 있습니다. Windows 사용자 및 그룹과 Team Foundation Server의 그룹에 액세스 권한을 부여할 수 있습니다. 그룹을 지정할 때 사용할 형식에 대한 자세한 내용은 초기 그룹, 멤버 및 권한 구성의 "Team Foundation Server에 정의된 기본 그룹"을 참조하십시오.
다음 예제와 같이 기능 permission 요소를 사용하여 이러한 권한을 할당합니다.
<Permission allow="ViewBuildDefinition, QueueBuilds, ViewBuilds, EditBuildQuality" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
참고
팀 프로젝트를 만든 후 팀 탐색기에서 프로젝트를 열고 빌드를 마우스 오른쪽 단추로 클릭한 다음 보안을 클릭하여 이러한 권한을 설정할 수 있습니다. 특정 빌드 정의에 권한을 적용하려면 빌드 정의를 마우스 오른쪽 단추로 클릭한 다음 보안을 클릭하면 됩니다. 빌드 폴더에 권한을 적용하려면 해당 폴더를 마우스 오른쪽 단추로 클릭한 다음 보안을 클릭합니다. TFSSecurity 명령줄 도구를 사용하여 이러한 권한을 설정할 수도 있습니다. 자세한 내용은 권한 관리를 참조하십시오.
다음 표에서는 팀 프로젝트의 빌드 기능에 대한 액세스를 제어하기 위해 할당할 수 있는 권한을 설명합니다. 이 표에서는 MSF 프로세스 템플릿에 설정된 기본 할당도 보여 줍니다.
참고
빌드의 체크 인 유효성 검사 재정의 권한은 빌드 서비스의 서비스 계정과 코드의 품질을 담당하는 빌드 관리자에만 할당해야 합니다. 자세한 내용은 제어된 체크 인 빌드에 의해 제어되는 보류 중인 변경 내용 체크 인을 참조하십시오.
권한 |
설명 |
Readers |
Contributors |
Builders |
Project Administrators |
Project Collection Administrators |
---|---|---|---|---|---|---|
ViewBuildDefinition |
빌드 정의 보기: 팀 프로젝트에 대해 만들어진 빌드 정의를 볼 수 있습니다. |
|||||
ViewBuilds |
빌드 보기: 이 팀 프로젝트에 대해 대기 중이거나 완료된 빌드를 볼 수 있습니다. |
|||||
EditBuildQuality |
빌드 품질 편집: Team Foundation Build 사용자 인터페이스를 통해 빌드 품질에 대한 정보를 추가할 수 있습니다. |
|||||
QueueBuilds |
큐에 빌드 대기: Team Foundation Build 인터페이스나 명령 프롬프트를 사용하여 빌드를 큐에 추가할 수 있습니다. |
|||||
DeleteBuildDefinition |
빌드 정의 삭제: 빌드 정의를 삭제할 수 있습니다. |
|||||
DeleteBuilds |
빌드 삭제: 완료된 빌드를 삭제할 수 있습니다. |
|||||
DestroyBuilds |
빌드 제거: 완료된 빌드를 영구적으로 삭제할 수 있습니다. |
|||||
EditBuildDefinition |
빌드 정의 편집: 빌드 정의를 만들고 수정할 수 있습니다. |
|||||
ManageBuildQualities |
빌드 품질 관리. 배포 준비 완료, 거부됨 또는 확인 중 같은 빌드 품질을 추가하거나 제거할 수 있습니다. 자세한 내용은 빌드 품질 값 추가 또는 제거를 참조하십시오. |
|||||
ManageBuildQueue |
빌드 큐 관리: 대기 중인 빌드를 취소하거나, 우선 순위를 다시 지정하거나, 연기할 수 있습니다. |
|||||
RetainIndefinitely |
무기한 보존: 빌드가 어떠한 관련 보존 정책에 의해서도 자동으로 삭제되지 않도록 표시할 수 있습니다. |
|||||
StopBuilds |
빌드 중지: 진행 중인 빌드를 중지할 수 있습니다. |
|||||
OverrideBuildCheckInValidation |
빌드의 체크 인 유효성 검사 재정의: 보류할 시스템을 트리거하지 않은 채 제어된 빌드 정의에 영향을 주는 변경 집합을 커밋하여 해당 변경 내용을 먼저 빌드할 수 있습니다. 자세한 내용은 제어된 체크 인 빌드에 의해 제어되는 보류 중인 변경 내용 체크 인을 참조하십시오. |
|||||
UpdateBuildInformation |
빌드 정보 업데이트: 빌드 품질에 대한 정보를 추가할 수 있습니다. 이 권한은 서비스 계정에만 할당해야 합니다. |
랩 관리 권한 할당
랩 플러그 인 파일을 변경하여 Lab Management의 작업에 대한 액세스를 제어할 수 있습니다. Lab Management 권한은 가상 컴퓨터, 환경 및 기타 리소스에 적용됩니다. Windows 사용자 및 그룹과 Team Foundation Server의 그룹에 액세스 권한을 부여할 수 있습니다. 다음 예제와 같이 기능 permission 요소를 사용하여 이러한 권한을 할당합니다.
<permission allow="Read, Create, Write, Edit, Start, Stop, ManageSnapshots, Pause" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
참고
TFSLabConfig 명령줄 도구를 사용하여 Lab Management에 대한 권한을 설정할 수 있습니다. 특정 랩 리소스에 대한 정보를 표시하려면 해당 리소스에 대한 읽기 권한이 있어야 합니다. 위치를 삭제하려면 해당 위치에 대한 랩 위치 삭제 권한이 있어야 합니다. 자세한 내용은 TFSLabConfig 권한 명령을 참조하십시오.
다음 표에서는 Visual Studio Lab Management에 대한 액세스를 제어하기 위해 할당할 수 있는 권한을 설명합니다. 이 표에서는 MSF 프로세스 템플릿에 설정된 기본 할당도 보여 줍니다.
권한 |
설명 |
Readers |
Contributors |
Project Collection Build Service Accounts 그룹 |
Team Project Administrators 그룹 |
Project Collection Administrators 그룹 |
---|---|---|---|---|---|---|
Read |
랩 리소스 보기: 컬렉션 호스트 그룹, 프로젝트 호스트 그룹, 환경 등 다양한 Lab Management 리소스에 대한 정보를 볼 수 있습니다. |
|||||
Create |
가상 컴퓨터 가져오기: VMM(Virtual Machine Manager) 라이브러리 공유에서 가상 컴퓨터를 가져올 수 있습니다. 이 권한은 사용자가 Lab Management에 개체를 만들 수만 있고 VMM 호스트 그룹이나 라이브러리 공유에 어떠한 개체도 쓸 수 없다는 점에서 쓰기 권한과 다릅니다. |
|||||
Write |
환경 및 가상 컴퓨터 쓰기: 환경을 만들 수 있습니다. 프로젝트 라이브러리 공유 위치에 대해 이 권한이 있는 사용자는 환경과 가상 컴퓨터를 저장할 수 있습니다. |
|||||
Edit |
환경 및 가상 컴퓨터 편집: 환경 및 가상 컴퓨터를 편집할 수 있습니다. 편집하려는 개체에 대해 이 권한이 있는지 여부가 확인됩니다. |
|||||
Start |
시작: 환경을 시작할 수 있습니다. |
|||||
Stop |
중지: 환경을 중지할 수 있습니다. |
|||||
Pause |
일시 중지: 환경을 일시 중지할 수 있습니다. |
|||||
ManageSnapshots |
스냅숏 관리: 스냅숏 만들기, 스냅숏으로 복원, 스냅숏 이름 바꾸기, 스냅숏 삭제, 스냅숏 읽기 등 모든 스냅숏 관리 작업을 수행할 수 있습니다. |
|||||
Delete |
환경 및 가상 컴퓨터 삭제: 환경 및 가상 컴퓨터를 삭제할 수 있습니다. 삭제하려는 개체에 대해 이 권한이 있는지 여부가 확인됩니다. |
|||||
ManageLocation |
랩 위치 관리: 컬렉션 호스트 그룹, 컬렉션 라이브러리 프로젝트, 프로젝트 호스트 그룹, 프로젝트 라이브러리 공유 등 Lab Management 리소스의 위치를 편집할 수 있습니다. 컬렉션 수준 위치(컬렉션 호스트 그룹 및 컬렉션 라이브러리 공유)에 대해 이 권한이 있으면 프로젝트 수준 위치(프로젝트 호스트 그룹 및 프로젝트 라이브러리 공유)도 만들 수 있습니다. |
|||||
DeleteLocation |
랩 위치 삭제: 컬렉션 호스트 그룹, 컬렉션 라이브러리 공유, 프로젝트 호스트 그룹, 프로젝트 라이브러리 공유 등 Lab Management 리소스의 위치를 삭제할 수 있습니다. |
|||||
ManageChildPermissions |
자식 권한 관리: Lab Management의 모든 자식 개체에 대한 권한을 변경할 수 있습니다. 예를 들어 팀 프로젝트 호스트 그룹에 대해 이 권한이 있는 사용자는 해당 그룹 아래 있는 모든 환경의 권한을 변경할 수 있습니다. |
|||||
ManagePermissions |
사용 권한 관리: Lab Management의 개체에 대한 권한을 수정할 수 있습니다. 해당 권한을 수정하려는 개체에 대해 이 권한이 있는지 여부가 확인됩니다. |
|||||
EnvironmentOps |
환경 작업: 스냅숏을 시작, 중지, 일시 중지 및 관리할 수 있을 뿐 아니라 환경에 대해 기타 작업을 수행할 수 있습니다. |
참고 항목
작업
Team Foundation 버전 제어에 대한 액세스 권한 제어