次の方法で共有


グループとアクセス許可のプラグインを使用したグループ、チーム、およびアクセス許可の定義

更新: 2012 年 1 月 8

セキュリティ グループを定義すると、チーム プロジェクト内の機能領域へのアクセスを制御できます。Visual Studio Team Foundation Server での既定のセキュリティ グループ以外にも、グループおよびアクセス許可のプラグインをカスタマイズすることで、チーム プロジェクトの初期のグループ、グループ メンバー、およびセキュリティ アクセス許可を構成できます。このプラグインを使用すると、グループ、チームを定義し、メンバー、およびグループへのアクセス許可の付与としてグループにユーザーとグループを追加できます。

このトピック groupsの構文構造を、iterationPath、memberspermissionsとグループとアクセス許可のプラグインのは、ファイルで使用される teamsettings の要素について説明します。これらの要素の使用方法の詳細については、「初期のグループ、チーム、メンバー、およびアクセス許可の構成」を参照してください。

このトピックの内容

  • グループ プラグインの名前と場所

  • グループの定義

  • メンバーの定義

  • と、チームの設定の定義

  • アクセス許可の定義

  • グループ要素リファレンス

グループ プラグインの名前と場所

グループとアクセス許可のプラグインは、GroupsandPermissions.xml プラグイン ファイルで定義されます。このファイルは、Gss.xsd ファイルで定義されるスキーマ定義に従っている必要があります。プロセス テンプレートのスキーマ ファイルは、Microsoft Web サイトの「Process Template and Work Item Schemas for Visual Studio Team Foundation (Visual Studio Team Foundation のプロセス テンプレート スキーマと作業項目スキーマ)」でダウンロードできます。

次の表に、MSF (Microsoft Solutions Framework) 用のプロセス テンプレートのファイル、フォルダー、およびプラグインの名前を示します。

ファイル名:

GroupsandPermissions.xml

フォルダー名:

グループおよびアクセス許可

プラグイン名:

Microsoft.ProjectCreationWizard.Groups

[!メモ]

この XML ファイルとフォルダーの名前は変更できますが、プラグインの名前は変更できません。Visual Studio Team Foundation Server には、クライアント側のプラグイン、ポリシー、その他の変更を配置する機構は含まれていません。このような機能を配置するには、配布とインストールを行う独自のプログラムを使用する必要があります。

グループとアクセス許可のプラグインでは、1 つまたは複数のタスクとその依存関係を taskXml 要素内で指定します。一般には、プロセスに対して、1 つのセキュリティ グループにつき 1 つのタスクを作成するよう指定します。タスクを指定する方法の詳細については、「プラグインを処理するタスクの定義」を参照してください。

ページのトップへ

グループの定義

Team Foundation Server の新しいセキュリティ グループを指定するには、group 要素を使用します。

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

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>

ページのトップへ

メンバーの定義

グループを Team Foundation Server のセキュリティ グループのメンバーとして割り当てるには、member 要素を使用します。

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

[!メモ]

チーム (isTeam="true") でないグループは、グループのメンバーであることはできません。

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

ページのトップへ

と、チーム設定の定義

既定のグループおよびアクセス許可プラグイン ファイル内では、@defaultTeam のマクロは、ルート部分パスで既定のチームを作成します。分類プラグイン ファイル内の追加の区分パスを含めることによって、この構造体を変更できます。teamsettings の要素を使用すると、チームに再配置イテレーションをあらかじめ構成できます。プラグインは、次のコードを使用します。この例では、3 回のイテレーションは既定のチーム用に定義されます。

重要 : 重要

分類プラグイン ファイルで再配置パスに対応するイテレーション パスを再配置する必要があります。「分類プラグインによる初期の区分およびイテレーションの定義」を参照してください。

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

また、チーム プロジェクト内の追加のチームを定義できます。グループを定義して trueへ isTeam の属性を再配置する必要があります。次の例では、チーム メンバー、およびアクセス許可と最初のスプリントの割り当てを定義する方法を示します。チーム プロジェクトに対して既定のチーム設定を指定します。

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

アクセス許可の定義

作成した各グループにアクセス許可を指定する必要があります。それには、permission 要素を使用します。

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

次の例は、Reader セキュリティ グループに対して、メンバーがチーム プロジェクトに関する情報を参照できるが変更はできないようにアクセス許可を与える方法を示しています。

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

ページのトップへ

要素の参照をグループ化

チーム プロジェクトの初期のグループとアクセス許可の定義に使用する要素を次の表に示します。これらの要素は、グループおよびアクセス許可のプラグイン ファイルの taskXml コンテナー要素内に指定します。この要素の詳細については、「プラグインを処理するタスクの定義」を参照してください。

Caution メモ注意

Gss.xsd スキーマ ファイルでは、property 要素または properties 要素は定義されません。プロセス テンプレートをアップロードすると、これらの要素はプロセス テンプレート マネージャーによって検証された後に Team Foundation Server に保存されます。

groups 要素および group (グループおよびアクセス許可) 要素は、groups 要素および group (プロセス テンプレート) 要素とは異なります。後者の要素のペアの詳細については、「ProcessTemplate XML 要素のリファレンス」を参照してください。

group

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

次の定義は、各属性に適用されます:

  • name: 必須。グループの名前を指定します。グループの名前は、1 ~ 255 文字にする必要があります。

  • isTeam: (省略可能)。チーム プロジェクト内の作業を整理するための小さなグループをサポートするグループをチームで識別します。

  • description: グループがチームでない場合は必須です。グループの説明を指定します。ついては Team System Web Accessのセキュリティのページ内に表示されます。

group は、groups および Children の省略可能な子要素です。

グループまたはチーム メンバー、およびアクセス許可を定義します。

groups

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

groups は、グループおよびアクセス許可のプラグインの taskXml に必須の子要素です。

グループおよびアクセス許可の定義を含みます。

iterationPath

<iterationPath path="IterationName" />

iterationPath は iterationPaths に必須の子要素です。

チーム マイルストーンを指定します。

iterationPaths

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

iterationPaths は、teamsettings の子要素で、省略可能な要素です。

チーム マイルストーンを指定します。

member

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

既定のグループを指定する方法の詳細については、「グループ マクロと Team Foundation Server で定義されている既定のグループ」を参照してください。

member は、members に必須の子要素です。

別のグループのメンバーとして追加するグループの名前を指定します。グループを作成し、そのグループに Team Foundation Server の既定グループ、以前に定義したプロジェクト グループ、および Active Directory のグループとユーザーのデータを自動的に設定することができます。

members

<members>
   <member> . . . </member>
</members>

members は、group の省略可能な子要素です。

グループに追加されるメンバーのコレクションを指定します。

permission

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

各属性に適用する定義は次のとおりです。

  • name: 必須。アクセス許可の名前を指定します。詳細については、アクセス許可として指定できるクラスと名前の組み合わせについて説明されている「初期のグループ、チーム、メンバー、およびアクセス許可の構成」の表を参照してください。

  • class: 必須。グループのアクセス許可を付与するクラス (区分) を示します。有効な値: NAMESPACE (コレクション レベル)、PROJECT (プロジェクト レベル)、(CSS_NODE (エリア ノード) と ITERATION_NODE (イテレーション ノード)。

  • allow: (省略可能)。アクセス許可を付与するかどうか示す、true または false の値を指定します。

permission は、permissions に必須の子要素です。

グループに適用されるアクセス許可を指定します。

permissions

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

permissions は、group に必須の子要素です。

グループに適用されるアクセス許可のコレクションを指定します。

teamsettings

<teamSettings areaPath="Area">
. . .
</teamSettings>

teamsettings は、group の子要素で、省略可能な要素です。

チーム プロジェクトを、既定のチーム設定し、オプションで iterationPath の要素を持つチーム マイルストーンを指定します。

ページのトップへ

参照

概念

初期のグループ、チーム、メンバー、およびアクセス許可の構成

機能領域へのアクセスの制御

ユーザー、グループ、およびアクセス許可の構成

プロセス テンプレート内の機能区分のカスタマイズ

その他の技術情報

作業項目を作成または変更するためのアクセス許可の管理

履歴の変更

日付

履歴

理由

2012 年 1 月 8

チームの定義についての情報を訂正とグループをチームで指定するために使用します isTeam の属性に関する情報を追加。

コンテンツ バグ修正