none
서로 다른 망에 존재하는 TFS 서버에 연결하려면? RRS feed

  • 일반 토론

  • TFS 서버(응용 프로그램 계층 데이터 계층) TF 클라이언트 머신이 서로 다른 망에 존재하며 각각의 도메인에 속하고 있습니다. TF 클라이언트에서 해당 도메인 계정으로 로그인한 , TFS 서버에 연결하려면 어떤 작업이 필요할까요?

    기본 필요사항:

    먼저 필요한 작업은, TFS 서버의 응용 프로그램 계층에 연결하려면 8080, 443 포트가 열려야 합니다. (여기에 Team portal/Reporting 사용 경우 80 포트가 추가로 열려야 하며, Sharepoint 사용하면 Sharepoint Central Administration 포트가 열려야 합니다)

    참조: https://docs.microsoft.com/ko-kr/vsts/tfs-server/architecture/architecture

    도메인 사용자로서 연결 방법:

    TF 클라이언트 사용자 쪽에 존재하는 Domain controller (DC1으로 가정) 존재한다면 사용자는 먼저 DC1 대하여 인증(authentication) , 인증 토큰을 가지고 TFS 서버에 연결하게 됩니다. 그러나 TFS 서버가 존재하는 망에는 다른 DC ( DC2 가정) 있으므로 DC2 DC1 대하여 One-way Trust 관계 맺어야만 DC2에서 인증된 사용자의 연결을 허용합니다.

    One-way Trust 방향은 DC2에서 DC1으로의 방향입니다.

    Trust맺기 위해서 port열어줘야 하는 부분 다음 문서에 안내됩니다.

    https://support.microsoft.com/ko-kr/help/179442/how-to-configure-a-firewall-for-domains-and-trusts (한글)

    https://support.microsoft.com/en-us/help/179442/how-to-configure-a-firewall-for-domains-and-trusts (영문 원문)

    또한, one-way trust 맺은 경우에는 TFS 사용상의 다음 제한이 존재합니다.

    • TFS 사용자 그룹에 DC1 하의 사용자를 추가할 없습니다.
    • source control 폴더에 Active Directory 그룹을 추가할 없습니다.
    • DC1하의 사용자가 빌드를 initiate하거나 관리할 없습니다.
    • DC1하의 사용자가 새로운 프로젝트를 생성할 없습니다.
    • DC1하의 사용자가 테스트 결과를 TFS 서버로 publish 없습니다.

    기능 제한을 없애려면 two-way trust맺어져야 합니다.

    또한, 보안을 위해서는 SSL 사용이 가능하도록 설정 필요합니다. 그렇지 않으면 기본 인증 정보가 clear text 전송되기 때문입니다.

    SSL 위해서는 인증서 TFS 서버와 클라이언트 양쪽에 설치되어야 하며 TFS 서버의 IIS 관리 콘솔에서 알맞게 설정되어야 합니다. (빌드 서버가 별도로 존재한다면 빌드 서버에서도 설정이 필요합니다) SSL 연결을위한 port (숫자는 unique port number 지정 필요) firewall에서 양방향으로 열려야 합니다. 자세한 스텝은 “Walkthrough: Setting up Team Foundation Server to Require HTTPS and Secure Sockets Layer (SSL)” at http://msdn.microsoft.com/en-us/library/aa833873(VS.80).aspx 참조하십시오.

    (아래에 계속..)





    • 편집됨 Jng.Kim 2018년 3월 7일 수요일 오전 8:42
    2018년 3월 7일 수요일 오전 8:25

모든 응답

  • Mirrored account로서연결방법:

    도메인간 trust 맺기 어려운 환경이라면 도메인 사용자로서가 아닌 mirrored account 이용한 연결 방법이 있습니다.

    , 클라이언트 쪽에서 워크그룹 사용자 계정으로 TFS 연결할 사용자 계정과 TFS상의 사용자 이름과 암호가 동일하면 이를 통과시키게 됩니다. 이러한 계정으로 mirrored account라고 합니다. 그러나 사용자 이름과 암호가 동일하도록 관리가 필요한 방법입니다.

    you can use workgroup accounts with matching usernames and passwords on the TFS, the TFS Proxy, and each of the remote client computers. The fact that you need to maintain the exact username/password match for all users in three different locations increases administration time and restricts this workaround to small remote teams.

    구성은 TF 클라이언트와 TFS 서버가 각각 (워크그룹/워크그룹), (도메인/워크그룹), (워크그룹/도메인) 중에서 한가지 형태가 가능합니다. 참조: https://msdn.microsoft.com/en-us/library/ms252507(v=vs.110).aspx

    또한, (도메인/도메인) 형태라도 로컬 계정인 mirrored account 사용자 이름과 암호를 넣어 TFS 연결하는 것이 가능합니다.

    예를 들어 다음과 같은 순서로 연결할 있습니다.

    1. TF 클라이언트와 TFS 서버 NTLM위한 동적 포트 open합니다.

    https://technet.microsoft.com/en-us/library/cc780332(v=ws.10).aspx#w2k3tr_intlg_how_unsl

    2. TFS 서버에서 사용할 로컬 계정을 생성하고, 생성한 로컬 계정에 대하여 Team project 적절한 권한을 설정합니다.

    3. 클라이언트에서 2번에서 생성한 동일한 사용자 이름과 암호로 로컬 계정을 생성합니다.

    4. 클라이언트에서 3번에서 생성한 로컬 계정으로 로그온하고 TFS 연결합니다.

    5. 처음 tfs 연결할 때에는 username, password 입력창이 것입니다. 3번에서 생성한 클라이언트의 로컬 계정(machinename\username) 암호를 넣습니다.



    • 편집됨 Jng.Kim 2018년 3월 7일 수요일 오전 8:37
    2018년 3월 7일 수요일 오전 8:25