그룹 및 권한 플러그 인을 사용하여 그룹, 팀 및 권한 정의

TFS 2018

프로젝트 내의 기능 영역에 대한 액세스를 제어하는 보안 그룹을 정의할 수 있습니다. 기본 보안 그룹 외에도 그룹 및 사용 권한 플러그 인을 사용자 지정하여 프로젝트의 초기 그룹, 그룹 구성원 및 보안 권한을 구성할 수 있습니다. 이 플러그 인을 사용하면 그룹과 팀을 정의하고, 그룹과 사용자를 그룹 멤버로 추가하고, 그룹에 권한을 부여할 수 있습니다.

이 항목에서는 그룹 및 사용 권한 플러그 인에 대한 파일에 사용되는 그룹, 반복 경로, 멤버, 권한 및 teamsettings 요소의 구문 구조에 대해 설명합니다. 이러한 요소를 사용하는 방법에 대한 자세한 내용은 초기 그룹, 팀, 멤버 및 권한 구성을 참조하세요.

그룹 플러그 인의 이름 및 위치

그룹 및 권한 플러그 인은 GroupsandPermissions.xml 플러그 인 파일에 의해 정의됩니다. 이 파일은 Gss.xsd 파일에 정의된 스키마 정의를 따라야 합니다.

파일, 폴더 및 플러그 인 이름은 다음과 같습니다.

파일 이름: GroupsandPermissions.xml
폴더 이름: 그룹 및 사용 권한
플러그 인 이름:| Microsoft.ProjectCreationWizard.Groups

참고

XML 파일과 폴더의 이름은 변경할 수 있지만 플러그 인 이름은 변경할 수 없습니다. TFS에는 클라이언트 쪽 플러그 인, 정책 또는 기타 수정 사항을 배포하기 위한 메커니즘이 포함되어 있지 않습니다. 이러한 종류의 기능을 배포하려면 고유한 배포 및 설치 프로그램을 사용해야 합니다.

그룹 및 사용 권한 플러그 인에서 요소 내에서 taskXml 하나 이상의 작업 및 해당 종속성을 지정합니다. 일반적으로 프로세스에 대해 만들 보안 그룹당 하나의 작업을 지정합니다. 작업을 지정하는 방법에 대한 자세한 내용은 플러그 인을 처리할 작업 정의를 참조하세요.

그룹 정의

그룹 요소를 사용하여 Team Foundation Server 새 보안 그룹을 지정합니다.

<group name="GroupName" description="GroupDescription"></group>  

다음 예제에서는 Readers 그룹을 만드는 방법을 보여 줍니다.

<task id="GroupCreation1"   
      name="Create Groups and Permissions"   
      plugin="Microsoft.ProjectCreationWizard.Groups"   
      completionMessage="Groups and Permissions created.">  
   <taskXml>  
      <groups>  
         <group name="Readers"  
                description="A group for users who have read access across the project">  
            <permissions>  
               <!-- permissions -->  
            </permissions>  
         </group>  
      </groups>  
   </taskXml>  
</task>  

멤버 정의

멤버 요소를 사용하여 그룹을 Team Foundation Server 보안 그룹의 구성원으로 할당합니다.

<member name="MemberName" ></member>  

참고

팀(isTeam="true")인 그룹은 그룹의 구성원일 수 없습니다. 또한 권한 컨테이너 요소는 멤버 컨테이너 요소 앞에 있어야 합니다.

다음 예제에서는 TestGroup1을 TestGroup2의 멤버로 추가하는 방법을 보여 줍니다.

<task id="GroupCreation1"   
    <taskXml>  
      <groups>  
        <group name="TestGroup1" description="Test group 1.  Contains no members out of the box.">  
          <permissions>  
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
          </permissions>  
        </group>  
        <group name="TestGroup2" description="Test group 2.  Contains TestGroup1 and Project Administrators.">  
          <permissions>  
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
          </permissions>  
          <members>  
            <member name="TestGroup1" />  
            <member name="$$PROJECTADMINGROUP$$" />  
          </members>  
        </group>  
      </groups>  
    </taskXml>  
</task>  

팀 및 팀 설정 정의

기본 그룹 및 사용 권한 플러그 인 파일 내에서 매크로는 @defaultTeam 루트 영역 경로에 기본 팀을 만듭니다. 분류 플러그 인 파일 내에 추가 영역 경로를 포함하여 이 구조를 변경할 수 있습니다. teamsettings 요소를 사용하여 팀에 할당된 반복을 미리 구성할 수 있습니다. 플러그 인은 다음 코드 조각을 사용합니다. 이 예제에서는 기본 팀에 대해 3개 반복이 정의됩니다.

중요

분류 플러그 인 파일에 정의된 경로에 해당하는 반복 경로를 할당해야 합니다. 초기 영역, 반복 및 Project 매핑 파일 정의를 참조하세요.

<group name="@defaultTeam">  
      <permissions>  
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
      </permissions>  
      <members>  
      <member name="@creator"/>  
      </members>  
      <teamSettings areaPath="Area">  
      <iterationPaths backlogPath="Iteration">  
         <iterationPath path="Iteration 1" />  
         <iterationPath path="Iteration 2" />  
         <iterationPath path="Iteration 3" />  
      </iterationPaths>  
      </teamSettings>  
</group>  

프로젝트 내에서 추가 팀을 정의할 수도 있습니다. 그룹을 정의하고 특성을 .에 할당하여 isTeam 이 작업을 수행합니다 true. 다음 예제에서는 팀과 해당 권한, 멤버 및 초기 스프린트 할당을 정의하는 방법을 보여 줍니다. 프로젝트의 기본 팀 설정을 지정합니다.

<group name="Dream Team" isTeam="true" description="Next generation work">  
   <permissions>  
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
   </permissions>  
   <members>  
      <member name="@creator"/>  
   </members>  
      <teamSettings areaPath="Area">  
      <iterationPaths backlogPath="Iteration">  
         <iterationPath path="Iteration 1" />  
         <iterationPath path="Iteration 2" />  
         <iterationPath path="Iteration 3" />  
      </iterationPaths>  
      </teamSettings>  
</group>   

권한 정의

만드는 각 그룹에 대한 권한을 지정해야 합니다. 이 용도로 사용 권한 요소를 사용합니다.

<permission name="PermissionName" class="ClassName" allow="true | false"/>  

다음 예제에서는 구성원이 프로젝트에 대한 정보를 볼 수 있지만 해당 정보를 수정할 수 없도록 읽기 권한자 보안 그룹에 권한을 부여하는 방법을 보여 줍니다.

<group name="Readers" description="A group for users who have read access across the project">  
   <permissions>  
     <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
     <permission name="GENERIC_READ" class="CSS_NODE" allow="true" />  
     <permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />  
   </permissions>  
</group>  

그룹 요소 참조

다음 표에서는 프로젝트에 대한 초기 그룹 및 사용 권한을 정의하는 데 사용하는 요소에 대해 설명합니다. 그룹 및 사용 권한 플러그 인 taskXml 파일의 컨테이너 요소 내에서 이러한 요소를 지정합니다. 이 요소에 대한 자세한 내용은 플러그 인을 처리하는 작업 정의를 참조하세요.

경고

Gss.xsd 스키마 파일은 또는 properties 요소를 정의 property 하지 않습니다. 프로세스 템플릿을 업로드할 때 프로세스 템플릿 관리자는 이러한 요소를 저장하기 전에 유효성을 검사합니다.

groups and group (그룹 및 권한) 요소는 and(프로세스 템플릿) 요소와 group 구별 groups 됩니다. 후자의 요소 쌍에 대한 자세한 내용은 프로세스 템플릿 XML 요소 참조를 참조하세요.

요소 설명 및 구문
group 그룹식의 선택적 자식 요소입니다. 그룹이나 팀과 해당 권한 및 멤버를 정의합니다.
<group name="GroupName" isTeam="true &#124; false" description="GroupDescription"> <permissions> . . . </permissions> <members> . . . </members> </group>
각 특성에는 다음 정의가 적용됩니다.
- name: 필수입니다. 그룹의 이름을 지정합니다. 그룹의 이름은 1~255자여야 합니다.
- isTeam: 선택 사항입니다. 소규모 그룹이 프로젝트 내에서 작업을 구성할 수 있도록 지원하는 팀으로 그룹을 식별합니다.
- description: 그룹이 팀이 아닌 경우 필요합니다. 그룹의 설명을 지정합니다. 설명은 Team Web Access 보안 페이지 내에 표시됩니다.
그룹 그룹 및 사용 권한 플러그 인에 대한 taskXml 의 필수 자식 요소입니다. 그룹 및 권한 정의를 포함합니다.
<groups>
<group> . . . </group>
</groups>
iterationPath iterationPaths의 필수 자식 요소입니다. 팀 중요 시점 하나를 지정합니다.
<iterationPath path="IterationName" />
iterationPaths teamsettings의 선택적 자식 요소입니다. 팀 중요 시점 여러 개를 지정합니다.
<iterationPaths backlogPath="BacklogPathName">
. . .
</iterationPaths>
멤버 멤버의 필수 자식 요소입니다. 다른 그룹의 멤버로 추가하고 있는 그룹의 이름을 지정합니다. 그룹을 만들고 Active Directory에서 TFS 기본 그룹, 이전에 정의된 프로젝트 그룹, 그룹 및 사용자로 자동으로 채울 수 있습니다.
<member name="MemberName" >
</member>
기본 그룹을 지정하는 방법에 대한 자세한 내용은 그룹 매크로 및 기본 그룹을 참조하세요.
members 그룹의 선택적 자식 요소이며 그룹에 추가할 멤버 컬렉션을 지정합니다. 멤버 컨테이너 요소는 권한 컨테이너 요소를 따라야 합니다.
<members>
<member> . . . </member>
</members>
permission 사용 권한의 필수 자식 요소입니다. 그룹에 적용할 권한을 지정합니다.
<permission name="PermissionName" class="ClassName" allow="true &#124; false" />
여기서 각 특성에는 다음 정의가 적용됩니다.
- name: 필수입니다. 사용 권한의 이름을 지정합니다. 자세한 내용은 사용 권한으로 지정할 수 있는 각 클래스 및 이름 조합을 설명하는 초기 그룹, 팀, 멤버 및 권한 구성 의 테이블을 참조하세요.
- class: 필수입니다. 그룹 권한이 부여된 클래스 또는 영역을 식별합니다. 유효한 값은 (컬렉션 수준), PROJECT (프로젝트 수준), CSS_NODE (영역 노드) 및 ITERATION_NODE (반복 노드)입니다 NAMESPACE .
- allow: 선택 사항입니다. 권한 허용 여부를 나타내는 True 또는 False 값을 지정합니다.
사용 권한 그룹의 필수 자식 요소이며 그룹에 적용할 사용 권한 컬렉션을 지정합니다. 권한 컨테이너 요소는 멤버 컨테이너 요소 앞에 있어야 합니다.
<permissions>
<permission> . . . </permissions>
</permissions>
teamsettings 그룹의 선택적 자식 요소 입니다. 프로젝트를 기본 팀으로 구성하고 선택적으로 iterationPath 요소를 사용하여 팀 마일스톤을 지정합니다.
<teamSettings areaPath="Area">
. . .
</teamSettings>