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

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  25  26  27  [28]  29  30  ...
NoWriterDateCnt.TitleFile(s)
13240정성태2/1/202311388디버깅 기술: 187. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.Web.HttpException
13239정성태2/1/202310733디버깅 기술: 186. C# - CacheDependency의 숨겨진 예외 - System.Web.HttpException
13238정성태1/31/202315057.NET Framework: 2092. IIS 웹 사이트를 TLS 1.2 또는 TLS 1.3 프로토콜로만 운영하는 방법
13237정성태1/30/202314333.NET Framework: 2091. C# - 웹 사이트가 어떤 버전의 TLS/SSL을 지원하는지 확인하는 방법
13236정성태1/29/202313129개발 환경 구성: 663. openssl을 이용해 인트라넷 IIS 사이트의 SSL 인증서 생성
13235정성태1/29/202312609개발 환경 구성: 662. openssl - 윈도우 환경의 명령행에서 SAN 적용하는 방법
13234정성태1/28/202315037개발 환경 구성: 661. dnSpy를 이용해 소스 코드가 없는 .NET 어셈블리의 코드를 변경하는 방법 [1]
13233정성태1/28/202316179오류 유형: 840. C# - WebClient로 https 호출 시 "The request was aborted: Could not create SSL/TLS secure channel" 예외 발생
13232정성태1/27/202312078스크립트: 43. uwsgi의 --processes와 --threads 옵션
13231정성태1/27/202311305오류 유형: 839. python - TypeError: '...' object is not callable
13230정성태1/26/202312056개발 환경 구성: 660. WSL 2 내부로부터 호스트 측의 네트워크로 UDP 데이터가 1개의 패킷으로만 제한되는 문제
13229정성태1/25/202313965.NET Framework: 2090. C# - UDP Datagram의 최대 크기
13228정성태1/24/202314509.NET Framework: 2089. C# - WMI 논리 디스크가 속한 물리 디스크의 정보를 얻는 방법 [2]파일 다운로드1
13227정성태1/23/202313414개발 환경 구성: 659. Windows - IP MTU 값을 바꿀 수 있을까요? [1]
13226정성태1/23/202312360.NET Framework: 2088. .NET 5부터 지원하는 GetRawSocketOption 사용 시 주의할 점
13225정성태1/21/202311712개발 환경 구성: 658. Windows에서 실행 중인 소켓 서버를 다른 PC 또는 WSL에서 접속할 수 없는 경우
13224정성태1/21/202312194Windows: 221. Windows - Private/Public/Domain이 아닌 네트워크 어댑터 단위로 방화벽을 on/off하는 방법
13223정성태1/20/202312102오류 유형: 838. RDP 연결 오류 - The two computers couldn't connect in the amount of time allotted
13222정성태1/20/202311959개발 환경 구성: 657. WSL - DockerDesktop.vhdx 파일 위치를 옮기는 방법
13221정성태1/19/202312166Linux: 57. C# - 리눅스 프로세스 메모리 정보파일 다운로드1
13220정성태1/19/202311921오류 유형: 837. NETSDK1045 The current .NET SDK does not support targeting .NET ...
13219정성태1/18/202311475Windows: 220. 네트워크의 인터넷 접속 가능 여부에 대한 판단 기준
13218정성태1/17/202311340VS.NET IDE: 178. Visual Studio 17.5 (Preview 2) - 포트 터널링을 이용한 웹 응용 프로그램의 외부 접근 허용
13217정성태1/13/202312061디버깅 기술: 185. windbg - 64비트 운영체제에서 작업 관리자로 뜬 32비트 프로세스의 덤프를 sos로 디버깅하는 방법
13216정성태1/12/202311932디버깅 기술: 184. windbg - 32비트 프로세스의 메모리 덤프인 경우 !peb 명령어로 나타나지 않는 환경 변수
13215정성태1/11/202314967Linux: 56. 리눅스 - /proc/pid/stat 정보를 이용해 프로세스의 CPU 사용량 구하는 방법 [1]
... 16  17  18  19  20  21  22  23  24  25  26  27  [28]  29  30  ...