Microsoft MVP성태의 닷넷 이야기
Team Foundation Server: 16. 팀 프로젝트 읽기 전용 사용자 등록 [링크 복사], [링크+제목 복사],
조회: 24266
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

팀 프로젝트 읽기 전용 사용자 등록


물론, 이 단계 이전에 TFS 설치나 Team Project 만드는 방법 등이 선행되어야 하겠지만, 그 부분은 이미 TFS를 조금이라도 다루실 줄 아는 분들이라면 모두 아실 것이기 때문에 굳이 언급하지 않겠습니다. (아니면, 나중에 필요하면 언급하겠습니다.)

대신, 이번에는 "개발자" 환경 설정이라기 보다는, "프로젝트"를 살펴볼 수 있는 권한만을 가진 사용자를 위한 설정을 해보겠습니다.

단계는 크게 다음과 같은 설정으로 나뉠 수 있습니다.

  1. 새로운 사용자 계정을 TFS 보안 그룹에 추가
  2. 해당 사용자에 대한 팀 프로젝트 단위의 보안 설정
  3. 해당 사용자에 대한 버전 컨트롤의 보안 설정
  4. 해당 사용자에 대한 Area 보안 설정
  5. 해당 사용자에 대한 WSS 사이트 보안 설정
  6. 해당 사용자에 대한 Report Server 보안 설정

그럼, 단계별로 하나씩 알아보겠습니다.



1. 새로운 사용자 계정을 TFS 보안 그룹에 추가
VS.NET 2005를 실행시키고, "Team" / "Team Foundation Server Settings" - "Group Membership..." 메뉴를 선택합니다. 여기서는 Workgroup 버전으로 예를 들것이므로, "Team Foundation Licensed Users" 그룹에 원하는 사용자를 추가해야 합니다. (물론, 사용자가 아닌 그룹 단위로 설정하는 것이 권장되어집니다.)

howto_connect_to_tfs_9.png

위의 그림에서 "Properties..." 버튼을 누른 후 나오는 대화창에서 "Windows User or Group"을 선택하고 "Add..." 버튼을 누르면 다음과 같이 사용자를 선택할 수 있는 대화창이 나옵니다.

howto_connect_to_tfs_10.png

적절한 계정을 입력하고 확인을 눌러주면, 해당 사용자는 TFS에 정상적으로 접속이 가능합니다.




2. 해당 사용자에 대한 팀 프로젝트 단위의 보안 설정
TFS 접근 권한을 가진 사용자는 이제, 특정 "Team Project"에 대해서도 접근할 수 있도록 설정되어져야 합니다. 이를 위해서 "Team" / "Team Project Settings" - "Group Membership..." 메뉴를 선택합니다. 그러면 다음과 같은 대화창을 볼 수 있습니다.

howto_connect_to_tfs_11.png

여기서는 특정 사용자에 대해 프로젝트의 "읽기 권한"만을 줄 것이기 때문에 "Readers"를 선택하고, "Properties..." 버튼을 눌러줍니다. 그러면 아래와 같은 대화창이 나오게 되고, "Add Member"의 유형을 "Windows User or Group"으로 선택 후 "Add..." 버튼을 누르고 원하는 Windows 사용자 계정 또는 그룹을 선택해 줍니다. (물론, 이 단계에서 기존 TFS 그룹에 사용자를 포함시키지 않고 별도의 새로운 TFS 사용자 그룹을 만들어서 포함시켜 줄 수도 있습니다.)

howto_connect_to_tfs_12.png




3. 해당 사용자에 대한 버전 컨트롤의 보안 설정
만약, 해당 사용자를 TFS에 미리 정의된 "Readers" 그룹에 포함시켰다면 이 과정은 필요가 없습니다. 하지만, "사용자 정의 TFS 그룹"을 만들어서 윈도우즈 계정을 포함시킨 경우라면 이 단계에서 해당 "사용자 정의 TFS 그룹"에 대해서도 버전 컨트롤 보안 설정을 해줘야 합니다.



소스 코드를 열람하기 위해서는 Team Project와는 별도로 "소스 컨트롤"에 대해서도 보안 설정을 해줘야 합니다. 이를 위해서는 "Source Control Explorer"에서 해당 소스 컨트롤의 노드를 오른쪽 마우스 버튼으로 클릭해서 나오는 메뉴의 "Properties..."를 선택합니다. 그러면 대화창이 뜨게 되고, "Security" 탭을 누르면 다음과 같은 화면이 보입니다.

howto_connect_to_tfs_13.png

"읽기 권한"을 주게 될 계정 또는 그룹을 입력하고 "Permission"에는 "Read"만을 허용한 상태에서 확인을 눌러줍니다.




4. 해당 사용자에 대한 Area 보안 설정
이번 과정 역시 버전 컨트롤 설정과 마찬가지로 해당 사용자를 TFS에 미리 정의된 "Readers" 그룹에 포함시켰다면 이 과정은 필요가 없습니다.



"작업 항목"에 대한 열람 권한을 주기 위해서는 "Area" 영역에 대해 보안 권한을 주어야 합니다. 이를 위해서 "Team" / "Team Project Settings" - "Areas and Iterations..." 메뉴를 선택하여 다음과 같은 대화창을 실행합니다.

howto_connect_to_tfs_14.png

대화창의 우측 하단에 보이는 "Security..." 버튼을 누르면 다음과 같이 보안 설정을 하는 대화창이 뜨게 됩니다.

howto_connect_to_tfs_15.png

만약 WorkItem을 추가하고 싶은 경우라면, 위에서 "Edit work items in this node"를 선택해 줘야 합니다.




5. 해당 사용자에 대한 WSS 사이트 보안 설정
TFS와는 별도로, WSS 웹 사이트의 보안 설정을 해줘야 합니다. 사실, TFS 그룹조차도 연동이 안되는 것 같은데요. 일례로, TFS에서 새로운 사용자 그룹을 추가해도 WSS 웹 사이트에는 보이지 않습니다. (개인적으로, 이 부분이 참 아쉬운 부분 같습니다.)

일단, 보안 설정을 위해서는 해당 Team Project와 연결된 포탈 사이트로 접속을 해야 합니다. 이를 위해서는 "Team" / "Show Project Portal..." 메뉴를 선택합니다. 그런 후에는 "/sites/[TeamProject 이름]/_layouts/1033/webadmin.aspx" 사이트로 접속을 하면 사용자/그룹을 추가/생성/삭제할 수 있는 웹 페이지가 나옵니다.

howto_connect_to_tfs_16.png

여기서 "Manage users" 링크를 선택하고 이후 나타나는 화면에서 지시하는 데로 사용자를 추가해 주면 됩니다. 보통 읽기를 목적으로 하는 경우 "Readers" 그룹에 포함시켜주면 되지만, 만약 사용자 정의 TFS 그룹을 만들었다면 "Manage users"를 선택하기 이전에 "Manage site groups"를 선택해서 비슷한 역할의 그룹을 만들어서 사용자 추가를 해줄 수도 있습니다.




6. 해당 사용자에 대한 Report Server 보안 설정
마지막 단계로, "Report Server"에 대한 보안 설정이 남았습니다. 역시 이것도 TFS 그룹과는 아무런 관련이 없으며 Windows 사용자 계정에 의한 설정으로 직접 "Reports" 서비스로부터 제공되는 웹 사이트에 접속해서 보안 설정을 해줘야 합니다.

TFS의 AppTier 측 서버에 로그온 한 후, 웹 브라우저를 이용하여 "http://127.0.0.1/Reports/"로 접속하면, 화면에 현재 TFS에 등록된 프로젝트들이 나열되게 됩니다. 이때 원하는 Team Project를 선택하고 들어가면 아래와 같은 화면으로 바뀌게 됩니다.

howto_connect_to_tfs_17.png

"속성" 탭을 선택하면 "일반", "보안" 메뉴가 나오게 되는데, 이 중에서 "보안" 탭을 선택해주면 다음과 같은 화면으로 바뀌게 됩니다.

howto_connect_to_tfs_18.png

이제, "항목 보안 편집" 메뉴를 선택하면 "새 역할 할당" 버튼이 다시 나타나게 됩니다. 다시 "새 역할 할당" 버튼을 선택해 주면 최종적으로 윈도우즈 사용자 그룹 또는 계정에 대해 Report Services에 대한 권한을 할당해주는 화면이 나옵니다.

howto_connect_to_tfs_19.png

위와 같이 적절한 권한을 주고 확인 버튼을 눌러주면 모든 것이 완료됩니다. 이제 해당 사용자 계정으로 TFS 서버의 Team Project에 접속하게 되면 아래와 같은 식의 화면이 나오게 됩니다.

howto_connect_to_tfs_8_ok.png

반면에 아래에서 보는 것처럼 폴더 아이콘에 빨간색의 "X" 마크가 있으면, 지금까지의 과정에서 해당 작업에 대한 설정에 오류가 있음을 나타냅니다.

howto_connect_to_tfs_8_error.png




[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/23/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  [72]  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12136정성태2/6/202017368Windows: 168. Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우
12135정성태2/6/202022623개발 환경 구성: 468. Nuget 패키지의 로컬 보관 폴더를 옮기는 방법 [2]
12134정성태2/5/202021023.NET Framework: 884. eBEST XingAPI의 C# 래퍼 버전 - XingAPINet Nuget 패키지 [5]파일 다운로드1
12133정성태2/5/202018461디버깅 기술: 161. Windbg 환경에서 확인해 본 .NET 메서드 JIT 컴파일 전과 후 - 두 번째 이야기
12132정성태1/28/202021292.NET Framework: 883. C#으로 구현하는 Win32 API 후킹(예: Sleep 호출 가로채기) [1]파일 다운로드1
12131정성태1/27/202020257개발 환경 구성: 467. LocaleEmulator를 이용해 유니코드를 지원하지 않는(한글이 깨지는) 프로그램을 실행하는 방법 [1]
12130정성태1/26/202017509VS.NET IDE: 142. Visual Studio에서 windbg의 "Open Executable..."처럼 EXE를 직접 열어 디버깅을 시작하는 방법
12129정성태1/26/202023665.NET Framework: 882. C# - 키움 Open API+ 사용 시 Registry 등록 없이 KHOpenAPI.ocx 사용하는 방법 [3]
12128정성태1/26/202018030오류 유형: 591. The code execution cannot proceed because mfc100.dll was not found. Reinstalling the program may fix this problem.
12127정성태1/25/202017144.NET Framework: 881. C# DLL에서 제공하는 Win32 export 함수의 내부 동작 방식(VT Fix up Table)파일 다운로드1
12126정성태1/25/202018604.NET Framework: 880. C# - PE 파일로부터 IMAGE_COR20_HEADER 및 VTableFixups 테이블 분석파일 다운로드1
12125정성태1/24/202016080VS.NET IDE: 141. IDE0019 - Use pattern matching
12124정성태1/23/202017868VS.NET IDE: 140. IDE1006 - Naming rule violation: These words must begin with upper case characters: ...
12123정성태1/23/202019557웹: 39. Google Analytics - gtag 함수를 이용해 페이지 URL 수정 및 별도의 이벤트 생성 방법 [2]
12122정성태1/20/202015694.NET Framework: 879. C/C++의 UNREFERENCED_PARAMETER 매크로를 C#에서 우회하는 방법(IDE0060 - Remove unused parameter '...')파일 다운로드1
12121정성태1/20/202016372VS.NET IDE: 139. Visual Studio - Error List: "Could not find schema information for the ..."파일 다운로드1
12120정성태1/19/202018794.NET Framework: 878. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 네 번째 이야기(IL 코드로 직접 구현)파일 다운로드1
12119정성태1/17/202018992디버깅 기술: 160. Windbg 확장 DLL 만들기 (3) - C#으로 만드는 방법
12118정성태1/17/202020029개발 환경 구성: 466. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 세 번째 이야기 [1]
12117정성태1/15/202018881디버깅 기술: 159. C# - 디버깅 중인 프로세스를 강제로 다른 디버거에서 연결하는 방법파일 다운로드1
12116정성태1/15/202019533디버깅 기술: 158. Visual Studio로 디버깅 시 sos.dll 확장 명령어를 (비롯한 windbg의 다양한 기능을) 수행하는 방법
12115정성태1/14/202019796디버깅 기술: 157. C# - PEB.ProcessHeap을 이용해 디버깅 중인지 확인하는 방법파일 다운로드1
12114정성태1/13/202021559디버깅 기술: 156. C# - PDB 파일로부터 심벌(Symbol) 및 타입(Type) 정보 열거 [1]파일 다운로드3
12113정성태1/12/202021607오류 유형: 590. Visual C++ 빌드 오류 - fatal error LNK1104: cannot open file 'atls.lib' [1]
12112정성태1/12/202016828오류 유형: 589. PowerShell - 원격 Invoke-Command 실행 시 "WinRM cannot complete the operation" 오류 발생
12111정성태1/12/202020620디버깅 기술: 155. C# - KernelMemoryIO 드라이버를 이용해 실행 프로그램을 숨기는 방법(DKOM: Direct Kernel Object Modification) [16]파일 다운로드1
... 61  62  63  64  65  66  67  68  69  70  71  [72]  73  74  75  ...