다음을 통해 공유


그룹 및 권한 플러그 인

업데이트: 2011년 4월

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

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

항목 내용

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

  • 그룹 정의

  • 멤버 정의

  • 권한 정의

  • groups 요소 참조

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

그룹 및 권한 플러그 인은 Gss.xsd 파일에 정의된 스키마 정의를 준수해야 하는 GroupsandPermissions.xml 플러그 인 파일에서 정의됩니다. Microsoft 웹 사이트의 Process Template and Work Item Schemas for Visual Studio Team Foundation 페이지에서 프로세스 템플릿에 대한 스키마 파일을 다운로드할 수 있습니다.

다음 표에서는 MSF(Microsoft Solutions Framework)용 프로세스 템플릿의 파일, 폴더 및 플러그 인 이름을 보여 줍니다.

파일 이름

GroupsandPermissions.xml

폴더 이름

Groups and Permissions

플러그 인 이름

Microsoft.ProjectCreationWizard.Groups

참고

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

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

맨 위로 이동

그룹 정의

group 요소를 사용하여 Team Foundation Server에서 새 보안 그룹을 지정할 수 있습니다.

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

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

<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>

맨 위로 이동

멤버 정의

member 요소를 사용하여 Team Foundation Server에서 그룹을 보안 그룹의 멤버로 할당할 수 있습니다.

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

다음 예제에서는 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>

맨 위로 이동

권한 정의

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

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

다음 예제에서는 멤버가 팀 프로젝트에 대한 정보를 볼 수만 있고 수정은 할 수 없도록 Reader 보안 그룹에 권한을 부여하는 방법을 보여 줍니다.

<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>

맨 위로 이동

groups 요소 참조

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

경고

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

groups 및 group(그룹 및 권한) 요소는 groups 및 group(프로세스 템플릿) 요소와 다릅니다. 후자 요소 쌍에 대한 자세한 내용은 ProcessTemplate XML 요소 참조를 참조하십시오.

group

<group name="GroupName" description="GroupDescription">
   <permissions> . . . </permissions>
   <members> . . . </members>
</group>

group는 groups 및 Children의 선택적 자식 요소입니다.

그룹 및 해당 권한을 정의합니다. name 및 description 특성을 모두 지정해야 합니다. 그룹의 이름은 1-255자여야 합니다.

groups

<groups>
   <group> . . . </group>
</groups>

groups는 그룹 및 권한 플러그 인에 대한 taskXml의 필수적 자식 요소입니다.

그룹 및 그룹 권한 정의를 포함합니다.

member

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

기본 그룹을 지정하는 방법에 대한 자세한 내용은 Team Foundation Server에 정의된 기본 그룹 및 그룹 매크로을 참조하십시오.

member은 members의 필수 자식 요소입니다.

다른 그룹의 멤버로 추가할 그룹의 이름을 지정합니다. 그룹을 만들고, 이전에 Active Directory에서 정의된 프로젝트 그룹 및 그룹과 사용자인 Team Foundation Server의 기본 그룹을 자동으로 채울 수 있습니다.

members

<members>
   <member> . . . </member>
</members>

members은 group의 선택적 자식 요소입니다.

그룹에 추가할 멤버 컬렉션을 지정합니다.

permission

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

여기서 각 특성에 대해 다음과 같은 정의가 적용됩니다.

  • name: 필수적 요소로, 권한의 이름을 지정합니다. 자세한 내용은 권한으로 지정할 수 있는 각 클래스 및 이름 조합을 설명하는 초기 그룹, 멤버 및 권한 구성의 표를 참조하십시오.

  • class: 필수적 요소로, 그룹 권한이 부여되는 클래스 또는 영역을 식별합니다. 유효한 값은 다음과 같습니다. NAMESPACE(컬렉션 수준), PROJECT(프로젝트 수준), CSS_NODE(영역 노드), ITERATION_NODE(반복 노드) 및 EVENT_SUBSCRIPTION(경고 설정)

  • allow: 선택적 요소로, 사용 권한의 허용 여부를 나타내는 true 또는 false 값을 지정합니다.

permission은 permissions의 필수 자식 요소입니다.

그룹에 적용할 권한을 지정합니다.

permissions

<permissions >
   <permission> . . . </permissions>
</permissions >

permissions은 group의 필수 자식 요소입니다.

그룹에 적용할 권한 컬렉션을 지정합니다.

맨 위로 이동

참고 항목

개념

사용자, 그룹 및 권한 구성

프로세스 템플릿에서 기능 영역 사용자 지정

기타 리소스

초기 그룹, 멤버 및 권한 구성

기능 영역에 대한 액세스 제어

작업 항목을 만들거나 수정하는 권한 관리

변경 기록

날짜

변경 내용

이유

2011년 4월

스키마 파일에 대한 설명이 추가되고 구문 정보가 하나의 요소 참조로 통합되었습니다.

향상된 기능 관련 정보