Konfigurieren der ursprünglichen Gruppen, Teams, Mitglieder und Berechtigungen
Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
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-Versionssteuerung und Visual Studio Lab Management, finden Sie unter Steuern des Zugriffs auf Funktionsbereiche.
Informationen zum Anpassen von Arbeitselemententypen zum Zulassen oder Verweigern des Zugriffs auf Gruppen oder Benutzer finden Sie unter Regeln und Regelauswertung.
Weitere Informationen zum Verwalten von Benutzern und Gruppen sowie 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 Memberelemente 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 jede dieser Elemente innerhalb ihrer entsprechenden Containerelemente 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-, Member- 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 (true) oder nicht (false ) ist. |
|
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:
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 vorangehen. |
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 zum Steuern von Bereichspfaden - Zuweisen von Berechtigungen zum Steuern von Iterationspfaden Das Berechtigungscontainerelement muss dem Membercontainerelement vorangehen. |
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 Sammlungsebene 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 zulässig 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. Das Erstellen eines Projekts erstellt auch ein Standardteam. Wenn Sie mehrere Teams haben, die ihre Arbeit separat 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 anderen 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 der anfänglichen Bereiche, 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 mithilfe des Gruppenberechtigungselements und der NAMESPACE-Klasse zuweisen. Diese Berechtigungen steuern den Zugriff auf Ressourcen, die über Projekte hinweg 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 Ihrem 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 weiter oben in diesem Thema unter Gruppenmakros und Standardgruppen .
Im folgenden Beispiel wird gezeigt, wie Sie den Projektadministratoren für ein Projekt Berechtigungen auf Sammlungsebene erteilen.
<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 keine Berechtigungen auf Sammlungsebene in den Standardprozessvorlagen zugewiesen.
Berechtigung | Beschreibung |
---|---|
DIAGNOSTIC_TRACE | Ändern der Ablaufverfolgungseinstellungen. Kann die Ablaufverfolgungseinstellungen ändern, um detailliertere Diagnoseinformationen zu Webdiensten für Team Foundation Server zu sammeln. |
CREATE_PROJECTS | Neue Projekte erstellen. Kann Projekte in der Projektsammlung erstellen. |
GENERIC_WRITE | Bearbeiten von 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 Auflistung in Team Foundation Server. Hinweis: Standardmäßige Gruppen auf Sammlungsebene können nicht entfernt werden, z. B. Project Sammlungsadministratoren. - Hinzufügen oder Entfernen eines Benutzers oder einer Gruppe in Windows Benutzer oder einer anderen Anwendungsgruppe in Team Foundation Server (auf Serverebene). – Berechtigungen auf Sammlungsebene für Benutzer und Gruppen ändern. 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 in die Projektsammlung herunterladen, erstellen, bearbeiten und hochladen. |
MANAGE_TEST_CONTROLLERS | Verwalten von Testcontrollern. Kann Testcontroller für die Projektsammlung registrieren und deaktivieren. |
GENERIC_READ | Anzeigen von Informationen auf Sammlungsebene. 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, 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 weiter oben in diesem Thema unter Gruppenmakros und Standardgruppen .
Das folgende Beispiel zeigt, wie Sie der Gruppe "Mitwirkende" für ein Projekt mehrere Berechtigungen 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>
In der folgenden Tabelle werden die Berechtigungen auf Projektebene beschrieben, die Sie zuweisen können, und gibt die Standardzuweisungen an, die in den Standardprozessvorlagen vorgenommen werden.
Berechtigung | Beschreibung | Leser | Beitragende | Buildadministratoren |
---|---|---|---|---|
GENERIC_READ | Anzeigen von Informationen auf Projektebene. Die Mitgliedschaft in Gruppen auf Projektebene und die Berechtigungen dieser Mitglieder können angezeigt werden. | ![]() |
![]() |
![]() |
VIEW_TEST_RESULTS | Testausführungen anzeigen. Testpläne in diesem Knoten können angezeigt werden. | ![]() |
![]() |
![]() |
MANAGE_TEST_CONFIGURATIONS | Verwalten von Testkonfigurationen. Kann Testkonfigurationen für das Projekt erstellen und löschen. | ![]() |
![]() |
|
MANAGE_TEST_ENVIRONMENTS | Verwalten von Testumgebungen Kann Testumgebungen für das Projekt erstellen und löschen. | ![]() |
![]() |
|
PUBLISH_TEST_RESULTS | Erstellen Sie Testausführungen. Kann Testergebnisse hinzufügen und entfernen und Testläufe für das Projekt hinzufügen oder ändern. | ![]() |
![]() |
|
DELETE_TEST_RESULTS | Testausführungen löschen. Kann einen geplanten Test für das Projekt löschen. | ![]() |
![]() |
|
DELETE | Projekt löschen. Kann aus Team Foundation Server das Projekt löschen, für das der Benutzer über diese Berechtigung verfügt. | |||
GENERIC_WRITE | Bearbeiten von Informationen auf Projektebene. Kann Berechtigungen auf Projektebene für Benutzer und Gruppen in Team Foundation Server bearbeiten. |
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 Klasse 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, 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 weiter oben in diesem Thema unter Gruppenmakros und Standardgruppen .
Das folgende Beispiel zeigt, wie Sie der Gruppe "Mitwirkende" für ein Projekt mehrere Berechtigungen 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. | ![]() |
![]() |
![]() |
WORK_ITEM_READ | Anzeigen von Arbeitselementen in diesem Knoten. Einem Bereichsknoten zugewiesene Arbeitsaufgaben können angezeigt, jedoch nicht geändert werden. | ![]() |
![]() |
![]() |
WORK_ITEM_WRITE | Bearbeiten Sie Arbeitselemente in diesem Knoten. Arbeitsaufgaben, die einem Bereichsknoten zugewiesen sind, können bearbeitet werden. | ![]() |
![]() |
|
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. | ![]() |
![]() |
|
CREATE_CHILDREN | Erstellen und Sortieren untergeordneter 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 steuern, indem Sie das Gruppenberechtigungselement und die ITERATION_NODE Klasse verwenden. Diese Berechtigungen steuern den Zugriff auf die Meilensteinversionen oder Iterationen für ein einzelnes Projekt. Sie können Zugriff auf Benutzer und Gruppen in Windows, Standard TFS-Gruppen und Gruppen gewähren, die Sie zuvor in der 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.
Im folgenden Beispiel wird gezeigt, wie Sie der Gruppe "Mitwirkende" für ein Projekt mehrere Berechtigungen 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 ITERATION_NODE
, können alle Teammitglieder Iterationsknoten erstellen, anzeigen 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 Sortieren untergeordneter 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. |