TFSSecurity를 사용하여 Azure DevOps에 대한 그룹 및 권한 관리

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

TFSSecurity 명령줄 도구를 사용하여 Azure DevOps Server 그룹 및 사용자를 만들고, 수정하고, 삭제하고, 그룹 및 사용자에 대한 사용 권한을 추가로 수정할 수 있습니다. 사용자 인터페이스에서 이러한 작업을 수행하는 방법에 대한 자세한 내용은 프로젝트에 사용자 또는 그룹 추가를 참조하세요.

중요

TFSSecurity 명령줄 도구는 Azure DevOps Services 사용하기 위해 더 이상 사용되지 않습니다. TFSSecurity는 일부 Azure DevOps Services 시나리오에서 작동할 수 있지만 지원되지 않습니다. Azure DevOps Services 보안 그룹 및 사용 권한을 변경하는 데 권장되는 방법은 웹 포털, az devops 보안 또는 az devops권한 명령줄 도구 또는 보안 REST API를 사용하는 것입니다.

명령줄 도구 위치

Azure DevOps 명령줄 도구는 Azure DevOps 애플리케이션 계층 서버의 /Tools 디렉터리에 설치됩니다.

  • 2020년 Azure DevOps Server:%programfiles%\Azure DevOps Server 2020\Tools
  • Azure DevOps Server 2019:%programfiles%\Azure DevOps Server 2019\Tools
  • TFS 2018: %programfiles%\Microsoft Team Foundation Server 2018\Tools
  • TFS 2017: %programfiles%\Microsoft Team Foundation Server 15.0\Tools
  • TFS 2015: %programfiles%\Microsoft Team Foundation Server 14.0\Tools
  • TFS 2013: %programfiles%\Microsoft Team Foundation Server 12.0\Tools
  • TFS 2012: %programfiles%\Microsoft Team Foundation Server 11.0\Tools
  • TFS 2010: %programfiles%\Microsoft Team Foundation Server 2010\Tools

참고

관리자 자격 증명으로 로그온한 경우에도 이 기능을 실행하려면 관리자 권한 명령 프롬프트를 열어야 합니다.

사용 권한

/a+: 권한 추가

/a+를 사용하여 서버 수준, 컬렉션 수준 또는 프로젝트 수준 그룹의 사용자 또는 그룹에 대한 권한을 추가합니다. 웹 포털에서 그룹에 사용자를 추가하려면 프로젝트 또는 컬렉션 수준에서 권한 설정을 참조하세요.

tfssecurity /a+ Namespace Token Action Identity (ALLOW | DENY)[/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/a+ 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지에 따라 뷰 컬렉션 수준 정보 또는 보기 인스턴스 수준 정보 권한이 허용으로 설정되어 있어야 합니다. 프로젝트에 대한 사용 권한을 변경하는 경우 프로젝트에 대한 프로젝트 수준 정보 편집 권한도 허용으로 설정해야 합니다. 자세한 내용은 사용 권한 및 그룹 참조를 참조하세요.

매개 변수

인수 Description
네임스페이스 사용자 또는 그룹에 대한 권한을 추가하려는 그룹이 포함된 네임스페이스입니다. tfssecurity /a 명령을 사용하여 서버, 컬렉션 및 프로젝트 수준에서 네임스페이스 목록을 볼 수도 있습니다.
ID 사용자나 그룹의 ID입니다. ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
  • 허용
    그룹 또는 사용자는 작업이 지정하는 작업을 수행할 수 있습니다.
  • DENY
    그룹 또는 사용자가 작업에서 지정한 작업을 수행할 수 없습니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

액세스 제어 엔트리는 사용자, 그룹, 서비스 또는 컴퓨터가 수행할 수 있는 작업을 결정하는 보안 메커니즘입니다.

예: 사용 가능한 네임스페이스 표시

다음 예제에서는 ADatumCorporation이라는 애플리케이션 계층 서버의 서버 수준에서 사용할 수 있는 네임스페이스를 표시합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /a /server:ServerURL 

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

예: 사용 가능한 작업 표시

다음 예제에서는 컬렉션 수준에서 서버 수준 네임스페이스에 사용할 수 있는 작업을 표시합니다.

tfssecurity /a Server /collection:CollectionURL 

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

예: 인스턴스 수준 권한 할당

다음 예제에서는 Datum1 도메인 사용자 John Peoples(Datum1\jpeoples)에 대한 ADatumCorporation 배포에 서버 수준 뷰 인스턴스 수준 정보 권한을 부여합니다.

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
      [+] GenericRead                        DATUM1\jpeoples

    Done.

예: 컬렉션 수준 권한 할당

다음 예제에서는 Datum1 도메인 사용자 John Peoples(Datum1\jpeoples)에 대한 Collection0 프로젝트 컬렉션에 컬렉션 수준 뷰 컬렉션 수준 정보 권한을 부여합니다.

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts
      [+] GenericRead                        DATUM1\jpeoples

    Done.

/a-: 그룹의 멤버 자격에서 사용자 또는 그룹 제거

/a- 명령을 사용하여 서버 수준, 컬렉션 수준 또는 프로젝트 수준 그룹의 멤버 자격에서 사용자 또는 그룹을 제거합니다. 웹 포털에서 그룹에서 사용자를 제거하려면 사용자 계정 제거를 참조하세요.

tfssecurity /a- Namespace Token Action Identity (ALLOW | DENY) [/collection:CollectionURL] [/server:ServerURI]

사전 요구 사항

/a- 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지 여부에 따라 뷰 컬렉션 수준 정보 또는 View 인스턴스 수준 정보 권한이 허용으로 설정되어 있어야 합니다. 프로젝트에 대한 사용 권한을 변경하는 경우 프로젝트에 대한 프로젝트 수준 정보 편집 권한도 허용으로 설정해야 합니다.

매개 변수

인수 Description
네임스페이스 사용자 또는 그룹에 대한 사용 권한을 제거할 그룹이 포함된 네임스페이스입니다. tfssecurity /a 명령을 사용하여 서버, 컬렉션 및 프로젝트 수준에서 네임스페이스 목록을 볼 수도 있습니다.
ID 사용자나 그룹의 ID입니다. ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
  • 허용
    그룹 또는 사용자는 작업이 지정하는 작업을 수행할 수 있습니다.
  • DENY
    그룹 또는 사용자가 작업에서 지정한 작업을 수행할 수 없습니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

액세스 제어 엔트리는 컴퓨터 또는 서버에서 사용자, 그룹, 서비스 또는 컴퓨터가 수행할 수 있는 작업을 결정하는 보안 메커니즘입니다.

예: 서버 수준 네임스페이스 표시

다음 예제에서는 ADatumCorporation이라는 응용 프로그램 계층 서버에 대해 서버 수준에서 사용할 수 있는 네임스페이스를 표시합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /a /server:ServerURL 

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

예: 컬렉션 수준 사용 가능한 작업 표시

다음 예제에서는 컬렉션 수준에서 서버 네임스페이스에 사용할 수 있는 작업을 표시합니다.

tfssecurity /a Server /collection:CollectionURL 

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

예: 인스턴스 수준 권한 제거

다음 예제에서는 Datum1 도메인 사용자 John Peoples(Datum1\jpeoples)에 대한 ADatumCorporation 배포에 대한 서버 수준 보기 인스턴스 수준 정보 권한을 제거합니다.

tfssecurity /a- Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators

    Done.

예: 컬렉션 수준 권한 제거

다음 예제에서는 Datum1 도메인 사용자 John Peoples(Datum1\jpeoples)에 대한 Collection0 프로젝트 컬렉션에 대한 컬렉션 수준 뷰 컬렉션 수준 정보 권한을 제거합니다.

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts

    Done.

/acl: 액세스 제어 목록 표시

/acl을 사용하여 특정 개체에 적용되는 액세스 제어 목록을 표시합니다.

tfssecurity /acl Namespace Token [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/acl 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지에 따라 뷰 컬렉션 수준 정보 또는 보기 인스턴스 수준 정보 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 Azure DevOps Server 대한 사용 권한 참조를 참조하세요.

매개 변수

인수 Description
네임스페이스 사용자 또는 그룹에 대한 사용 권한을 보려는 그룹이 포함된 네임스페이스입니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

액세스 제어 엔트리는 컴퓨터 또는 서버에서 사용자, 그룹, 서비스 또는 컴퓨터가 수행할 수 있는 작업을 결정하는 보안 메커니즘입니다.

예: 서버 수준 네임스페이스에 대한 ACL 할당 나열

다음 예제에서는 ADatumCorporation 배포 내의 서버 네임스페이스에서 FrameworkGlobalSecurity 토큰에 액세스할 수 있는 사용자 및 그룹을 표시합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

샘플 출력:

	TFSSecurity - Team Foundation Server Security Tool
	Copyright (c) Microsoft Corporation.  All rights reserved.
	The target Team Foundation Server is http://ADatumCorporation:8080/.
	Retrieving the access control list for object "Server"...

	Effective ACL on object "FrameworkGlobalSecurity":
	  [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
	  [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
	  [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
	  [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
	  [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
	  [+] GenericRead                        DATUM1\jpeoples

	Done.

그룹

/g: 그룹 나열

/g를 사용하여 프로젝트, 프로젝트 컬렉션 또는 Azure DevOps Server 그룹을 나열합니다.

tfssecurity /g [scope] [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/g 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지 여부에 따라 View 컬렉션 수준 정보 또는 보기 인스턴스 수준 정보 권한이 허용으로 설정되어 있어야 합니다. 단일 프로젝트의 범위 내에서 /g 명령을 사용하려면 프로젝트 수준 정보 보기 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 사용 권한 및 그룹 참조를 참조하세요.

매개 변수

인수 Description
scope 선택 사항입니다. 그룹을 표시할 프로젝트의 URI를 지정합니다. 프로젝트의 URI를 가져오려면 팀 탐색기를 열고 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 URL에 대한 전체 항목을 복사합니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

TFSSecurity 명령줄 유틸리티의 /g 명령은 선택한 범위 내의 모든 그룹에 대한 정보를 표시합니다. 이 범위는 프로젝트 컬렉션(/서버) 또는 애플리케이션 계층 서버(/인스턴스)일 수 있습니다. 프로젝트의 범위와 함께 사용하면 해당 프로젝트와 연결된 그룹에 대한 정보만 표시됩니다.

예: 컬렉션 수준 그룹 정보 표시

다음 예제에서는 프로젝트 컬렉션 내의 모든 그룹에 대한 정보를 표시합니다.

tfssecurity /g /collection:CollectionURL

/g+: 기존 그룹에 사용자 또는 다른 그룹 추가

/g+를 사용하여 기존 그룹에 사용자 또는 다른 그룹을 추가합니다.

tfssecurity /g+ groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/g+ 명령을 사용하려면 /collection 또는 /server 매개 변수를 사용하는지 여부에 따라 컬렉션 수준 정보 보기 및 컬렉션 수준 정보 편집 또는 인스턴스 수준 정보 보기 및 인스턴스 수준 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
groupIdentity 그룹 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
memberIdentity 멤버 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

팀 탐색기를 사용하여 기존 그룹에 사용자 및 그룹을 추가할 수도 있습니다. 자세한 내용은 프로젝트 또는 컬렉션 수준에서 사용 권한 설정을 참조하세요.

예: 서버 수준 그룹에 사용자 추가

다음 예제에서는 Datum1 도메인 사용자 John Peoples(Datum1\jpeoples)를 Team Foundation Administrators 그룹에 추가합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /g+ "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding John Peoples to [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    4 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/g-: 사용자 또는 그룹 제거

/g-를 사용하여 기존 그룹에서 사용자 또는 사용자 그룹을 제거합니다.

tfssecurity /g- groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/g- 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지에 따라 컬렉션 수준 정보 보기 및 컬렉션 수준 정보 편집 또는 인스턴스 수준 정보 보기 및 인스턴스 수준 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
groupIdentity 그룹 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
memberIdentity 멤버 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

팀 탐색기를 사용하여 기존 그룹에 사용자 및 그룹을 추가할 수도 있습니다. 자세한 내용은 프로젝트 그룹에서 사용자 제거 또는 프로젝트또는 컬렉션 수준에서 사용 권한 설정을 참조하세요.

예: 서버 수준 그룹에서 사용자 제거

다음 예제에서는 Datum1 도메인 사용자 John Peoples(Datum1\jpeoples)를 Team Foundation Administrators 그룹에서 제거합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /g- "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing John Peoples from [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    3 member(s):
      [U] Datum1\hholt (Holly Holt)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/gc: 프로젝트 수준 그룹 만들기

명령 프롬프트에서 /gc 를 사용하여 프로젝트 수준 그룹을 만듭니다. 사용자 인터페이스에서 프로젝트 수준 그룹을 만들려면 사용자 또는 그룹 관리를 참조하세요.

tfssecurity /gc Scope GroupName [GroupDescription] [/collection:CollectionURL]

사전 요구 사항

/gc 명령을 사용하려면 해당 프로젝트에 대한 Project-Level 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 사용 권한 참조를 참조하세요.

매개 변수

인수 Description
범위 프로젝트 수준 그룹을 추가할 프로젝트의 URI입니다. 프로젝트의 URI를 가져오려면 프로젝트에 연결하고 팀 탐색기를 열고 홈에 있는 프로젝트 이름을 마우스로 가리키고 주소를 읽습니다. 또는 웹 액세스에서 프로젝트에 연결하고 URL을 복사합니다.
GroupName 새 그룹의 이름입니다.
GroupDescription 프로젝트 그룹의 설명입니다. (선택 사항)
/collection :CollectionURL 프로젝트 컬렉션의 URL입니다. 필수 요소. 그룹이 프로젝트 컬렉션 내에 만들어집니다. URL의 형식은 http:// ServerName : Port / VirtualDirectoryName CollectionName / 입니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

프로젝트 수준 그룹은 프로젝트의 보안 그룹입니다. 프로젝트 그룹을 사용하여 조직의 보안 요구 사항을 충족하는 읽기, 쓰기 및 관리 권한을 부여할 수 있습니다.

예: 프로젝트에 보안 그룹 추가

다음 예에서는 "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000" URI가 지정하는 프로젝트에 사용되는 그룹을 만듭니다. 이 그룹의 이름은 "Test Group"이고 설명은 "This group is for testing."입니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

자리 표시자 GUID를 이 그룹을 만들 프로젝트의 URI로 바꿔야 합니다. 프로젝트의 URI를 가져오려면 팀 탐색기를 열고 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 URL 속성의 전체 값을 복사합니다.

명령을 실행한 후 팀 탐색기에서 그룹을 확인할 수 있습니다. 명령에서 사용한 프로젝트를 마우스 오른쪽 단추로 클릭하고 프로젝트 설정을 클릭한 다음 그룹 멤버 자격을 클릭합니다. TeamProjectName의 프로젝트 그룹 대화 상자 그룹 목록에 Test Group이 포함되어 있습니다.

참고

/gc 명령을 사용하여 그룹을 만들 수 있지만 그룹에 사용자를 추가하거나 사용 권한을 할당할 수는 없습니다. 그룹의 멤버 자격을 변경하려면 /g+: 기존 그룹에 사용자 또는 다른 그룹 추가/g-: 사용자 또는 그룹 제거를 참조하세요. 그룹에 대한 사용 권한을 변경하려면 /a+: 권한 추가/a-: 그룹의 멤버 자격에서 사용자 또는 그룹 제거를 참조하세요.

tfssecurity /gc "vstfs:///Classification/TeamProject/00000000-0000-0000-0000-000000000000" "Test Group" "This group is for team members who test our code" /collection:CollectionURL

/gcg: 서버 또는 컬렉션 수준 그룹 만들기

/gcg 명령을 사용하여 서버 수준 또는 컬렉션 수준 그룹을 만듭니다. 웹 포털에서 컬렉션 수준 그룹을 만들려면 프로젝트 또는 컬렉션 수준에서 사용 권한 설정을 참조하세요.

tfssecurity /gcg GroupName [GroupDescription] [/collection:CollectionURL] [/server:ServerURL]`

사전 요구 사항

/gcg 명령을 사용하려면 해당 프로젝트에 대한 프로젝트 수준 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
GroupName 그룹 이름입니다.
GroupDescription 그룹 설명입니다. (선택 사항)
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

서버 수준 그룹은 애플리케이션 계층에서 직접 만들어지고 모든 프로젝트 컬렉션에 적용됩니다. 컬렉션 수준은 프로젝트 컬렉션 수준에서 만들어집니다. 해당 컬렉션에 적용되며 컬렉션 내의 모든 프로젝트에 영향을 줍니다. 반면 프로젝트 그룹은 컬렉션 내의 특정 프로젝트에 적용되지만 해당 컬렉션의 다른 프로젝트는 적용되지 않습니다. 서버 수준 그룹에 권한을 할당하여 해당 그룹의 구성원이 프로젝트 컬렉션 만들기와 같은 Azure DevOps Server 자체에서 작업을 수행할 수 있도록 할 수 있습니다. 이러한 그룹의 멤버가 사용자 관리와 같은 프로젝트 컬렉션에서 작업을 수행할 수 있도록 컬렉션 수준 그룹에 권한을 할당할 수 있습니다.

참고

/gcg 명령을 사용하여 그룹을 만들 수 있지만 그룹에 사용자를 추가하거나 사용 권한을 할당하는 데 사용할 수는 없습니다. 그룹의 멤버 자격을 변경하는 방법에 대한 자세한 내용은 /g+: 기존 그룹에 사용자 또는 다른 그룹 추가/g-: 사용자 또는 그룹 제거를 참조하세요. 그룹에 대한 사용 권한을 변경하는 방법에 대한 자세한 내용은 /a+: 권한 추가/a-: 그룹의 멤버 자격에서 사용자 또는 그룹 제거를 참조하세요.

예: 컬렉션 수준 보안 그룹 추가

다음 예제에서는 "A" 설명을 사용하여 "Datum Testers"라는 컬렉션 수준 그룹을 만듭니다. Datum Corporation 테스터."

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /gcg "Datum Testers" "A. Datum Corporation Testers" /collection:CollectionURL

다음 예제에서는 "A"라는 설명과 함께 "Datum 감사자"라는 서버 수준 그룹을 만듭니다. Datum Corporation 감사자"

tfssecurity /gcg "Datum Auditors" "A. Datum Corporation Auditors" /server:ServerURL

/gd: 서버 또는 컬렉션 수준 그룹 삭제

/gd를 사용하여 서버 수준 또는 컬렉션 수준 그룹을 삭제합니다.

tfssecurity /gd groupIdentity [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/gd 명령을 사용하려면 /collection 또는 /server 매개 변수를 사용하는지 여부에 따라 컬렉션 수준 정보 보기 및 컬렉션 수준 정보 편집 또는 인스턴스 수준 정보 보기 및 인스턴스 수준 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
groupIdentity 그룹 ID를 지정합니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다. 웹 포털을 통해 사용 권한을 수정하려면 프로젝트 또는 컬렉션 수준에서 사용 권한 설정을 참조하세요.

예: 컬렉션 수준 보안 그룹 삭제

다음 예제에서는 프로젝트 컬렉션에서 그룹을 삭제합니다. 이 그룹은 "S-1-5-21-2127521184-1604012920-1887927527-588340", SID(보안 식별자)로 식별됩니다. 그룹의 SID를 찾는 방법에 대한 자세한 내용은 /im: 직접 멤버 자격을 구성하는 ID에 대한 정보를 표시합니다. 친숙한 이름을 사용하여 그룹을 삭제할 수도 있습니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /gd S-1-5-21-2127521184-1604012920-1887927527-588340 /collection:CollectionURL

/gud: 서버 또는 컬렉션 수준 그룹의 설명 변경

/gud를 사용하여 서버 수준 또는 컬렉션 수준 그룹에 대한 설명을 변경합니다.

tfssecurity /gud GroupIdentity GroupDescription [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/gud 명령을 사용하려면 프로젝트 수준 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
GroupIdentity 그룹 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
GroupDescription 그룹에 대한 새 설명을 지정합니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

예: 보안 그룹에 설명 추가

다음 예제에서는 "이 그룹의 멤버가 이 프로젝트의 코드를 테스트합니다."라는 설명을 "Datum Testers" 그룹과 연결합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /gud "Datum Testers" "The members of this group test the code for this project" /collection:CollectionURL

/gun: 그룹 이름 바꾸기

/gun을 사용하여 서버 수준 또는 컬렉션 수준 그룹의 이름을 바꿉니다.

tfssecurity /gun GroupIdentity GroupName [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/gun 명령을 사용하려면 /collection 또는 /server 매개 변수를 사용하는지 여부에 따라 컬렉션 수준 정보 보기 및 컬렉션 수준 정보 편집 또는 인스턴스 수준 정보 보기 및 인스턴스 수준 정보 편집 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
GroupIdentity 그룹 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
GroupName 그룹의 새 이름을 지정합니다.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필수입니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

예: 보안 그룹 이름 바꾸기

다음 예제에서는 컬렉션 수준 그룹 "A.의 이름을 바꿉니다. 데이텀 코퍼레이션 테스터"에서 "A. Datum Corporation 테스트 엔지니어"

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /gun "A. Datum Corporation Testers" "A. Datum Corporation Test Engineers" /collection:CollectionURL

ID 및 멤버 자격

/i: 지정된 그룹의 ID 정보 표시

/i를 사용하여 Azure DevOps Server 배포에서 지정된 그룹에 대한 ID 정보를 표시합니다.

tfssecurity /i Identity [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/i 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지 여부에 따라 View 컬렉션 수준 정보 또는 View 인스턴스 -level 정보 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
ID 사용자 또는 애플리케이션 그룹의 ID입니다. ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

TFSSecurity 명령줄 유틸리티의 /i 명령은 프로젝트 컬렉션(/server) 또는 애플리케이션 계층 서버(/인스턴스) 내의 각 그룹에 대한 정보를 표시합니다. 멤버 자격 정보는 표시되지 않습니다.

예: 보안 그룹에 대한 ID 정보 나열

다음 예제에서는 "Team Foundation Administrators" 그룹에 대한 ID 정보를 표시합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /i "Team Foundation Administrators" /server:ServerURL 

샘플 출력:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: Team Foundation Administrators
      Description: Members of this application group can perform all privileged operations on the server.

예: 보안 그룹에 대한 ID 정보 표시

다음 예제에서는 adm: ID 지정자를 사용하여 프로젝트 컬렉션 관리자 그룹에 대한 ID 정보를 표시합니다.

tfssecurity /i adm: /collection:CollectionURL 

샘플 출력:

    Resolving identity "adm:"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [DatumOne]\Project Collection Administrators
      Description: Members of this application group can perform all privileged operations on the project collection.

다음 예제에서는 adm: ID 지정자를 사용하여 "Datum" 프로젝트의 프로젝트 관리자 그룹에 대한 ID 정보를 표시합니다.

tfssecurity /i adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

샘플 출력:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Datum
     Display name: [Datum]\Project Administrators
      Description: Members of this application group can perform all operations in the project.

/im: 직접 멤버 자격을 구성하는 ID에 대한 정보 표시

/im을 사용하여 지정한 그룹의 직접 멤버 자격을 구성하는 ID에 대한 정보를 표시합니다.

tfssecurity /im Identity [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/im 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지에 따라 View 컬렉션 수준 정보 또는 보기 인스턴스 수준 정보 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
ID 사용자나 그룹의 ID입니다. ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

TFSSecurity/im 명령은 지정된 그룹의 직접 멤버만 표시합니다. 이 목록에는 지정된 그룹의 멤버인 다른 그룹도 포함됩니다. 그러나 멤버 그룹의 실제 멤버는 표시되지 않습니다.

예: 보안 그룹에 대한 멤버 자격 ID 표시

다음 예제에서는 가상 회사 "A. Datum Corporation"에서 "Datum1" 도메인에 있는 "Team Foundation Administrators" 그룹의 직접 멤버 자격 ID 정보를 표시합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /im "Team Foundation Administrators" /server:ServerURL

샘플 출력:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    3 member(s):
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

예: 보안 그룹에 대한 ID 정보 표시

다음 예제에서는 가상 회사 "A"의 도메인 "Datum1"에 있는 "DatumOne" 프로젝트 컬렉션에 있는 프로젝트 컬렉션 관리자 그룹에 대한 ID 정보를 표시합니다. adm: ID 지정자를 사용하여 가상 회사 "A. Datum Corporation"에서 "Datum1" 도메인의 "DatumOne" 팀 프로젝트 컬렉션에 있는 Project Collection Administrators 그룹의 ID 정보를 표시합니다.

tfssecurity /im adm: /collection:CollectionURL 

샘플 출력:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    5 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Colleciton Valid Users)

    Done.

예: ID 지정자를 사용하여 보안 그룹에 대한 ID 정보 표시

다음 예제에서는 가상 회사 "A"의 도메인 "Datum1"에 있는 "DatumOne" 프로젝트 컬렉션에 있는 "Datum" 프로젝트의 프로젝트 관리자 그룹에 대한 ID 정보를 표시합니다. adm: ID 지정자를 사용하여 가상 회사 "A. Datum Corporation"에서 "Datum1" 도메인의 "DatumOne" 팀 프로젝트 컬렉션에 있는 "Datum" 프로젝트에 대한 Project Administrators 그룹의 ID 정보를 표시합니다.

tfssecurity /im adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

샘플 출력:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

/imx: 확장된 멤버 자격의 ID에 대한 정보를 표시합니다.

/imx를 사용하여 지정된 그룹의 확장된 멤버 자격을 구성하는 ID에 대한 정보를 표시합니다.

tfssecurity /imx Identity [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/imx 명령을 사용하려면 /collection 또는 /server 매개 변수를 각각 사용하는지에 따라 뷰 컬렉션 수준 정보 또는 보기 인스턴스 수준 정보 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

매개 변수

인수 Description
ID 사용자나 그룹의 ID입니다. ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

Azure DevOps용 애플리케이션 계층 서버에서 이 명령을 실행합니다.

TFSSecurity/imx 명령은 지정된 그룹의 확장된 멤버만 표시합니다. 이 목록에는 지정된 그룹의 멤버로 소속된 다른 그룹뿐만 아니라 이 멤버 그룹의 멤버도 포함됩니다.

예: 보안 그룹에 대한 확장된 멤버 자격 정보 표시

다음 예제에서는 가상 회사 "A. Datum Corporation"에서 "Datum1" 도메인의 "Team Foundation Administrators" 그룹에 대한 확장된 멤버 자격 ID 정보를 Datum Corporation"에서 "Datum1" 도메인에 있는 "Team Foundation Administrators" 그룹의 직접 멤버 자격 ID 정보를 표시합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /imx "Team Foundation Administrators" /server:ServerURL

샘플 출력:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    10 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [U] Datum1\tommyh (Tommy Hartono)
      [U] Datum1\henriea (Henriette Andersen)
      [U] Datum1\djayne (Darcy Jayne)
      [U] Datum1\aprilr (April Reagan)
      [G] Datum1\InfoSec Secure Environment
      [U] Datum1\nbento (Nuno Bento)
      [U] Datum1\cristp (Cristian Petculescu)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 3 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

다음 예제에서는 가상 회사 "A"의 도메인 "Datum1"에 있는 "DatumOne" 프로젝트 컬렉션에 있는 프로젝트 컬렉션 관리자 그룹에 대한 ID 정보를 표시합니다. adm: ID 지정자를 사용하여 가상 회사 "A. Datum Corporation"에서 "Datum1" 도메인의 "DatumOne" 팀 프로젝트 컬렉션에 있는 "Datum" 프로젝트에 대한 Project Administrators 그룹의 ID 정보를 표시합니다.

tfssecurity /imx adm: /collection:CollectionURL 

샘플 출력:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    6 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [InstanceName]\Team Foundation Service Accounts
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

예: ID 지정자를 사용하여 보안 그룹에 대한 ID 정보 표시

다음 예제에서는 가상 회사 "A"의 도메인 "Datum1"에 있는 "DatumOne" 프로젝트 컬렉션에 있는 "Datum" 프로젝트의 프로젝트 관리자 그룹에 대한 ID 정보를 표시합니다. adm: ID 지정자를 사용하여 가상 회사 "A. Datum Corporation"에서 "Datum1" 도메인의 "DatumOne" 팀 프로젝트 컬렉션에 있는 "Datum" 프로젝트에 대한 Project Administrators 그룹의 ID 정보를 표시합니다.

tfssecurity /imx adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

샘플 출력:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 2 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

출력 지정자(예: [G] 및 [U])에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.

/m: 명시적 및 암시적 그룹 멤버 자격 확인

/m을 사용하여 지정된 그룹 또는 사용자에 대한 명시적 및 암시적 그룹 멤버 자격 정보를 확인합니다.

tfssecurity /m GroupIdentity [MemberIdentity] [/collection:CollectionURL] [/server:ServerURL]

사전 요구 사항

/m 명령을 사용하려면 Team Foundation Administrators 보안 그룹의 구성원이어야 합니다. 자세한 내용은 보안 그룹 및 권한 참조를 참조하세요.

참고

관리자 자격 증명으로 로그온한 경우에도 이 기능을 실행하려면 관리자 권한 명령 프롬프트를 열어야 합니다.

매개 변수

인수 Description
GroupIdentity 그룹 ID를 지정합니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
MemberIdentity 멤버 ID를 지정합니다. 기본적으로 이 인수의 값은 명령을 실행하는 사용자의 ID입니다. 유효한 ID 지정자에 대한 자세한 내용은 이 문서의 뒷부분에 있는 ID 지정자를 참조하세요.
/collection :CollectionURL /server를 사용하지 않는 경우 필요합니다. 프로젝트 컬렉션의 URL을 http:// ServerName : Port / VirtualDirectoryName CollectionName / 형식으로 지정합니다.
/server :ServerURL /collection을 사용하지 않는 경우 필요합니다. 애플리케이션 계층 서버의 URL을 http:// ServerName : Port / VirtualDirectoryName 형식으로 지정합니다.

설명

로컬 애플리케이션 계층 컴퓨터에서 이 명령을 실행합니다.

TFSSecurity 명령줄 유틸리티의 /m 명령은 직접 및 확장 멤버 자격을 모두 확인합니다.

예: 보안 그룹에 있는 사용자의 멤버 자격 확인

다음 예제에서는 "Datum1\jpeoples" 사용자가 Team Foundation Administrators 서버 수준 그룹에 속하는지 여부를 확인합니다.

참고

예제는 설명만을 위한 것이며 실제 데이터가 아닙니다. 어떠한 실제 사례와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

tfssecurity /m "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

샘플 출력:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Checking group membership...

    John Peoples IS a member of [INSTANCE]\Team Foundation Administrators.

    Done.

보안 네임스페이스

참고

네임스페이스 및 토큰은 모든 버전의 Azure DevOps에 유효합니다. 네임스페이스는 시간이 지남에 따라 변경될 수 있습니다. 최신 네임스페이스 목록을 얻으려면 명령줄 도구 또는 REST API 중 하나를 실행합니다. 일부 네임스페이스는 더 이상 사용되지 않습니다. 자세한 내용은 보안 네임스페이스 및 권한 참조를 참조하세요.

ID 지정자

다음 표의 표기법 중 하나를 사용하여 ID를 참조할 수 있습니다.

ID 지정자 Description 예제
Sid: Sid. 지정된 SID(보안 식별자)가 있는 ID를 참조합니다. sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[D omain]Name 지정된 이름을 포함하는 ID를 참조합니다. Windows의 경우 이름은 계정 이름입니다. 참조된 ID가 도메인에 있는 경우 도메인 이름이 필요합니다. 애플리케이션 그룹의 경우 이름은 그룹 표시 이름이고 도메인은 포함하는 프로젝트의 URI 또는 GUID입니다. 이 컨텍스트에서 도메인을 생략하면 범위가 컬렉션 수준에 있는 것으로 간주됩니다. 가상 회사 "A"의 도메인 "Datum1"에서 사용자 "John Peoples"의 ID를 참조하려면 Datum Corporation:"

n:DATUM1\jpeoples

애플리케이션 그룹을 참조하려면 다음을 수행합니다.

n:"정규직 직원"

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors
adm:[Scope] 서버 수준에 대한 "Team Foundation 관리자" 또는 컬렉션 수준의 "프로젝트 컬렉션 관리자"와 같은 범위에 대한 관리 애플리케이션 그룹을 참조합니다. 선택적 매개 변수 범위는 GUID 및 연결 문자열을 포함한 프로젝트 URI 또는 URL입니다. 범위를 생략하면 /instance 또는 /server 매개 변수가 사용되는지 여부에 따라 서버 또는 컬렉션 범위가 가정됩니다. 두 경우 모두 콜론이 여전히 필요합니다. adm:vstfs:///Classification/TeamProject/ Guid
Srv: 서비스 계정에 대한 애플리케이션 그룹을 참조합니다. 해당 없음
모든: 모든 그룹 및 ID를 참조합니다. 해당 없음
String 정규화되지 않은 문자열을 참조합니다. String이 S-1-로 시작하는 경우 SID로 식별됩니다. 문자열이 CN= 로 시작하거나 LDAP:// 경우 고유 이름으로 식별됩니다. 그렇지 않으면 String이 이름으로 식별됩니다. "팀 테스터"

형식 표식

다음 표식은 출력 메시지에서 ID 및 ACE 유형을 식별하는 데 사용됩니다.

ID 형식 표식

ID 형식 표식 설명
U Windows 사용자입니다.
G Windows group.
A Azure DevOps Server 애플리케이션 그룹입니다.
a [ A ] 관리 애플리케이션 그룹입니다.
s [ A ] 서비스 계정 애플리케이션 그룹입니다.
X ID가 잘못되었습니다.
? ID를 알 수 없습니다.

액세스 제어 항목 표식

액세스 제어 항목 표식 Description
+ 액세스 제어 항목을 허용합니다.
- DENY 액세스 제어 항목입니다.
* [] 상속된 액세스 제어 항목입니다.