Konfigurieren der ursprünglichen Gruppen, Teams, Mitglieder und Berechtigungen

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Wichtig

Dieser Artikel gilt für die Projektanpassung für lokale XML-Prozessmodelle. Eine Übersicht über Prozessmodelle finden Sie unter Anpassen ihrer Arbeitsnachverfolgungserfahrung.

Mithilfe der Plug-In-Datei für Gruppen und Berechtigungen können Sie die anfänglichen Sicherheitseinstellungen für ein Projekt konfigurieren. Zu diesem Zweck definieren Sie Aufgaben zum Erstellen von Sicherheitsgruppen, Schachteln von Gruppen, Definieren von Gruppen als Teams, Konfigurieren der anfänglichen Teameinstellungen, Zuweisen von Mitgliedern zu Gruppen und Gewähren oder Verweigern von bestimmten Berechtigungen für jede Gruppe. Zusätzlich zum Ausführen dieser Aufgaben können Sie die anfänglichen Sicherheitseinstellungen auf Auflistungsebene und Projektebene sowie nach Projektklassifizierung angeben.

Microsoft-Prozessvorlagen weisen Standardgruppen mehrere Berechtigungen zu. Sie können diese Zuweisungen ändern, indem Sie die Plug-In-Datei für Gruppen und Berechtigungen anpassen. Weitere Informationen zu diesem Plug-In finden Sie unter Definieren von Gruppen, Teams und Berechtigungen.

Informationen zum Konfigurieren der anfänglichen Sicherheitseinstellungen für die Funktionsbereiche eines Projekts, z. B. Team Foundation Build, Team Foundation-Versionskontrolle und Visual Studio Lab Management, finden Sie unter Steuern des Zugriffs auf Funktionsbereiche.

Informationen zum Anpassen von Typen von Arbeitselementen zum Zulassen oder Verweigern des Zugriffs auf Gruppen oder Benutzer finden Sie unter Regeln und Regelauswertung.

Weitere Informationen zum Verwalten von Benutzern und Gruppen und zum Steuern des Zugriffs für Visual Studio Application Lifecycle Management (ALM) finden Sie unter Einrichten von Gruppen für die Verwendung in TFS-Bereitstellungen.

Definieren und Zuweisen von Berechtigungen zu Gruppen

Sie können die Gruppen- und Elementelemente verwenden, um eine neue Sicherheitsgruppe in Team Foundation Server anzugeben und dieser Gruppe Mitglieder hinzuzufügen. Sie können das Gruppenberechtigungselement verwenden, um einer Gruppe und Mitgliedern dieser Gruppe Berechtigungen zuzuweisen. Sie müssen jedes dieser Elemente in den entsprechenden Containerelementen kapseln: Gruppen, Berechtigungen und Mitglieder. Für jedes dieser Elemente wird die folgende Syntaxstruktur verwendet:

<group name="Group Name" description="Description of Group"></group>  
<permission name="PermissionName" class="ClassName" allow="True | False"/>  
<member name="MemberName"></member>  

In der folgenden Tabelle werden die Attribute für die Gruppen-, Mitglieds- und Gruppenberechtigungselemente beschrieben. Sie verwenden diese Elemente nur in der Plug-In-Datei für Gruppen und Berechtigungen.

Element Attribut Beschreibung
group name Gibt den Namen der Gruppe an, die Sie erstellen.
isTeam Gibt an, ob die Gruppe ein Team ist (true) oder nicht ( false ).
description Beschreibt anderen Benutzern den Zweck der Gruppe.
Mitglied name Gibt den Namen einer Gruppe an, die Sie als Mitglied einer anderen Gruppe hinzufügen. Sie können Gruppen erstellen und sie mit jedem der folgenden Typen von Mitgliedern vorab auffüllen:

  • In Team Foundation Server definierte Standardgruppen
  • Project Gruppen, die zuvor in der GroupsandPermissions.xml-Datei erstellt wurden (z. B. [$$PROJECTNAME$$]\Contributors)
  • In Active Directory definierte Gruppen und Benutzer, die Sie im folgenden Format angeben:

    • DOMÄNE\BENUTZERNAME
    • DOMÄNE\GRUPPENNAME

Informationen zum Format, das beim Angeben von Standardgruppen verwendet werden soll, finden Sie weiter unten in diesem Thema unter Gruppenmakros und Standardgruppen.

Das Berechtigungscontainerelement muss dem Membercontainerelement vorangestellt werden.
permission name Identifiziert die anzuwendende Berechtigung. Eine Liste der unterstützten Berechtigungen finden Sie weiter unten in diesem Thema in den folgenden Abschnitten:

- Zuweisen von Berechtigungen auf Sammlungsebene
- Zuweisen von Berechtigungen auf Projektebene
- Zuweisen von Berechtigungen zu Steuerungsbereichspfaden
- Zuweisen von Berechtigungen zum Steuern von Iterationspfaden

Das Berechtigungscontainerelement muss dem Membercontainerelement vorangestellt werden.
class Identifiziert die Klasse oder den Bereich, in der bzw. dem die Berechtigung gewährt wird. Folgende Werte sind gültig:

- NAMESPACE: Gibt Berechtigungen auf Auflistungsebene an.
- PROJECT: Gibt Berechtigungen auf Projektebene an.
- CSS_NODE: Gibt Berechtigungen zum Anzeigen und Verwalten von Bereichspfaden für ein Projekt an.
- ITERATION_NODE: Gibt Berechtigungen zum Anzeigen und Verwalten von Iterationspfaden für ein Projekt an.
-
Ermöglichen Verwendet einen true- oder false-Wert, um anzugeben, ob die Berechtigung zugelassen oder verweigert wird.
path Identifiziert den Knoten des Bereichs- oder Iterationspfads, in dem die Berechtigung angewendet wird. Dieses Attribut ist nur gültig, wenn die -Klasse auf CSS_NODE oder ITERATION_NODE festgelegt ist.

Gruppieren von Makros und Standardgruppen

In der folgenden Tabelle sind die Makros aufgeführt, mit denen Sie eine Standardgruppe angeben können, die in Team Foundation Server definiert ist.

Hinweis

Sie können die Makros in der folgenden Tabelle nur im Plug-In für Gruppen und Berechtigungen angeben. Sie können diese Makros nicht angeben, wenn Sie Berechtigungen mit den Plug-Ins für Build, Versionskontrolle oder Lab-Management zuweisen.

Standardgruppen Makro
Projektauflistungsadministratoren [SERVER] \ $$PROJECTCOLLECTIONADMINGROUP$$

[SERVER] \ $$TEAMFOUNDATIONADMINGROUP$$

$$COLLECTIONADMINGROUP$$
Dienstkonten für Projektauflistung [SERVER] \ $$PROJECTCOLLECTIONSERVICESGROUP$$
Builddienstkonten für Projektauflistung [SERVER] \ $$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

$$COLLECTIONBUILDSERVICESGROUP$$
Projektauflistungsbuild-Administratoren [SERVER] \ $$PROJECTCOLLECTIONBUILDADMINSGROUP$$

$$COLLECTIONBUILDADMINISTRATORSGROUP$$
Projektadministratoren $$PROJECTADMINGROUP$$

[$$PROJECTNAME$$] \ $$PROJECTADMINGROUP$$

[$$PROJECTNAME$$]\Generatoren
Projektersteller $$CREATOR_OWNER$$

@creator
Standardteam @defaultTeam

Beispiel: Schachteln von Gruppen und Zuweisen von Mitgliedern zu Gruppen

Im folgenden Beispiel wird gezeigt, wie die Gruppen TestGroup1, TestGroup2 und TestGroup3 konfiguriert werden. In diesem Beispiel wird TestGroup1 als Mitglied von TestGroup2 hinzugefügt. Damit dieser Code gültig ist, müssen Sie TestGroup1 definieren, bevor Sie TestGroup2 definieren.

<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>  
        <group name="TestGroup3" description="Test group 3. Contains DOMAIN\USER, DOMAIN\GROUP, Project Administrators, and Project Collection Build Service Accounts.">  
          <permissions>  
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
          </permissions>  
          <members>  
            <member name="DOMAIN\USER" />  
            <member name="DOMAIN\GROUP" />  
            <member name="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" />  
            <member name="[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$" />  
          </members>  
        </group>  
      </groups>  
    </taskXml>  
</task>  

Definieren eines Teams

Neben dem Erstellen von Gruppen können Sie eine Gruppe als Team zuweisen. Beim Erstellen eines Projekts wird auch ein Standardteam erstellt. Wenn Sie über mehrere Teams verfügen, die ihre Arbeit getrennt von den anderen Teams organisieren möchten, können Sie diese Teams entweder in der Plug-In-Datei Gruppen und Berechtigungen definieren oder sie nach dem Erstellen des Projekts konfigurieren. Weitere Informationen finden Sie unter Hinzufügen eines weiteren Teams.

Das folgende Beispiel zeigt, wie Sie eine Gruppe als Team konfigurieren. In diesem Beispiel geben Sie die Gruppe Dream Team als Team an und fügen den Projektersteller als Mitglied des Teams hinzu. Alle Iterationspfade, die Sie für das Team angeben, müssen in der Plug-In-Datei für Klassifizierungen definiert sein. Weitere Informationen finden Sie unter Definieren von anfänglichen Bereichen, Iterationen und Project Zuordnungsdatei.

<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="Release 1\Sprint 1" />  
         <iterationPath path="Release 1\Sprint 2" />  
         <iterationPath path="Release 1\Sprint 3" />  
         <iterationPath path="Release 1\Sprint 4" />  
         <iterationPath path="Release 1\Sprint 5" />  
         <iterationPath path="Release 1\Sprint 6" />  
      </iterationPaths>  
      </teamSettings>  
</group>  

Zuweisen von Berechtigungen auf Auflistungsebene

Sie können Berechtigungen auf Sammlungsebene zuweisen, indem Sie das Gruppenberechtigungselement und die NAMESPACE-Klasse verwenden. Diese Berechtigungen steuern den Zugriff auf Ressourcen, die projektübergreifend verfügbar sind. Sie können Berechtigungen auf Auflistungsebene nur für die folgenden Kategorien von Benutzern festlegen:

  • Benutzer und Gruppen auf Auflistungsebene, z. B. Projektauflistungsadministratoren
  • Project Gruppen auf Ebene, die der Sammlungsebene auf Dem Server hinzugefügt wurden, auf dem Team Foundation ausgeführt wird
  • Benutzerdefinierte Gruppen, die Sie erstellen und zur Auflistungsebene hinzufügen

Informationen zum Format, das beim Angeben von Gruppen verwendet werden soll, finden Sie unter Gruppenmakros und Standardgruppen weiter oben in diesem Thema.

Das folgende Beispiel zeigt, wie Den Projektadministratoren Berechtigungen auf Sammlungsebene für ein Projekt erteilt werden.

<group name="PROJECTADMINGROUP" description="Members of this group can add, modify, and delete items within the project.">  
   <permissions>  
       <permission name="GENERIC_READ" class="NAMESPACE" allow="true" />  
       <permission name="WORK_ITEM_WRITE" class="NAMESPACE" allow="true" />  
       <permission name="MANAGE_TEMPLATE" class="NAMESPACE" allow="true" />  
       <permission name="MANAGE_TEST_CONTROLLERS" class="NAMESPACE" allow="true" />  
    </permissions>  
</group>  

In der folgenden Tabelle werden die Berechtigungen auf Auflistungsebene beschrieben, die Sie zuweisen können.

Hinweis

Standardmäßig werden in den Standardprozessvorlagen keine Berechtigungen auf Sammlungsebene zugewiesen.

Berechtigung Beschreibung
DIAGNOSTIC_TRACE Ändern Sie die Ablaufverfolgungseinstellungen. Kann die Ablaufverfolgungseinstellungen zum Sammeln ausführlicherer Diagnoseinformationen zu Webdiensten für Team Foundation Server.
CREATE_PROJECTS Erstellen Sie neue Projekte. Kann Projekte in der Projektsammlung erstellen.
GENERIC_WRITE Bearbeiten Sie Informationen auf Sammlungsebene. Kann Berechtigungen auf Sammlungsebene für Benutzer und Gruppen in der Projektsammlung bearbeiten. Benutzer mit dieser Berechtigung können die folgenden Aufgaben ausführen:

– Hinzufügen, Entfernen oder Umbenennen einer Anwendungsgruppe auf Sammlungsebene aus der Sammlung in Team Foundation Server. Hinweis: Sie können keine Standardgruppen auf Sammlungsebene entfernen, z. B. Project Sammlungsadministratoren.
– Hinzufügen oder Entfernen eines Benutzers oder einer Gruppe in einem Windows oder einer anderen Anwendungsgruppe in Team Foundation Server (auf Serverebene).
– Ändern der Berechtigungen auf Sammlungsebene für Benutzer und Gruppen.

Darüber hinaus können Benutzer mit dieser Berechtigung Berechtigungen für die Versionskontrolle ändern, und sie haben Schreibzugriff auf alle Dateien unter Versionskontrolle, es sei denn, der Zugriff wird durch andere Berechtigungen explizit verweigert.
MANAGE_TEMPLATE Verwalten von Prozessvorlagen. Kann Prozessvorlagen herunterladen, erstellen, bearbeiten und in die Projektsammlung hochladen.
MANAGE_TEST_CONTROLLERS Verwalten von Testcontrollern. Kann Testcontroller für die Projektsammlung registrieren und deren Registrierung wieder auf wiedererstellen.
GENERIC_READ Zeigen Sie Informationen auf Sammlungsebene an. Die Mitgliedschaft in Gruppen auf Auflistungsebene und die Berechtigungen dieser Benutzer können angezeigt werden.

Zuweisen von Berechtigungen auf Projektebene

Sie können Berechtigungen auf Projektebene in der Plug-In-Datei für Gruppen und Berechtigungen zuweisen. Sie weisen diese Berechtigungen mithilfe des Gruppenberechtigungselements und der PROJECT-Klasse zu. Diese Berechtigungen steuern den Zugriff auf die Ressourcen eines einzelnen Projekts. Sie können Benutzern und Gruppen in Windows, Gruppen in Team Foundation und Gruppen Zugriff gewähren, die Sie zuvor in der Plug-In-Datei Gruppen und Berechtigungen definiert haben. Informationen zum Format, das beim Angeben von Gruppen verwendet werden soll, finden Sie unter Gruppenmakros und Standardgruppen weiter oben in diesem Thema.

Das folgende Beispiel zeigt, wie Sie der Gruppe Mitwirkende mehrere Berechtigungen für ein Projekt erteilen.

<group name="Contributors" description="Members of this group can add, modify, and delete items within the project.">  
   <permissions>  
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />  
      <permission name="DELETE_TEST_RESULTS" class="PROJECT" allow="true" />  
       <permission name="PUBLISH_TEST_RESULTS" class="PROJECT" allow="true" />  
       <permission name="VIEW_TEST_RESULTS" class="PROJECT" allow="true" />  
       <permission name="MANAGE_TEST_ENVIRONMENTS" class="PROJECT" allow="true" />  
      <permission name="MANAGE_TEST_CONFIGURATIONS" class="PROJECT" allow="true" />  
   </permissions>  
</group>  

Die folgende Tabelle beschreibt die Berechtigungen auf Projektebene, die Sie zuweisen können, und gibt die Standardzuweisungen an, die in den Standardprozessvorlagen vorgenommen werden.

Berechtigung Beschreibung Leser Beitragende Buildadministratoren
GENERIC_READ Zeigen Sie Informationen auf Projektebene an. Die Mitgliedschaft in Gruppen auf Projektebene und die Berechtigungen dieser Mitglieder können angezeigt werden. Häkchen Häkchen Häkchen
VIEW_TEST_RESULTS Anzeigen von Testläufen. Testpläne in diesem Knoten können angezeigt werden. Häkchen Häkchen Häkchen
MANAGE_TEST_CONFIGURATIONS Verwalten von Testkonfigurationen. Kann Testkonfigurationen für das Projekt erstellen und löschen. Häkchen Häkchen
MANAGE_TEST_ENVIRONMENTS Verwalten von Testumgebungen. Kann Testumgebungen für das Projekt erstellen und löschen. Häkchen Häkchen
PUBLISH_TEST_RESULTS Erstellen von Testläufen. Kann Testergebnisse hinzufügen und entfernen und Testläufe für das Projekt hinzufügen oder ändern. Häkchen Häkchen
DELETE_TEST_RESULTS Löscht Testläufe. Kann einen geplanten Test für das Projekt löschen. Häkchen Häkchen
DELETE Löschen Sie das Projekt. Kann aus dem Team Foundation Server projekt löschen, für das der Benutzer über diese Berechtigung verfügt.
GENERIC_WRITE Bearbeiten Sie Informationen auf Projektebene. Kann Berechtigungen auf Projektebene für Benutzer und Gruppen in Team Foundation Server.

Zuweisen von Berechtigungen zum Steuern von Bereichspfaden

Sie können Berechtigungen zuweisen, die den Zugriff auf Bereichsdefinitionen steuern, indem Sie das Gruppenberechtigungselement und die CSS_NODE verwenden. Diese Berechtigungen steuern den Zugriff auf die Klassifizierungsstruktur eines einzelnen Projekts. Sie können Benutzern und Gruppen in Windows, Gruppen in Team Foundation und Gruppen Zugriff gewähren, die Sie zuvor in der Plug-In-Datei Gruppen und Berechtigungen definiert haben. Informationen zum Format, das beim Angeben von Gruppen verwendet werden soll, finden Sie unter Gruppenmakros und Standardgruppen weiter oben in diesem Thema.

Das folgende Beispiel zeigt, wie Sie der Gruppe Mitwirkende mehrere Berechtigungen für ein Projekt erteilen.

<group name="Contributors" description="Members of this group can add, modify, and delete items within the project.">  
   <permissions>  
      <permission name="GENERIC_READ" class="CSS_NODE" allow="true" />  
      <permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />  
      <permission name="WORK_ITEM_WRITE" class="CSS_NODE" allow="true" />  
      <permission name="MANAGE_TEST_PLANS" class="CSS_NODE" allow="true" />  
   </permissions>  
</group>  

In der folgenden Tabelle werden die Berechtigungen beschrieben, die Sie zuweisen können, um den Zugriff auf die hierarchische Struktur für die Bereichs- und Iterationsknoten des Projekts zu steuern. Die Tabelle gibt auch die Standardzuweisungen an, die in den Standardprozessvorlagen vorgenommen werden.

Hinweis

Für einige Vorgänge zum Nachverfolgen von Arbeitsaufgaben sind mehrere Berechtigungen erforderlich. Zum Beispiel benötigen Sie mehrere Berechtigungen, um einen Knoten zu löschen.

Berechtigung Beschreibung Leser Beitragende Buildadministratoren
GENERIC_READ Zeigen Sie diesen Knoten an. Die Sicherheitseinstellungen für einen Bereichsknoten können angezeigt werden. Häkchen Häkchen Häkchen
WORK_ITEM_READ Zeigen Sie Arbeitselemente in diesem Knoten an. Einem Bereichsknoten zugewiesene Arbeitsaufgaben können angezeigt, jedoch nicht geändert werden. Häkchen Häkchen Häkchen
WORK_ITEM_WRITE Bearbeiten Sie Arbeitselemente in diesem Knoten. Arbeitsaufgaben, die einem Bereichsknoten zugewiesen sind, können bearbeitet werden. Häkchen Häkchen
MANAGE_TEST_PLANS Verwalten von Testplänen. Testpläne, die einem Bereichsknoten zugewiesen sind, können erstellt und bearbeitet werden. Wenn Testpläne nicht ausgeführt wurden, können Sie diese auch löschen. Häkchen Häkchen
CREATE_CHILDREN Erstellen und Bestellen von untergeordneten Knoten. Bereichsknoten können erstellt werden. Benutzer mit dieser Berechtigung und der Berechtigung GENERIC_WRITE können jeden untergeordneten Bereichsknoten verschieben oder neu anordnen.
DELETE Löschen Sie diesen Knoten. Bereichsknoten können gelöscht werden.

Benutzer mit dieser Berechtigung und der Berechtigung GENERIC_WRITE für einen anderen Knoten können Bereichsknoten löschen und vorhandene Arbeitselemente aus dem gelöschten Knoten neu klassifizieren. Wenn der gelöschte Knoten über untergeordnete Knoten verfügt, werden diese ebenfalls gelöscht.
GENERIC_WRITE Bearbeiten Sie diesen Knoten. Berechtigungen für Bereichsknoten können festgelegt und Bereichsknoten können umbenannt werden.

Zuweisen von Berechtigungen zum Steuern von Iterationspfaden

Sie weisen Berechtigungen zu, die den Zugriff auf Iterationspfade mithilfe des Gruppenberechtigungselements und der ITERATION_NODE steuern. Diese Berechtigungen steuern den Zugriff auf die Meilensteinversionen oder Iterationen für ein einzelnes Projekt. Sie können Benutzern und Gruppen in Windows, TFS-Standardgruppen und Gruppen, die Sie zuvor in der Plug-In-Datei Gruppen und Berechtigungen definiert haben, Zugriff gewähren. Informationen zum Format, das beim Angeben von Gruppen verwendet werden soll, finden Sie unter Gruppenmakros und Standardgruppen weiter oben in diesem Thema.

Das folgende Beispiel zeigt, wie Sie der Gruppe Mitwirkende mehrere Berechtigungen für ein Projekt erteilen:

<group name="Contributors" description="Members of this group can add, modify, and delete items within the project.">  
   <permissions>  
      <permission name="GENERIC_READ" class="ITERATION_NODE" allow="true" />  
      <permission name="GENERIC_WRITE" class="ITERATION_NODE" allow="true" />  
      <permission name="CREATE_CHILDREN" class="ITERATION_NODE" allow="true" />  
   </permissions>  
</group>  

In der folgenden Tabelle werden die Berechtigungen beschrieben, die Sie zuweisen können, um den Zugriff auf die hierarchische Struktur für die Iterationsknoten des Projekts zu steuern. Da die Standardprozessvorlagen keine Berechtigungen angeben, können alle Teammitglieder Iterationsknoten erstellen, anzeigen ITERATION_NODE und löschen.

Hinweis

Für einige Vorgänge zum Nachverfolgen von Arbeitsaufgaben sind mehrere Berechtigungen erforderlich. Zum Beispiel benötigen Sie mehrere Berechtigungen, um einen Knoten zu löschen.

Berechtigung Beschreibung
GENERIC_READ Zeigen Sie diesen Knoten an. Die Sicherheitseinstellungen für einen Knoten können angezeigt werden.
CREATE_CHILDREN Erstellen und Bestellen von untergeordneten Knoten. Iterationsknoten können erstellt werden. Benutzer mit dieser Berechtigung und der Berechtigung GENERIC_WRITE können jeden Iterationsknoten verschieben oder neu anordnen.
DELETE Löschen Sie diesen Knoten. Iterationsknoten können gelöscht werden.

Benutzer mit dieser Berechtigung und der Berechtigung GENERIC_WRITE für einen anderen Knoten können Iterationsknoten löschen und vorhandene Arbeitselemente aus dem gelöschten Knoten neu klassifizieren. Wenn der gelöschte Knoten über untergeordnete Knoten verfügt, werden diese ebenfalls gelöscht.
GENERIC_WRITE Bearbeiten Sie diesen Knoten. Berechtigungen für Iterationsknoten können festgelegt und Knoten können umbenannt werden.