機能領域へのアクセスの制御
チーム プロジェクトの次の機能領域の初期セキュリティ設定を構成できます: チーム クエリ、Team Foundation バージョン管理、Team Foundation ビルド、Visual Studio Lab Management。 Microsoft Solutions Framework (MSF) のプロセス テンプレートでは、既定のセキュリティ グループに複数のアクセス許可を割り当てます。 適切な機能領域のプラグイン ファイルをカスタマイズすることで、これらの割り当てを変更できます。
Visual Studio Team Foundation Server のセキュリティ グループを構成する方法の詳細については、「初期のグループ、チーム、メンバー、およびアクセス許可の構成」を参照してください。
ユーザーおよびグループを管理して Visual Studio アプリケーション ライフサイクル管理 (ALM) へのアクセスを制御する方法の詳細については、「TFS でのユーザーまたはグループの管理」を参照してください。
機能領域へのアクセス許可の割り当て
機能の permission 要素を使用して、Team Foundation Server のセキュリティ グループ、Windows グループ、または Windows ID に対する機能領域のアクセス許可を許可または拒否できます。 この要素は、作業項目トラッキング、Team Foundation バージョン管理、Team Foundation ビルド、および Lab Management のプラグイン ファイルで使用します。 permission 要素は、対応するコンテナーの permissions 要素内にカプセル化する必要があります。 機能の permission 要素には、次の構文構造を使用します。
<permission allow="PermissionName" identity="GroupName"/>
<permission deny="PermissionName" identity="GroupName"/>
<permission allow="PermissionName" deny="PermissionName" identity="GroupName"/>
機能の permission 要素に含まれる属性を次の表に示します。
属性 |
説明 |
---|---|
allow |
付与されるアクセス許可を識別します。 アクセス許可をコンマ区切りのテキストで指定します。 各機能領域に対して定義されているアクセス許可の名前については、このトピックの次のセクションを参照してください。
|
deny |
拒否するアクセス許可を識別します。 アクセス許可をコンマ区切りのテキストで指定します。 注意 拒否されたアクセス許可は、許可されたアクセス許可よりも優先されます。 |
identity |
アクセス許可が適用される Team Foundation Server のセキュリティ グループ、Windows グループ、または Windows ID を指定します。 グループを指定するときに使用する形式については、「初期のグループ、チーム、メンバー、およびアクセス許可の構成」の「Team Foundation Server で定義されている既定のグループ」を参照してください。 |
次の例は、Contributors グループがビルドおよびビルド定義を表示し、ビルドをキューに配置してビルドの品質評価を編集することができるように、アクセス許可を付与する方法を示しています。
<taskXml>
<permission allow="Read, PendChange, Checkin, Label, Lock" identity="[$$PROJECTNAME$$]\Contributors"/>
</taskXml>
注意
実行時に ID のアクセス許可が見つからない場合、その ID が属する他のグループでアクセス許可が検索されます。アクセス許可が見つからない場合は、既定でアクセス許可が拒否されます。
作業項目クエリのアクセス許可の割り当て
作業項目プラグイン ファイルでは、チーム クエリ フォルダーへのアクセスを制御するアクセス許可を割り当てることができます。 クエリ フォルダー アクセス許可は、クエリおよびクエリ フォルダーに固有です。 Windows のユーザーおよびグループまたは Team Foundation Server に対して定義されている既定のグループにアクセスを許可できます。
これらのアクセス許可を割り当てるには、次の例で示されているようにして、機能の permission 要素を使用します。
<Permission allow="Read, Contribute, Delete, ManagePermissions, FullControl" identity="="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" />
注意
チーム プロジェクトの作成後、チーム エクスプローラーでクエリ フォルダーまたはクエリを右クリックし、[セキュリティ] をクリックして、アクセス許可を設定できます。詳細については、「クエリに対するアクセス許可の設定」を参照してください。
クエリ フォルダーおよびクエリへのアクセスを制御するアクセス許可を次の表に示します。 また、MSF プロセス テンプレートでなされる既定の割り当ても示します。 既定では、クエリまたはクエリ フォルダーの作成者または所有者は、作成したクエリまたは所有しているクエリを管理するためのフル コントロールを付与されています。
アクセス許可 |
説明 |
リーダー、貢献者、ビルダー |
Creator Owner、プロジェクト管理者グループ、プロジェクト コレクション管理者 |
---|---|---|---|
Read |
[読み取り]。 クエリを表示および実行したり、クエリ フォルダーとその内容を表示したりできます |
||
Contribute |
[投稿]。 クエリまたはクエリ フォルダーとその内容を表示および編集できます |
||
Delete |
[削除]。 クエリまたはクエリ フォルダーとその内容を表示、編集、削除できます |
||
ManagePermissions |
[アクセス許可の管理]。 クエリまたはクエリ フォルダーとその内容のアクセス許可を管理できます |
||
FullControl |
[フル コントロール]。 クエリまたはクエリ フォルダーとその内容を表示、編集、削除、およびアクセス許可を管理できます |
バージョン管理のアクセス許可の割り当て
バージョン管理のプラグイン ファイルを変更することにより、ソース コード ファイルおよびフォルダーへのアクセスを制御するアクセス許可を割り当てることができます。 バージョン管理のアクセス許可は、ソース コード ファイルおよびフォルダーに固有です。 Windows のユーザーおよびグループまたは Team Foundation Server に対して定義されている既定のグループにアクセスを許可できます。
これらのアクセス許可を割り当てるには、次の例で示されているようにして、機能の permission 要素を使用します。
<permission allow="Read, PendChange, Checkin, Label, Lock, Merge" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
注意
チーム プロジェクトの作成後にこれらのアクセス許可を設定するには、ソース管理エクスプローラーでフォルダーまたはファイルを右クリックし、[プロパティ] をクリックして [セキュリティ] タブをクリックします。そのタブで、アクセス許可を変更するユーザーまたはグループをクリックし、[アクセス許可] に示されているアクセス許可を編集できます。これらのアクセス許可は、バージョン管理の tf コマンド ライン ツールまたは TFSSecurity コマンド ライン ツールを使用して設定することもできます。詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。
ソース コード ファイルおよびフォルダーへのアクセスを制御するアクセス許可を次の表に示します。 また、MSF プロセス テンプレートでなされる既定の割り当ても示します。
アクセス許可 |
説明 |
Readers |
貢献者 |
ビルダー |
プロジェクト管理者グループ |
---|---|---|---|---|---|
Read |
[読み取り]。 ファイルまたはフォルダーの内容を表示できます。 フォルダーに対する [読み取り] のアクセス許可を付与されているが、フォルダー内に含まれるファイルに対するアクセス許可は付与されていないユーザーは、このようなファイルの名前およびプロパティは表示できますが、ファイルを開くことはできません。 |
||||
PendChange |
[チェックアウト]。 項目に対する保留中の変更をチェックアウトおよび作成できます。 保留中の変更には、ファイルの追加、編集、名前の変更、削除、削除取り消し、分岐、マージなどが含まれます。 |
||||
Merge |
[マージ]。 アクセス許可を持つパスに変更をマージできます。 |
||||
Checkin |
[チェックイン]。 項目をチェックインして、コミットされた変更セット コメントを修正できます。 項目にユーザーがチェックインすると、保留中の変更がコミットされます。 |
||||
Label |
[ラベル]。 項目にラベルを付けることができます。 |
||||
Lock |
[ロック]。 他のユーザーが更新できないように、項目をロックできます。 |
||||
ReviseOther |
[他のユーザーの変更を編集]。 他のユーザーの変更セット コメントおよびチェックイン メモの内容を変更できます。 |
||||
UnlockOther |
[他のユーザーの変更のロック解除]。 他のユーザーのロックを解除できます。 |
||||
UndoOther |
[他のユーザーの変更を元に戻す]。 他のユーザーの保留中の変更を元に戻すことができます。 |
||||
LabelOther |
[ラベルの管理]。 他のユーザーのラベルを変更できます。 |
||||
AdminProjectRights |
[アクセス許可の管理]。 バージョン管理のセキュリティ設定を指定できます。 |
||||
CheckinOther |
[別のユーザーの変更をチェックインする]。 別のユーザーとしてチェックインを実行できます。 このアクセス許可は、変換ユーティリティで必要です。 |
||||
ManageBranch |
[分岐の管理]。 特定のパスに対してこのアクセス許可を持つユーザーは、そのパスの下にある任意のフォルダーを分岐に変換できます。 分岐に対してこのアクセス許可を持つユーザーは、プロパティの編集、親の再設定、およびフォルダーへの変換も実行できます。 このアクセス許可を持つユーザーは、対象のパスに対する [マージ] のアクセス許可も持っている場合にのみ、この分岐を分岐させることができます。 ユーザーは、[分岐の管理] のアクセス許可を持たない分岐から分岐を作成することはできません。 |
ビルドのアクセス許可の割り当て
ビルドのプラグイン ファイルを変更することで、ビルド アクティビティへのアクセスを制御するアクセス許可を割り当てることができます。 Windows のユーザーおよびグループと Team Foundation Server のグループにアクセスを許可できます。 グループを指定するときに使用する形式の詳細については、「初期のグループ、チーム、メンバー、およびアクセス許可の構成」の「Team Foundation Server で定義されている既定のグループ」を参照してください。
これらのアクセス許可を割り当てるには、次の例で示されているようにして、機能の permission 要素を使用します。
<Permission allow="ViewBuildDefinition, QueueBuilds, ViewBuilds, EditBuildQuality" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
注意
チーム プロジェクトの作成後にこれらのアクセス許可を設定するには、チーム エクスプローラー でプロジェクトを開き、[ビルド] を右クリックして [セキュリティ] をクリックします。ビルド定義を右クリックし、[セキュリティ] をクリックして、アクセス許可を特定のビルド定義に適用できます。ビルド フォルダーにアクセス許可を適用する場合は、そのフォルダーを右クリックし、[セキュリティ] をクリックします。また、これらのアクセス許可は、TFSSecurity コマンド ライン ツールを使用して設定できます。詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。
チーム プロジェクトのビルド関数へのアクセスを制御するために割り当てることができるアクセス許可を次の表に示します。 また、MSF プロセス テンプレートで行われる既定の割り当ても示します。
注意
[ビルドによるチェックインの妥当性確認のオーバーライド] アクセス許可は、ビルド サービスのサービス アカウントと、コードの品質を担当するビルド管理者にのみ割り当てる必要があります。詳細については、「ゲート チェックイン ビルド処理によって制御されるフォルダーにチェックインする」を参照してください。
アクセス許可 |
説明 |
読み取りユーザー |
貢献者 |
ビルド管理者 |
プロジェクト管理者 |
プロジェクト コレクション管理者 |
---|---|---|---|---|---|---|
ViewBuildDefinition |
[ビルド定義の表示]。 チーム プロジェクト用に作成されたビルド定義を表示できます。 |
|||||
ViewBuilds |
[ビルドの表示]。 このチーム プロジェクトのキューに入れられたビルドと完了したビルドを表示できます。 |
|||||
EditBuildQuality |
[ビルドの品質評価の編集]。 Team Foundation ビルド のインターフェイスを通じて、ビルドの品質に関する情報を追加できます。 |
|||||
QueueBuilds |
[ビルドをキューに挿入]。 Team Foundation ビルド のインターフェイス、またはコマンド プロンプトで、ビルドをキューに追加できます。 |
|||||
DeleteBuildDefinition |
[ビルド定義の削除]。 ビルド定義を削除できます。 |
|||||
DeleteBuilds |
[ビルドの削除]。 完了したビルドを削除できます。 |
|||||
DestroyBuilds |
[ビルドの破棄]。 完了したビルドを完全に削除できます。 |
|||||
EditBuildDefinition |
[ビルド定義の編集]。 ビルド定義を作成および変更できます。 |
|||||
ManageBuildQualities |
[ビルドの品質評価の管理]。 [配置の準備完了]、[却下]、[調査中] などのビルドの品質評価を追加または削除できます。 詳細については、「ビルドの品質評価の値の追加または削除」を参照してください。 |
|||||
ManageBuildQueue |
[ビルド キューの管理]。 キューに入れられたビルドをキャンセル、優先順位を付け直す、または延期することができます。 |
|||||
RetainIndefinitely |
[無期限に保持]。 どの適用可能な保持ポリシーによっても自動的に削除されないようにビルドにマークを付けることができます。 |
|||||
StopBuilds |
[ビルドの停止]。 進行中のビルドを停止できます。 |
|||||
OverrideBuildCheckInValidation |
[ビルドによるチェックインの妥当性確認のオーバーライド]。 最初にシステムをトリガーして変更をシェルブおよびビルドしなくても、ゲート ビルド定義に影響を与える変更セットをコミットできます。 詳細については、「ゲート チェックイン ビルド処理によって制御されるフォルダーにチェックインする」を参照してください。 |
|||||
UpdateBuildInformation |
[ビルド情報の更新]。 ビルドの品質に関する情報を追加できます。 このアクセス許可は、サービス アカウントにのみ割り当てることをお勧めします。 |
Lab Management のアクセス許可の割り当て
ラボのプラグイン ファイルを変更することで、Lab Management のアクティビティへのアクセスを制御できます。 Lab Management のアクセス許可は、仮想マシン、環境、および他のリソースに固有です。 Windows のユーザーおよびグループと Team Foundation Server のグループにアクセスを許可できます。 これらのアクセス許可を割り当てるには、次の例で示されているようにして、機能の permission 要素を使用します。
<permission allow="Read, Create, Write, Edit, Start, Stop, ManageSnapshots, Pause" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
注意
Lab Management のアクセス許可は、TFSLabConfig コマンド ライン ツールを使用して設定できます。特定のラボ リソースについての情報を表示するには、そのリソースに対する [読み取り] のアクセス許可が必要です。場所を削除するには、その場所に対する [ラボの場所の削除] アクセス許可が必要です。 詳細については、「TFSLabConfig Permissions コマンド」を参照してください。
Visual Studio Lab Management へのアクセスを制御するために割り当てることができるアクセス許可を次の表に示します。 また、MSF プロセス テンプレートで行われる既定の割り当ても示します。
アクセス許可 |
説明 |
読み取りユーザー |
貢献者 |
プロジェクト コレクション ビルド サービス アカウント グループ |
チーム プロジェクト管理者グループ |
プロジェクト コレクション管理者グループ |
---|---|---|---|---|---|---|
Read |
[ラボ リソースの表示]。 コレクション ホスト グループ、プロジェクト ホスト グループ、環境など、さまざまな Lab Management リソースの情報を参照できます。 |
|||||
Create |
[仮想マシンのインポート]。 VMM (Virtual Machine Manager) ライブラリ共有から仮想マシンをインポートできます。 このアクセス許可を付与されたユーザーは、Lab Management でオブジェクトを作成できますが VMM ホスト グループとライブラリ共有には何も書き込まないため、[書き込み] とは異なります。 |
|||||
Write |
[環境と仮想マシンの書き込み]。 環境を作成できます。 プロジェクト ライブラリ共有に対してこのアクセス許可を持つユーザーは、環境および仮想マシンを保存できます。 |
|||||
Edit |
[環境と仮想マシンの編集]。 環境および仮想マシンを編集できます。 編集するオブジェクトに対してアクセス許可がチェックされます。 |
|||||
Start |
[開始]。 環境を開始できます。 |
|||||
Stop |
[停止]。 環境を停止できます。 |
|||||
Pause |
[一時停止]。 環境を一時停止できます。 |
|||||
ManageSnapshots |
[スナップショットの管理]。 スナップショットの取得、スナップショットへの復元、スナップショットの名前変更、スナップショットの削除、スナップショットの読み取りなど、すべてのスナップショット管理タスクを実行できます。 |
|||||
Delete |
[環境と仮想マシンの削除]。 環境および仮想マシンを削除できます。 削除するオブジェクトに対してアクセス許可がチェックされます。 |
|||||
ManageLocation |
[ラボの場所の管理]。 コレクション ホスト グループ、コレクション ライブラリ プロジェクト、プロジェクト ホスト グループ、プロジェクト ライブラリ共有など、Lab Management リソースの場所を編集できます。 コレクション レベルの場所 (コレクション ホスト グループとコレクション ライブラリ共有) に対してこのアクセス許可を付与されたユーザーは、プロジェクト レベルの場所 (プロジェクト ホスト グループとプロジェクト ライブラリ共有) を作成できます。 |
|||||
DeleteLocation |
[ラボの場所の削除]。 コレクション ホスト グループ、コレクション ライブラリ共有、プロジェクト ホスト グループ、プロジェクト ライブラリ共有など、Lab Management リソースの場所を削除できます。 |
|||||
ManageChildPermissions |
[子権限の管理]。 Lab Management のすべての子オブジェクトのアクセス許可を変更できます。 たとえば、ユーザーがチーム プロジェクト ホスト グループに対してこのアクセス許可を持っている場合、そのユーザーはそのグループにあるすべての環境のアクセス許可を変更できます。 |
|||||
ManagePermissions |
[アクセス許可の管理]。 Lab Management のオブジェクトのアクセス許可を変更できます。 このアクセス許可は、アクセス許可を変更するオブジェクトに対してチェックされます。 |
|||||
EnvironmentOps |
[環境の操作]。 環境でのスナップショットの開始、停止、一時停止、管理、および環境での他の操作の実行ができます。 |