次の方法で共有


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

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

MSF (Microsoft Solutions Framework) 用のプロセス テンプレートによって、いくつかのアクセス許可が既定のグループに割り当てられます。 グループおよびアクセス許可のプラグイン ファイルをカスタマイズすることで、これらの割り当てを変更できます。 このプラグインの詳細については、「グループとアクセス許可のプラグイン」を参照してください。

このトピックの内容

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

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

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

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

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

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

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

  • イベント サブスクリプションを管理するためのアクセス許可の割り当て

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

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

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

group 要素、member 要素、およびグループの 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

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

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

  • EVENT_SUBSCRIPTION: チーム プロジェクトの通知設定の表示と変更、および通知のサブスクライブとサブスクライブ解除の設定を行うためのアクセス許可を指定します。

allow

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

path

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

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

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

注意

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

既定のグループ

マクロ

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

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

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

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

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

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

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

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

プロジェクト管理者

$$PROJECTADMINGROUP$$

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

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

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>

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

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

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

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

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

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

注意

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

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

<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 プロセス テンプレートで割り当てられません。

アクセス許可

説明

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 プロセス テンプレートで行われる既定の割り当てを次の表に示します。

アクセス許可

説明

読み取りユーザー

貢献者

ビルダー

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 プロセス テンプレートで行われる既定の割り当ても示します。

注意

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

アクセス許可

説明

読み取りユーザー

貢献者

ビルダー

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" />
</group>

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

注意

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

アクセス許可

説明

GENERIC_READ

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

CREATE_CHILDREN

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

DELETE

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

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

GENERIC_WRITE

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

イベント サブスクリプションを管理するためのアクセス許可の割り当て

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

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

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
   <permissions>
        <permission name="GENERIC_READ" class="EVENT_SUBSCRIPTION" allow="true" />
        <permission name="GENERIC_WRITE" class=" EVENT_SUBSCRIPTION" allow="true" />
        <permission name="UNSUBSCRIBE" class=" EVENT_SUBSCRIPTION" allow="true" />
   </permissions>
</group>

イベント サブスクリプションに対するアクセスを制御するために割り当てることができるアクセス許可を次の表に示します。

注意

既定では、イベント サブスクリプションのアクセス許可は MSF プロセス テンプレートでは割り当てられません。 すべてのチーム メンバーが、プロジェクト警告の表示、サブスクライブ、およびサブスクライブ解除を行うことができます。

アクセス許可

説明

GENERIC_READ

通知を表示できます。

GENERIC_WRITE

通知の設定を変更できます。

UNSUBSCRIBE

通知を取り消しできます。

参照

概念

グループとアクセス許可のプラグイン

その他の技術情報

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

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

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

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