次の方法で共有


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

更新 : 2011 年 4 月

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

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

このトピックの内容

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

  • グループの定義

  • メンバーの定義

  • アクセス許可の定義

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

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

グループとアクセス許可のプラグインは、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

フォルダー名:

Groups and Permissions

プラグイン名:

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>

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>

ページのトップへ

アクセス許可の定義

作成した各グループにアクセス許可を指定する必要があります。 それには、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 コンテナー要素内に指定します。 この要素の詳細については、「プラグインを処理するタスクの定義」を参照してください。

ヒント

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

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

group

<group name="GroupName" description="GroupDescription">
   <permissions> . . . </permissions>
   <members> . . . </members>
</group>

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

グループとそのグループのアクセス許可を定義します。 name 属性と description 属性は、両方とも指定する必要があります。 グループの名前は、1 ~ 255 文字にする必要があります。

groups

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

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

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

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 (イテレーション ノード) および EVENT_SUBSCRIPTION (通知の設定)。

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

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

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

permissions

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

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

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

ページのトップへ

参照

概念

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

その他の技術情報

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

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

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

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

履歴の変更

日付

履歴

理由

2011 年 4 月

スキーマ ファイルについての注意が追加され、構文情報が単一の要素リファレンスに統合されました。

情報の拡充