Definire gruppi, team e autorizzazioni mediante il plug-in Gruppi e autorizzazioni
È possibile definire gruppi di sicurezza per controllare l'accesso alle aree funzionali all'interno di un progetto team. Oltre ai gruppi di sicurezza predefiniti in Visual Studio Team Foundation Server, è possibile configurare gruppi, membri dei gruppi e autorizzazioni iniziali di un progetto team personalizzando il plug-in Gruppi e autorizzazioni. Con questo plug-in è possibile definire gruppi, team, aggiungere gruppi e utenti come membri ai gruppi e concedere autorizzazioni ai gruppi.
In questo argomento viene descritta la struttura di sintassi degli elementi groups, iterationPath, members, permissions e teamsettings che vengono usati nel file per il plug-in Gruppi e autorizzazioni. Per altre informazioni su come usare questi elementi, vedere Configurare gruppi, team, membri e autorizzazioni iniziali.
Nome e percorso del plug-in Gruppi
Il plug-in Gruppi e autorizzazioni viene definito dal file di plug-in GroupsandPermissions.xml, che deve essere conforme alla definizione dello schema inclusa nel file Gss.xsd. È possibile scaricare i file dello schema per i modelli di processo dalla seguente pagina del sito Web Microsoft: Schemi del modello di processo e degli elementi di lavoro per Visual Studio Team Foundation.
La tabella seguente elenca i nomi del file, della cartella e del plug-in per i modelli di processo per Microsoft Solutions Framework (MSF).
Nome del file: |
GroupsandPermissions.xml |
Nome della cartella: |
Gruppi e autorizzazioni |
Nome del plug-in: |
Microsoft.ProjectCreationWizard.Groups |
Nota
È possibile modificare i nomi del file XML e della cartella, ma non del plug-in.Visual Studio Team Foundation Server non include un meccanismo per la distribuzione di plug-in, criteri o altre modifiche sul lato client.Se si vuole distribuire questo tipo di funzionalità, è necessario usare il programma di distribuzione e installazione di cui si dispone.
Nel plug-in Gruppi e autorizzazioni è possibile specificare una o più attività e le relative dipendenze all'interno dell'elemento taskXml. In genere, si specifica un'attività per ciascun gruppo di sicurezza da creare per il processo. Per altre informazioni su come specificare le attività, vedere Definire le attività per elaborare un plug-in.
Definire i gruppi
Usare l'elemento group per specificare un nuovo gruppo di sicurezza in Team Foundation Server.
<group name="GroupName" description="GroupDescription"></group>
L'esempio seguente illustra come creare un gruppo denominato 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>
Definire i membri
Usare l'elemento member per assegnare un gruppo come membro di un gruppo di sicurezza in Team Foundation Server.
<member name="MemberName" ></member>
Nota
Un gruppo che è un team (isTeam="true") non può essere un membro di un gruppo.
L'esempio seguente illustra come aggiungere TestGroup1 come membro di 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>
Definire i team e impostazioni dei team
Nel file plug-in Gruppi e autorizzazioni predefinito, la macro @defaultTeam crea il team predefinito nel percorso area radice. È possibile modificare questa struttura includendo ulteriori percorsi area nel file plug-in Classificazione. Usando l'elemento teamsettings è possibile preconfigurare le iterazioni assegnate a un team. Il plug-in usa il seguente frammento di codice. In questo esempio, vengono definite tre iterazioni per il team predefinito.
Importante
È necessario assegnare percorsi di iterazione che corrispondono ai percorsi assegnati nel file di plug-in Classificazione.Vedere Definire le aree e le iterazioni iniziali nel plug-in Classification.
<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>
È anche possibile definire team aggiuntivi in un progetto team. A tal fine definire un gruppo e impostare l'attributo isTeam su true. L'esempio seguente illustra come definire un team e i relativi membri, autorizzazioni e assegnazioni iniziali dello sprint. Specificare le impostazioni del team predefinite per un progetto team.
<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>
Definire le autorizzazioni
È necessario specificare le autorizzazioni per ogni gruppo creato. A tale scopo, usare l'elemento permission.
<permission name="PermissionName" class="ClassName" allow="true | false"/>
L'esempio seguente illustra come concedere autorizzazioni al gruppo di sicurezza Reader in modo che i membri possano visualizzare, ma non modificare, informazioni su un progetto team.
<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>
Riferimento per l'elemento Groups
La tabella riportata di seguito descrive gli elementi usati per definire i gruppi e le autorizzazioni iniziali per un progetto team. Questi elementi vengono specificati all'interno di un elemento contenitore taskXml nel file di plug-in Gruppi e autorizzazioni. Per informazioni su questo elemento, vedere Definire le attività per elaborare un plug-in.
Avviso
Il file di schema Gss.xsd non definisce gli elementi property o properties.In fase di caricamento del modello di processo, Gestione modelli di processo convalida questi elementi prima di archiviarli in Team Foundation Server.
Gli elementi groups e group (Gruppi e autorizzazioni) sono distinti dagli elementi groups e group (Modello di processo).Per informazioni su quest'ultima coppia di elementi, vedere Riferimento agli elementi XML ProcessTemplate.
group |
Per ogni attributo vengono applicate le definizioni seguenti:
|
group è un elemento figlio facoltativo di groups e Children. Definisce un gruppo o un team e i relativi membri e autorizzazioni |
groups |
|
groups è un elemento figlio obbligatorio di taskXml per il plug-in Gruppi e autorizzazioni. Contiene le definizioni di gruppi e autorizzazioni. |
iterationPath |
|
iterationPath è un elemento figlio obbligatorio di iterationPaths. Specifica un'attività cardine del team. |
iterationPaths |
|
iterationPaths è un elemento figlio facoltativo di teamsettings. Specifica le attività cardine del team. |
member |
Per informazioni su come specificare i gruppi predefiniti, vedere Macro di gruppo e gruppi predefiniti definiti in Team Foundation Server. |
member è un elemento figlio obbligatorio di members. Specifica il nome di un gruppo aggiunto come membro di un altro gruppo. È possibile creare gruppi e popolarli automaticamente con gruppi predefiniti in Team Foundation Server, gruppi di progetti precedentemente definiti e gruppi e utenti in Active Directory. |
members |
|
members è un elemento figlio facoltativo di group. Specifica la raccolta di membri da aggiungere al gruppo. |
permission |
Per ogni attributo vengono applicate le definizioni seguenti:
|
permission è un elemento figlio obbligatorio di permissions. Specifica l'autorizzazione da applicare al gruppo. |
permissions |
|
permissions è un elemento figlio obbligatorio di group. Specifica la raccolta di autorizzazioni da applicare al gruppo. |
teamsettings |
|
teamsettings è un elemento figlio facoltativo di group. Configura il progetto team come team predefinito e facoltativamente specifica le attività cardine del team con l'elemento iterationPath. |
Vedere anche
Concetti
Configurare gruppi, team, membri e autorizzazioni iniziali
Controllare l'accesso ad aree funzionali
Gestire utenti o gruppi in TFS
Personalizzare un modello di processo