Freigeben über


Definieren von Gruppen, Teams und Berechtigungen mit dem Plug-In für Gruppen und Berechtigungen

Sie können Sicherheitsgruppen festlegen, um den Zugriff auf Funktionsbereiche innerhalb eines Teamprojekts zu steuern. Neben den standardmäßigen Sicherheitsgruppen in Visual Studio Team Foundation Server können Sie die Anfangsgruppen, die Gruppenelemente sowie die Sicherheitsberechtigungen eines Teamprojekts konfigurieren, indem Sie das Plug-In für Gruppen und Berechtigungen anpassen. Mit diesem Plug-In können Sie Gruppen und Teams definieren, Gruppen und Benutzer als Mitglieder zu Gruppen hinzufügen und den Gruppen Berechtigungen erteilen.

In diesem Thema wird die Syntaxstruktur des groups-, iterationPath-, members-, permissions- und des teamsettings-Elements beschrieben, die in der Datei für das Plug-In für Gruppen und Berechtigungen verwendet werden. Weitere Informationen zum Verwenden dieser Elemente finden Sie unter Konfigurieren von anfänglichen Gruppen, Teams, Mitgliedern und Berechtigungen.

Name und Speicherort des Gruppen-Plug-Ins

Das Plug-In für Gruppen und Berechtigungen wird von der Plug-In-Datei "GroupsandPermissions.xml" definiert, die der in der Datei "Gss.xsd" definierten Schemadefinition entsprechen muss. Die Schemadateien für Prozessvorlagen stehen auf der folgenden Seite der Microsoft-Website zum Download bereit: Prozessvorlagen- und Arbeitsaufgabenschemas für Visual Studio Team Foundation.

In der folgenden Tabelle sind die Namen der Datei, des Ordners und des Plug-Ins für die Prozessvorlagen für Microsoft Solutions Framework (MSF) zusammengefasst.

Dateiname:

GroupsandPermissions.xml

Ordnername:

Gruppen und Berechtigungen

Plug-In-Name:

Microsoft.ProjectCreationWizard.Groups

Hinweis

Sie können die Namen der XML-Datei und des Ordners, jedoch nicht den Namen des Plug-Ins ändern.Visual Studio Team Foundation Server enthält keinen Mechanismus für die Bereitstellung clientseitiger Plug-Ins, Richtlinien oder anderer Änderungen.Wenn Sie diese Art von Funktion bereitstellen möchten, verwenden Sie Ihr eigenes Verteilungs- und Installationsprogramm.

Im Plug-In für Gruppen und Berechtigungen geben Sie mindestens eine Aufgabe und ihre Abhängigkeiten innerhalb des taskXml-Elements an. Normalerweise geben Sie eine Aufgabe pro Sicherheitsgruppe an, die für den Prozess erstellt werden soll. Weitere Informationen zur Angabe von Aufgaben finden Sie unter Definieren der Aufgaben zum Verarbeiten eines Plug-Ins.

Definieren von Gruppen

Mit dem group-Element geben Sie eine neue Sicherheitsgruppe in Team Foundation Server an.

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

Im folgenden Beispiel wird gezeigt, wie eine Gruppe mit dem Namen Reader erstellt wird:

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

Definieren von Mitgliedern

Mit dem member-Element weisen Sie eine Gruppe als Mitglied einer Sicherheitsgruppe in Team Foundation Server zu.

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

Hinweis

Eine Gruppe, die ein Team ist (isTeam="true"), kann kein Mitglied einer Gruppe sein.

Im folgenden Beispiel wird gezeigt, wie TestGroup1 als Mitglied von TestGroup2 hinzugefügt wird.

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

Definieren von Teams und Team-Einstellungen

Innerhalb der standardmäßigen Plug-In-Datei für Gruppen und Berechtigungen erstellt das @defaultTeam-Makro das standardmäßige Team unter dem Stammbereichspfad. Sie können diese Struktur ändern, indem Sie die zusätzlichen Bereichspfade innerhalb der Klassifizierungs-Plug-In-Datei einschließen. Mit dem teamsettings-Element können Sie die Iterationen vorkonfigurieren, die einem Team zugewiesen werden. Das Plug-In verwendet den folgenden Codeausschnitt. In diesem Beispiel werden drei Iterationen für das standardmäßige Team definiert.

Wichtig

Sie müssen Iterationspfade zuweisen, die den in der Klassifizierungs-Plug-In-Datei definierten Pfaden entsprechen.Siehe Definieren der anfänglichen Bereiche und Iterationen im Klassifizierungs-Plug-In.

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

Sie können auch zusätzliche Teams innerhalb eines Teamprojekts definieren. Definieren Sie hierzu eine Gruppe und weisen Sie das isTeam-Attribut zu true zu. Das folgende Beispiel zeigt, wie ein Team und dazugehörige Berechtigungen, Mitglieder und ursprüngliche Sprint-Zuweisungen definiert werden. Geben Sie die standardmäßigen Teameinstellungen für ein Teamprojekt an.

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

Definieren von Berechtigungen

Sie müssen für jede Gruppe, die Sie erstellen, Berechtigungen angeben. Zu diesem Zweck verwenden Sie das permission-Element.

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

Im folgenden Beispiel wird veranschaulicht, wie Sie der Sicherheitsgruppe Readers Berechtigungen gewähren, damit Mitglieder Informationen über ein Teamprojekt anzeigen, jedoch nicht ändern können.

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

Gruppenelementverweis

In der folgenden Tabelle werden die Elemente beschrieben, mit denen Sie die Anfangsgruppen und -berechtigungen für ein Teamprojekt definieren. Diese Elemente werden innerhalb eines taskXml-Containerelements in der Plug-In-Datei für Gruppen und Berechtigungen angegeben. Informationen zu diesem Element finden Sie unter Definieren der Aufgaben zum Verarbeiten eines Plug-Ins.

Warnung

In der Schemadatei "Gss.xsd" wird nicht das property-Element oder das properties-Element definiert.Wenn Sie die Prozessvorlage hochladen, überprüft der Prozessvorlagen-Manager diese Elemente, bevor sie in Team Foundation Server gespeichert werden.

Das groups-Element und das group -Element (Gruppen und Berechtigungen) unterscheiden sich vom groups-Element und group-Element (Prozessvorlage).Informationen zum letzten Elementepaar finden Sie unter Prozessvorlagen-XML-Elementverweis.

group

<group name="GroupName" isTeam="true | false" description="GroupDescription">
   <permissions> . . . </permissions>
   <members> . . . </members>
</group>

Für jedes Attribut gelten die folgenden Definitionen:

  • name: Erforderlich. Gibt den Namen der Gruppe an. Der Name der Gruppe muss zwischen 1 und 255 Zeichen lang sein.

  • isTeam: Optional. Identifiziert die Gruppe als Team, das kleine Gruppen unterstützt, um ihre Arbeit innerhalb eines Teamprojekts zu organisieren.

  • description: Erforderlich, wenn die Gruppe kein Team ist. Enthält eine Beschreibung der Gruppe. Die Beschreibung wird innerhalb der Sicherheitsseiten von Team Web Access angezeigt.

group ist ein optionales untergeordnetes Element von groups und Children.

Definiert eine Gruppe oder ein Team und die dazugehörigen Berechtigungen und Mitglieder.

groups

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

groups ist ein erforderliches untergeordnetes Element von taskXml für das Plug-In für Gruppen und Berechtigungen.

Enthält die Gruppen- und Berechtigungsdefinitionen.

iterationPath

<iterationPath path="IterationName" />

iterationPath ist ein erforderliches untergeordnetes Element von iterationPaths.

Gibt einen Teammeilenstein an.

iterationPaths

<iterationPaths backlogPath="BacklogPathName">
. . .      </iterationPaths>

iterationPaths ist ein optionales untergeordnetes Element von teamsettings.

Gibt Teammeilensteine an.

member

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

Informationen zum Angeben von Standardgruppen finden Sie auf der Seite zu In Team Foundation Server definierte Gruppenmakros und Standardgruppen.

member ist ein erforderliches untergeordnetes Element von members.

Gibt den Namen einer Gruppe an, die Sie als Mitglied einer anderen Gruppe hinzufügen. Sie können Gruppen erstellen und sie automatisch mit Standardgruppen in Team Foundation Server, zuvor definierten Projektgruppen sowie mit Gruppen und Benutzern in Active Directory auffüllen.

members

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

members ist ein optionales untergeordnetes Element von group.

Gibt die Sammlung der Member an, die der Gruppe hinzugefügt werden sollen.

permission

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

Dabei gelten die folgenden Definitionen für jedes Attribut:

  • name: Erforderlich. Gibt den Namen der Berechtigung an. Weitere Informationen finden Sie in der Tabelle in Konfigurieren von anfänglichen Gruppen, Teams, Mitgliedern und Berechtigungen, in der jede Klassen- und Namenskombination beschrieben wird, die Sie als Berechtigung angeben können.

  • class: Erforderlich. Identifiziert die Klasse oder den Bereich, in der bzw. dem die Berechtigung gewährt wird. Die folgenden Werte sind gültig: NAMESPACE (Auflistungsebene), PROJECT (Projektebene), CSS_NODE (Bereichsknoten) und ITERATION_NODE (Iterationsknoten).

  • allow: Optional. Gibt den Wert "true" oder "false" an, der angibt, ob die Berechtigung erteilt wird.

permission ist ein erforderliches untergeordnetes Element von permissions.

Gibt die Berechtigung an, die für die Gruppe gilt.

permissions

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

permissions ist ein erforderliches untergeordnetes Element von group.

Gibt die Berechtigungsauflistung an, die für die Gruppe gilt.

teamsettings

<teamSettings areaPath="Area">
. . .
</teamSettings>

teamsettings ist ein optionales untergeordnetes Element von group.

Konfiguriert das Teamprojekt als standardmäßiges Team und gibt optional Teammeilensteine mit dem iterationPath-Element an.

Siehe auch

Konzepte

Konfigurieren von anfänglichen Gruppen, Teams, Mitgliedern und Berechtigungen

Steuern des Zugriffs auf Funktionsbereiche

Verwalten von Benutzern und Gruppen in TFS

Anpassen einer Prozessvorlage

Weitere Ressourcen

Anwenden einer Regel auf ein Arbeitsaufgabenfeld