Condividi tramite


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

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

Per ogni attributo vengono applicate le definizioni seguenti:

  • name: obbligatorio. Specifica il nome del gruppo. Il nome del gruppo deve essere compreso tra 1 e 255 caratteri.

  • isTeam: facoltativo. Identifica il gruppo come team che supporta i piccoli gruppi per organizzare il lavoro in un progetto team.

  • description: obbligatorio quando il gruppo non è un team. Specifica una descrizione del gruppo. La descrizione viene visualizzata nelle pagine di sicurezza di Team Web Access.

group è un elemento figlio facoltativo di groups e Children.

Definisce un gruppo o un team e i relativi membri e autorizzazioni

groups

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

groups è un elemento figlio obbligatorio di taskXml per il plug-in Gruppi e autorizzazioni.

Contiene le definizioni di gruppi e autorizzazioni.

iterationPath

<iterationPath path="IterationName" />

iterationPath è un elemento figlio obbligatorio di iterationPaths.

Specifica un'attività cardine del team.

iterationPaths

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

iterationPaths è un elemento figlio facoltativo di teamsettings.

Specifica le attività cardine del team.

member

<member name="MemberName" ></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>
   <member> . . . </member>
</members>

members è un elemento figlio facoltativo di group.

Specifica la raccolta di membri da aggiungere al gruppo.

permission

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

Per ogni attributo vengono applicate le definizioni seguenti:

  • name: obbligatorio. Specifica il nome dell'autorizzazione. Per altre informazioni, vedere la tabella in Configurare gruppi, team, membri e autorizzazioni iniziali che descrive ogni combinazione di classe e nome che è possibile specificare come autorizzazione.

  • class: obbligatorio. Identifica la classe, o l'area, in cui viene concessa l'autorizzazione di gruppo. I valori validi sono i seguenti: NAMESPACE (a livello di raccolta), PROJECT (a livello di progetto), CSS_NODE (nel nodo dell'area) e ITERATION_NODE (nel nodo di iterazione).

  • allow: facoltativo. Specifica un valore true o false che indica se l'autorizzazione viene concessa.

permission è un elemento figlio obbligatorio di permissions.

Specifica l'autorizzazione da applicare al gruppo.

permissions

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

permissions è un elemento figlio obbligatorio di group.

Specifica la raccolta di autorizzazioni da applicare al gruppo.

teamsettings

<teamSettings areaPath="Area">
. . .
</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

Altre risorse

Applicare una regola a un campo elemento di lavoro