Microsoft MVP성태의 닷넷 이야기
Team Foundation Server: 16. 팀 프로젝트 읽기 전용 사용자 등록 [링크 복사], [링크+제목 복사],
조회: 24210
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




... 91  92  93  94  95  96  97  [98]  99  100  101  102  103  104  105  ...
NoWriterDateCnt.TitleFile(s)
11484정성태4/11/201824703.NET Framework: 737. C# - async를 Task 타입이 아닌 사용자 정의 타입에 적용하는 방법파일 다운로드1
11483정성태4/10/201828008개발 환경 구성: 358. "Let's Encrypt"에서 제공하는 무료 SSL 인증서를 IIS에 적용하는 방법 (2) [1]
11482정성태4/10/201820454VC++: 126. CUDA Core 수를 알아내는 방법
11481정성태4/10/201832076개발 환경 구성: 357. CUDA의 인덱싱 관련 용어 - blockIdx, threadIdx, blockDim, gridDim
11480정성태4/9/201822110.NET Framework: 736. C# - API를 사용해 Azure에 접근하는 방법 [2]파일 다운로드1
11479정성태4/9/201817752.NET Framework: 735. Azure - PowerShell로 Access control(IAM)에 새로운 계정 만드는 방법
11478정성태11/8/201919976디버깅 기술: 115. windbg - 덤프 파일로부터 PID와 환경변수 등의 정보를 구하는 방법 [1]
11477정성태4/8/201817451오류 유형: 460. windbg - sos 명령어 수행 시 c0000006 오류 발생
11476정성태4/8/201819015디버깅 기술: 114. windbg - !threads 출력 결과로부터 닷넷 관리 스레드(System.Threading.Thread) 객체를 구하는 방법
11475정성태3/28/201821302디버깅 기술: 113. windbg - Thread.Suspend 호출 시 응용 프로그램 hang 현상에 대한 덤프 분석
11474정성태3/27/201819421오류 유형: 459. xperf: error: TEST.Event: Invalid flags. (0x3ec).
11473정성태3/22/201824585.NET Framework: 734. C# - Thread.Suspend 호출 시 응용 프로그램 hang 현상파일 다운로드2
11472정성태3/22/201818547개발 환경 구성: 356. GTX 1070, GTX 960, GT 640M의 cudaGetDeviceProperties 출력 결과
11471정성태3/20/201821929VC++: 125. CUDA로 작성한 RGB2RGBA 성능 [1]파일 다운로드1
11470정성태3/20/201824051오류 유형: 458. Visual Studio - CUDA 프로젝트 빌드 시 오류 C1189, expression must have a constant value
11469정성태3/19/201817057오류 유형: 457. error MSB3103: Invalid Resx file. Could not load file or assembly 'System.Windows.Forms, ...' or one of its dependencies.
11468정성태3/19/201816596오류 유형: 456. 닷넷 응용 프로그램 실행 시 0x80131401 예외 발생
11467정성태3/19/201816059오류 유형: 455. Visual Studio Installer - 업데이트 실패
11466정성태3/18/201817214개발 환경 구성: 355. 한 대의 PC에서 2개 이상의 DirectX 게임을 실행하는 방법
11463정성태3/15/201819557.NET Framework: 733. 스레드 간의 read/write 시에도 lock이 필요 없는 경우파일 다운로드1
11462정성태3/14/201822413개발 환경 구성: 354. HTTPS 호출에 대한 TLS 설정 확인하는 방법 [1]
11461정성태3/13/201825034오류 유형: 454. 윈도우 업데이트 설치 오류 - 0x800705b4 [1]
11460정성태3/13/201817522디버깅 기술: 112. windbg - 닷넷 메모리 덤프에서 전역 객체의 내용을 조사하는 방법
11459정성태3/13/201818342오류 유형: 453. Debug Diagnostic Tool에서 mscordacwks.dll을 찾지 못하는 문제
11458정성태2/21/201819318오류 유형: 452. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. [1]
11457정성태2/17/201824020.NET Framework: 732. C# - Task.ContinueWith 설명 [1]파일 다운로드1
... 91  92  93  94  95  96  97  [98]  99  100  101  102  103  104  105  ...