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

更新: 2012 年 1 月 8

グループおよびアクセス許可のプラグイン ファイルを使用すると、チーム プロジェクトの初期のセキュリティ設定を構成できます。チームが各グループに、最初のチーム設定を構成し、メンバーを再配置、および特定のアクセス許可を付与または拒否するようにセキュリティ グループ、グループを入れ子にして定義したグループを作成するタスクの定義には、を使用します。これらのタスクの実行に加え、コレクション レベル、プロジェクト レベル、およびプロジェクト分類の区分の初期のセキュリティ設定を指定できます。

Microsoft は既定のグループにテンプレートを再配置複数のアクセス許可を処理します。グループおよびアクセス許可のプラグイン ファイルをカスタマイズすることで、これらの割り当てを変更できます。このプラグインの詳細については、「グループとアクセス許可のプラグインを使用したグループ、チーム、およびアクセス許可の定義」を参照してください。

このトピックの内容

  • group 要素、member 要素、およびグループの permission 要素を使用したグループの定義とアクセス許可の割り当て

  • グループ マクロと Team Foundation Server で定義されている既定のグループ

  • グループに入れ子グループおよびメンバーを再配置

  • チームの定義

  • コレクション レベルのアクセス許可の割り当て

  • プロジェクト レベルのアクセス許可の割り当て

  • 区分パスを制御するためのアクセス許可の割り当て

  • イテレーション パスを制御するためのアクセス許可の割り当て

Team Foundation ビルド、Team Foundation バージョン管理、Visual Studio Lab Management など、チーム プロジェクトの機能領域の初期のセキュリティ設定を構成する方法については、「機能領域へのアクセスの制御」を参照してください。

作業項目の種類をカスタマイズしてグループまたはユーザーにアクセスを許可または拒否する方法については、「作業項目を作成または変更するためのアクセス許可の管理」を参照してください。

ユーザーおよびグループを管理して Visual Studio アプリケーション ライフサイクル管理 (ALM) へのアクセスを制御する方法の詳細については、「ユーザー、グループ、およびアクセス許可の構成」を参照してください。

アクセス許可グループを、メンバー、およびグループの permission 要素を使用したグループの定義と、再配置

Team Foundation Server の新しいセキュリティ グループを指定し、そのグループにメンバーを追加するには、group 要素と member 要素を使用します。グループおよびそのグループのメンバーにアクセス許可を割り当てるには、グループの permission 要素を使用します。これらの各要素は、対応するコンテナー要素である groupsmembers、および permissions の各要素内にカプセル化する必要があります。これらの各要素には、次の構文構造を使用します。

<group name="Group Name" description="Description of Group"></group>
<member name="MemberName"></member>
<permission name="PermissionName" class="ClassName" allow="True | False"/>

group 要素、member 要素、およびグループの permission 要素の属性を次の表に示します。これらの要素は、グループおよびアクセス許可プラグイン ファイルでのみ使用します。

要素

属性

説明

group

name

作成するグループの名前を指定します。

isTeam

グループがチーム (true) またはない場合 (false) を示します。

description

他のユーザー向けにグループの目的を記述します。

member

name

別のグループのメンバーとして追加するグループの名前を指定します。グループを作成し、次のいずれかの種類のメンバーを事前設定できます。

  • Team Foundation Server で定義されている既定のグループ。

  • groupsandpermissions.xml ファイルで既に作成したプロジェクト グループ (例: [$$PROJECTNAME$$]\Contributors)。

  • Active Directory で定義されているグループおよびユーザー。次の形式で指定します。

    • DOMAIN\USERNAME

    • DOMAIN\GROUPNAME

既定のグループを指定するときに使用する形式については、この後の「Team Foundation Server で定義されている既定のグループ」を参照してください。

permission

name

適用するアクセス許可を示します。サポートされているアクセス許可の一覧については、このトピックの以下のセクションを参照してください。

  • コレクション レベルのアクセス許可の割り当て

  • プロジェクト レベルのアクセス許可の割り当て

  • 区分レベルおよびイテレーション レベルを制御するためのアクセス許可の割り当て

class

グループのアクセス許可を付与するクラス (区分) を示します。有効な値は、次のとおりです。

  • NAMESPACE: コレクション レベルのアクセス許可を指定します。

  • PROJECT: プロジェクト レベルのアクセス許可を指定します。

  • CSS_NODE: チーム プロジェクトの区分パスを表示および管理するためのアクセス許可を指定します。

  • ITERATION_NODE: チーム プロジェクトのイテレーション パスを表示および管理するためのアクセス許可を指定します。

allow

truefalse のいずれかの値を使用して、アクセス許可を許可するか拒否するかを示します。

path

アクセス許可を適用する区分パスまたはイテレーション パスのノードを示します。この属性は、class が CSS_NODE または ITERATION_NODE に設定されている場合のみ有効です。

グループ マクロと Team Foundation Server で定義されている既定のグループ

Team Foundation Server で定義されている既定のグループを指定するために使用できるマクロを次の表に示します。

[!メモ]

この表に示すマクロは、グループおよびアクセス許可のプラグインでのみ指定できます。ビルド、バージョン コントロール、またはラボ管理のプラグインを使用してアクセス許可を割り当てるときにこれらのマクロを指定することはできません。

既定のグループ

マクロ

プロジェクト コレクション管理者

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

$$COLLECTIONADMINGROUP$$

プロジェクト コレクション サービス アカウント

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

プロジェクト コレクション ビルド サービス アカウント

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

$$COLLECTIONBUILDSERVICESGROUP$$

プロジェクト コレクション ビルド管理者

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

$$COLLECTIONBUILDADMINISTRATORSGROUP$$

プロジェクト管理者

$$PROJECTADMINGROUP$$

[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$

[$$PROJECTNAME$$] \Builders

プロジェクトの作成

$$CREATOR_OWNER$$

@creator

既定のチーム

@defaultTeam

グループの入れ子とグループへのメンバーの割り当ての例

TestGroup1、TestGroup2、および TestGroup3 という名前のグループを構成する方法を次の例に示します。この例では、TestGroup1 を TestGroup2 のメンバーとして追加します。このコードを有効にするには、TestGroup2 を定義する前に TestGroup1 を定義する必要があります。

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

チームの定義

グループの作成に加えて、グループをチームで再配置できます。チーム プロジェクトを作成して、既定のチームを作成します。自分の作業を他のチームとは別に整理するいくつかのチームが存在する場合、グループおよびアクセス許可プラグイン ファイル内で、次のチームを定義することも、チーム プロジェクトを作成した後、を構成できます。「チームとしての作業の開始」を参照してください。

次の例は、グループをチームで構成する方法を示します。この例では、グループ、ドリームを、チーム全員で指定し、チームのメンバーとしてチーム プロジェクトの作成者を追加します。チームに指定する、イテレーション パスを分類プラグイン ファイルで定義されている必要があります。「分類プラグインによる初期の区分およびイテレーションの定義」を参照してください。

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

コレクション レベルのアクセス許可の割り当て

コレクション レベルのアクセス許可を割り当てるには、グループの permission 要素と NAMESPACE クラスを使用します。これらのアクセス許可では、チーム プロジェクト全体で使用できるリソースに対するアクセスを制御します。コレクション レベルのアクセス許可は、次のカテゴリのユーザーに対してのみ設定できます。

  • プロジェクト コレクション管理者などのコレクション レベルのユーザーおよびグループ

  • Team Foundation を実行するサーバーでコレクション レベルに追加されたプロジェクト レベルのグループ

  • コレクション レベルに作成および追加されたカスタム グループ

グループを指定するときに使用する形式については、このトピックで既に説明した「Team Foundation Server で定義されている既定のグループ」を参照してください。

[!メモ]

これらのアクセス許可は、チーム エクスプローラーでサーバーを右クリックし、[セキュリティ] をクリックして設定できます。また、Team Foundation の管理コンソールを開いて使用するか、コマンド ライン ツールの TFSSecurity および tf を使用して設定することもできます。詳細については、「Collection-Level Groups」、「TFSSecurity を使用したグループとアクセス許可の変更」、および「Permission Command」を参照してください。

チーム プロジェクトのプロジェクト管理者にコレクション レベルのアクセス許可を付与する方法を次の例に示します。

<group name="PROJECTADMINGROUP" description="Members of this group can add, modify, and delete items within the team project.">
   <permissions>
       <permission name="GENERIC_READ" class="NAMESPACE" allow="true" />
       <permission name="WORK_ITEM_WRITE" class="NAMESPACE" allow="true" />
       <permission name="MANAGE_LINK_TYPES" class="NAMESPACE" allow="true" />
       <permission name="MANAGE_TEMPLATE" class="NAMESPACE" allow="true" />
       <permission name="MANAGE_TEST_CONTROLLERS" class="NAMESPACE" allow="true" />
    </permissions>
</group>

割り当てることができるコレクション レベルのアクセス許可を次の表に示します。

[!メモ]

既定では、コレクション レベルのアクセス許可は MSF プロセス テンプレートで割り当てられません。

Permission

説明

DIAGNOSTIC_TRACE

[トレース設定の変更]。Team Foundation Server の Web サービスに関するより詳細な診断情報を収集するためのトレースの設定を変更できます。

CREATE_PROJECTS

[新しいプロジェクトの作成]。チーム プロジェクト コレクションでプロジェクトを作成できます。

GENERIC_WRITE

[コレクションレベル情報の編集]。チーム プロジェクト コレクションのユーザーおよびグループに対するコレクション レベルのアクセス許可を編集できます。このアクセス許可を持つユーザーは、次のタスクを実行できます。

  • Team Foundation Server のコレクションでのコレクション レベルのアプリケーション グループの追加、削除、または名前変更。

    メモメモ
    プロジェクト コレクション管理者など、既定のコレクション レベル グループは削除できません。
  • Windows ユーザーのユーザーとグループ、または Team Foundation Server の別のアプリケーション グループの追加や削除 (サーバー レベル)。

  • ユーザーおよびグループに対するコレクション レベルのアクセス許可の変更。

さらに、このアクセス許可を持つユーザーは、バージョン コントロールのアクセス許可を変更することができ、バージョン コントロールのすべてのファイルに対する書き込みアクセスを持ちます。ただし、他のアクセス許可によってそれらのアクセスが明示的に拒否されている場合は除きます。

MANAGE_TEMPLATE

[プロセス テンプレートの管理]。チーム プロジェクト コレクションのプロセス テンプレートをダウンロード、作成、編集、およびアップロードできます。

MANAGE_TEST_CONTROLLERS

[テスト コントローラーの管理]。チーム プロジェクト コレクションのテスト コントローラーを登録および登録解除できます。

MANAGE_LINK_TYPES

[作業項目リンクの種類の管理]。作業項目のリンクの種類を追加、削除、および変更できます。

GENERIC_READ

[コレクションレベル情報の表示]。コレクション レベルのグループのメンバーシップ、およびそれらのユーザーのアクセス許可を参照できます。

プロジェクト レベルのアクセス許可の割り当て

プロジェクト レベルのアクセス許可は、グループおよびアクセス許可プラグイン ファイルで割り当てることができます。これらのアクセス許可を割り当てるには、グループの permission 要素と PROJECT クラスを使用します。これらのアクセス許可では、1 つのプロジェクトのリソースに対するアクセスを制御します。Windows のユーザーおよびグループ、Team Foundation のグループ、グループおよびアクセス許可プラグイン ファイルで既に定義したグループにアクセスを許可できます。グループを指定するときに使用する形式については、このトピックで既に説明した「Team Foundation Server で定義されている既定のグループ」を参照してください。

[!メモ]

チーム プロジェクトの作成後にチーム エクスプローラーでこれらのアクセス許可を設定するには、プロジェクトを右クリックして [チーム プロジェクトの設定] をクリックし、[セキュリティ] をクリックします。また、これらのアクセス許可は、TFSSecurity コマンド ライン ツールを使用して設定することもできます。詳細については、「アクセス許可の管理」を参照してください。

チーム プロジェクトの貢献者グループにいくつかのアクセス許可を付与する方法を次の例に示します。

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team 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>

割り当てることができるプロジェクト レベルのアクセス許可と、MSF プロセス テンプレートで行われる既定の割り当てを次の表に示します。

Permission

説明

読み取りユーザー

貢献者

ビルド管理者

GENERIC_READ

[プロジェクトレベル情報を表示します]。プロジェクト レベルのグループのメンバーシップ、およびそれらのメンバーのアクセス許可を参照できます。

チェック マーク チェック マーク チェック マーク

VIEW_TEST_RESULTS

[テストの実行を表示する]。このノードのテスト計画を参照できます。

チェック マーク チェック マーク チェック マーク

MANAGE_TEST_CONFIGURATIONS

[テスト構成の管理]。チーム プロジェクトのテスト構成を作成および削除できます。

チェック マーク チェック マーク

MANAGE_TEST_ENVIRONMENTS

[テスト環境の管理]。チーム プロジェクトのテスト環境を作成および削除できます。

チェック マーク チェック マーク

PUBLISH_TEST_RESULTS

[テストの実行を作成します]。テスト結果を追加および削除したり、チーム プロジェクトのテストの実行を追加または変更したりできます。

チェック マーク チェック マーク

DELETE_TEST_RESULTS

[テストの実行を削除します]。チーム プロジェクトのスケジュールされたテストを削除できます。

チェック マーク チェック マーク

DELETE

[チーム プロジェクトを削除します]。このアクセス許可の対象のプロジェクトを Team Foundation Server から削除できます。

GENERIC_WRITE

[プロジェクトレベル情報を編集します]。Team Foundation Server のユーザーおよびグループに対するプロジェクト レベルのアクセス許可を編集できます。

区分パスを制御するためのアクセス許可の割り当て

区分の定義に対するアクセスを制御するアクセス許可を割り当てるには、グループの permission 要素と CSS_NODE クラスを使用します。これらのアクセス許可では、1 つのプロジェクトの分類構造に対するアクセスを制御します。Windows のユーザーおよびグループ、Team Foundation のグループ、グループおよびアクセス許可プラグイン ファイルで既に定義したグループにアクセスを許可できます。グループを指定するときに使用する形式については、このトピックで既に説明した「Team Foundation Server で定義されている既定のグループ」を参照してください。

[!メモ]

チーム プロジェクトを作成したら、プロジェクトを右クリックし、[区分およびイテレーション] をクリックすると、[区分] のタブをクリックし、[セキュリティ] をクリックして、チーム エクスプローラー のこれらのアクセス許可を設定できます。階層内のさまざまなレベルのノードに対するアクセス許可を割り当てることができます。また、これらのアクセス許可は、TFSSecurity コマンド ライン ツールを使用して設定することもできます。詳細については、「アクセス許可の管理」を参照してください。

チーム プロジェクトの貢献者グループにいくつかのアクセス許可を付与する方法を次の例に示します。

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team 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>

プロジェクトの区分ノードとイテレーション ノードの階層構造に対するアクセスを制御するために割り当てることができるアクセス許可を次の表に示します。また、MSF プロセス テンプレートで行われる既定の割り当ても示します。

[!メモ]

作業項目を追跡するための操作には、複数のアクセス許可が必要なものもあります。たとえば、ノードの削除には複数のアクセス許可が必要です。

Permission

説明

読み取りユーザー

貢献者

ビルド管理者

GENERIC_READ

[このノードを表示します]。区分ノードのセキュリティ設定を参照できます。

チェック マーク チェック マーク チェック マーク

WORK_ITEM_READ

[このノードの作業項目を表示します]。区分ノードに割り当てられている作業項目を参照できます。ただし、変更はできません。

チェック マーク チェック マーク チェック マーク

WORK_ITEM_WRITE

[このノードの作業項目を編集します]。区分ノードに割り当てられている作業項目を編集できます。

チェック マーク チェック マーク

MANAGE_TEST_PLANS

[テスト計画の管理]。区分ノードに割り当てられる作業項目を作成および編集できます。テスト計画が実行されていない場合は、削除することもできます。

チェック マーク チェック マーク

CREATE_CHILDREN

[子ノードを作成し、順序を付けます]。区分ノードを作成できます。このアクセス許可と GENERIC_WRITE アクセス許可の両方を持つユーザーは、子区分ノードを移動したり並べ替えたりできます。

DELETE

[このノードを削除します]。区分ノードを削除できます。

このアクセス許可と、別のノードに対する GENERIC_WRITE アクセス許可の両方を持つユーザーは、区分ノードの削除と、削除したノードの既存の作業項目の再分類を実行できます。削除されたノードに子ノードがある場合、それらのノードも削除されます。

GENERIC_WRITE

[このノードを編集します]。区分ノードのアクセス許可を設定したり、区分ノードの名前を変更したりできます。

イテレーション パスを制御するためのアクセス許可の割り当て

イテレーション パスに対するアクセスを制御するアクセス許可を割り当てるには、グループの permission 要素と ITERATION_NODE クラスを使用します。これらのアクセス許可では、1 つのプロジェクトのマイルストーン リリース (イテレーション) に対するアクセスを制御します。Windows のユーザーおよびグループ、Team Foundation のグループ、グループおよびアクセス許可プラグイン ファイルで既に定義したグループにアクセスを許可できます。グループを指定するときに使用する形式については、このトピックで既に説明した「Team Foundation Server で定義されている既定のグループ」を参照してください。

[!メモ]

チーム プロジェクトの作成後にチーム エクスプローラーでこれらのアクセス許可を設定するには、プロジェクトを右クリックして [区分およびイテレーション] をクリックし、[イテレーション] タブをクリックして [セキュリティ] をクリックします。階層内のさまざまなレベルのノードに対するアクセス許可を割り当てることができます。また、これらのアクセス許可は、TFSSecurity コマンド ライン ツールを使用して設定することもできます。詳細については、「アクセス許可の管理」を参照してください。

チーム プロジェクトの貢献者グループにいくつかのアクセス許可を付与する方法を次の例に示します。

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team 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>

プロジェクトのイテレーション ノードの階層構造に対するアクセスを制御するために割り当てることができるアクセス許可を次の表に示します。MSF プロセス テンプレートでは ITERATION_NODE のアクセス許可を指定しないため、すべてのチーム メンバーがイテレーション ノードを作成、表示、および削除できます。

[!メモ]

作業項目を追跡するための操作には、複数のアクセス許可が必要なものもあります。たとえば、ノードの削除には複数のアクセス許可が必要です。

Permission

説明

GENERIC_READ

[このノードを表示します]。ノードのセキュリティ設定を参照できます。

CREATE_CHILDREN

[子ノードを作成し、順序を付けます]。イテレーション ノードを作成できます。このアクセス許可と GENERIC_WRITE アクセス許可の両方を持つユーザーは、イテレーション ノードを移動したり並べ替えたりできます。

DELETE

[このノードを削除します]。イテレーション ノードを削除できます。

このアクセス許可と、別のノードに対する GENERIC_WRITE アクセス許可の両方を持つユーザーは、イテレーション ノードの削除と、削除したノードの既存の作業項目の再分類を実行できます。削除されたノードに子ノードがある場合、それらのノードも削除されます。

GENERIC_WRITE

[このノードを編集します]。イテレーション ノードのアクセス許可を設定したり、ノードの名前を変更したりできます。

参照

概念

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

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

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

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

その他の技術情報

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

履歴の変更

日付

履歴

理由

2012 年 1 月 8

チームの定義に関する情報を追加。

情報の拡充