Gruplar ve Izinler eklentisini kullanarak grupları, takımları ve izinleri tanımlama

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

Önemli

Bu makale, şirket içi XML işlem modelleriyle ilgili proje özelleştirmesi için geçerlidir. İşlem modellerine genel bakış için bkz. iş izleme deneyiminizi özelleştirme.

Bir proje içindeki işlevsel alanlara erişimi denetlemek için güvenlik grupları tanımlayabilirsiniz. Varsayılan güvenlik gruplarınaek olarak, gruplar ve izinler eklentisini özelleştirerek projenin ilk gruplarını, grup üyelerini ve güvenlik izinlerini yapılandırabilirsiniz. Bu eklentiyle grupları, takımları tanımlayabilir, gruplara üye olarak gruplar ve kullanıcılar ekleyebilir ve gruplara izin verebilirsiniz.

Bu konu, gruplar ve Izinler eklentisi için dosyada kullanılan gruplar, IterationPath, Üyeler, izinlerve teamsettings öğelerinin sözdizimi yapısını açıklamaktadır. Bu öğelerin nasıl kullanılacağı hakkında daha fazla bilgi için bkz. ilk grupları, takımları, üyeleri ve Izinleri yapılandırma.

Gruplar eklentisinin adı ve konumu

Gruplar ve Izin eklentisi, GSS. xsd dosyasında tanımlanan şema tanımına uyması gereken GroupsandPermissions.xml eklenti dosyası tarafından tanımlanır.

Dosya, klasör ve eklenti adları şunlardır:

Dosya adı: GroupsandPermissions.xml
Klasör adı: gruplar ve izinler
Eklenti adı:| Microsoft. ProjectCreationWizard. gruplar

Not

XML dosyasının ve klasörün adlarını değiştirebilirsiniz ancak eklentinin adını değiştiremezsiniz. TFS, istemci tarafı eklentilerin, ilkelerin ve diğer değişikliklerin dağıtımı için bir mekanizma içermez. Bu tür bir işlevi dağıtmak istiyorsanız, kendi dağıtım ve yükleme programınızı kullanmanız gerekir.

Gruplar ve Izinler eklentisinde, öğe içinde bir veya daha fazla görev ve bunların bağımlılıklarını belirtirsiniz taskXml . Genellikle, işlem için oluşturulacak güvenlik grubu başına bir görev belirlersiniz. Görevleri belirtme hakkında daha fazla bilgi için bkz. eklentiyi işlemek için görevleri tanımlama.

Grupları tanımlama

Team Foundation Server ' de yeni bir güvenlik grubu belirtmek için Group öğesini kullanın.

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

Aşağıdaki örnek, okuyucu adlı bir grubun nasıl oluşturulacağını gösterir:

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

Üyeleri tanımlama

Üye öğesini, bir grubu Team Foundation Server bir güvenlik grubunun üyesi olarak atamak için kullanırsınız.

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

Not

Ekip olan bir grup (Istediğim = "true") bir grubun üyesi olamaz. Ayrıca, izin kapsayıcı öğesi, Üyeler kapsayıcı öğesinden önce gelmelidir.

Aşağıdaki örnek, TestGroup2 'in bir üyesi olarak TestGroup1 nasıl ekleneceğini gösterir.

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

Takımları ve takım ayarlarını tanımlama

Varsayılan gruplar ve Izinler eklenti dosyası içinde, @defaultTeam makro kök alan yolunda varsayılan ekibi oluşturur. Bu yapıyı, Sınıflandırma eklentisi dosyasına ek alan yolları ekleyerek değiştirebilirsiniz. Teamsettings öğesini kullanarak bir takıma atanan yinelemeleri önceden yapılandırabilirsiniz. Eklenti aşağıdaki kod parçacığını kullanır. Bu örnekte, varsayılan takım için üç yineleme tanımlanmıştır.

Önemli

Sınıflandırma eklenti dosyasında tanımlı yollara karşılık gelen yineleme yollarını atamanız gerekir. bkz. ilk alan, yineleme ve Project eşleme dosyası tanımlama.

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

Ayrıca, bir proje içinde ek takımlar tanımlayabilirsiniz. Bunu, bir grubu tanımlayarak ve özniteliğini öğesine atayarak yapabilirsiniz isTeamtrue . Aşağıdaki örnek, bir takımın, izinlerinin, üyelerinin ve ilk sprint atamalarının nasıl tanımlanacağını gösterir. Bir proje için varsayılan takım ayarlarını belirtin.

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

İzinleri tanımlama

Oluşturduğunuz her grup için izinleri belirtmeniz gerekir. Bu amaç için izin öğesini kullanın.

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

Aşağıdaki örnek, üyelerin bir proje hakkındaki bilgileri görüntülemesi için okuyucu güvenlik grubuna nasıl izin verildiğini gösterir, ancak bu bilgileri değiştiremez.

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

Gruplar öğesi başvurusu

Aşağıdaki tabloda, bir proje için ilk grupları ve izinleri tanımlamak üzere kullandığınız öğeler açıklanmaktadır. Bu öğeleri taskXml gruplar ve izinler eklenti dosyasında bir kapsayıcı öğesi içinde belirtirsiniz. Bu öğe hakkında daha fazla bilgi için bkz. eklentiyi işlemek için görevleri tanımlama.

Uyarı

GSS. xsd şema dosyası property veya properties öğelerini tanımlamaz. İşlem şablonunu karşıya yüklediğinizde, Işlem şablonu Yöneticisi bunları depolamadan önce bu öğeleri doğrular.

groupsVe group (gruplar ve izinler) öğeleri groups ve group (işlem şablonu) öğelerinden farklıdır. Son öğe çifti hakkında daha fazla bilgi için bkz. işlem şablonu XML öğeleri başvurusu.

Öğe Açıklama ve söz dizimi
grup Grupların ve altöğelerin isteğe bağlı alt öğesi. Bir grup veya takım ve izinlerini ve üyelerini tanımlar.
<group name="GroupName" isTeam="true &#124; false" description="GroupDescription"> <permissions> . . . </permissions> <members> . . . </members> </group>
Aşağıdaki tanımlar her öznitelik için geçerlidir:
- nameİstenir. Grubun adını belirtir. Grubun adı 1 ile 255 karakter uzunluğunda olmalıdır.
- isTeamSeçim. Grubu bir proje içinde düzenlemek için küçük grupları destekleyen bir ekip olarak tanımlar.
- description: Grup bir takım olmadığında gereklidir. Grubun bir açıklamasını belirtir. Açıklama Team Web Access güvenlik sayfaları içinde görüntülenir.
gruplar Gruplar ve Izinler eklentisi için taskXml öğesinin gerekli alt öğesi. Grup ve izin tanımlarını içerir.
<groups>
<group> . . . </group>
</groups>
Da IterationPath alanlarına IterationPathsöğesinin gerekli alt öğesi. Bir takım kilometre taşını belirtir.
<iterationPath path="IterationName" />
iterationPaths Teamsettings'in isteğe bağlı alt öğesi. Ekip kilometre taşlarını belirtir.
<iterationPaths backlogPath="BacklogPathName">
. . .
</iterationPaths>
üyesidir Üyeleringerekli alt öğesi. Başka bir grubun üyesi olarak eklemekte olduğunuz bir grubun adını belirtir. Gruplar oluşturabilir ve bunları TFS varsayılan grupları, önceden tanımlanmış proje grupları ve Active Directory gruplar ve kullanıcılar ile otomatik olarak doldurabilirsiniz.
<member name="MemberName" >
</member>
Varsayılan grupları belirtme hakkında daha fazla bilgi için bkz. Grup makroları ve varsayılan grupları.
üyeleri Grubun isteğe bağlı alt öğesi ve gruba eklenecek üyelerin koleksiyonunu belirtir. Üyeler kapsayıcı öğesi, izin kapsayıcı öğesini izlemelidir.
<members>
<member> . . . </member>
</members>
yetkisi İzinleringerekli alt öğesi. Gruba uygulanacak izni belirtir.
<permission name="PermissionName" class="ClassName" allow="true &#124; false" />
Aşağıdaki tanımlar her öznitelik için geçerlidir:
- nameİstenir. İznin adını belirtir. Daha fazla bilgi için, izin olarak belirtebileceğiniz her bir sınıfı ve ad birleşimini açıklayan ilk grupları, takımları, üyeleri ve Izinleri yapılandırma içindeki tabloya bakın.
- classİstenir. Grup izninin verildiği sınıfı veya alanı tanımlar. Şu değerler geçerlidir: NAMESPACE (koleksiyon düzeyi), PROJECT (proje düzeyi), CSS_NODE (alan düğümü) ve ITERATION_NODE (yineleme düğümü).
- allowSeçim. İzin verip vermediğini belirten doğru veya yanlış bir değer belirtir.
izinleri Grubun gerekli alt öğesi ve gruba uygulanacak izinlerin koleksiyonunu belirtir. İzin kapsayıcı öğesi, Üyeler kapsayıcı öğesinden önce gelmelidir.
<permissions>
<permission> . . . </permissions>
</permissions>
teamsettings Grubunisteğe bağlı alt öğesi. Projeyi varsayılan takım olarak yapılandırır ve isteğe bağlı olarak IterationPath öğesiyle ekip kilometre taşlarını belirtir.
<teamSettings areaPath="Area">
. . .
</teamSettings>