機能領域へのアクセスの制御
チーム プロジェクトの次の機能領域 (チーム クエリ、Team Foundation バージョン管理、Team Foundation ビルド、および Visual Studio Lab Management) の初期セキュリティ設定を構成できます。Microsoft Solutions Framework (MSF) のプロセス テンプレートでは、既定のセキュリティ グループに複数のアクセス許可を割り当てます。適切な機能領域のプラグイン ファイルをカスタマイズすることで、これらの割り当てを変更できます。
Visual Studio Team Foundation Server のセキュリティ グループを構成する方法の詳細については、「初期のグループ、チーム、メンバー、およびアクセス許可の構成」を参照してください。
このトピックの内容
機能の permission 要素を使用した機能領域へのアクセス許可の割り当て
作業項目クエリのアクセス許可の割り当て
バージョン コントロールのアクセス許可の割り当て
ビルドのアクセス許可の割り当て
Lab Management のアクセス許可の割り当て
ユーザーおよびグループを管理して Visual Studio アプリケーション ライフサイクル管理 (ALM) へのアクセスを制御する方法の詳細については、「ユーザー、グループ、およびアクセス許可の構成」を参照してください。
機能の permission 要素を使用した機能領域へのアクセス許可の割り当て
機能の 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 要素に含まれる属性を次の表に示します。
属性 |
Description |
---|---|
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 プロセス テンプレートで行われる既定の割り当ても示します。既定では、クエリ フォルダーの作成者または所有者は、作成したクエリまたは所有しているクエリを管理するためのフル コントロールを持ちます。
Permission |
Description |
リーダー、貢献者、ビルダー |
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 コマンド ライン ツールを使用して設定することもできます。詳細については、「Control Access to Team Foundation Version Control」を参照してください。
ソース コード ファイルおよびフォルダーへのアクセスを制御するアクセス許可を次の表に示します。また、MSF プロセス テンプレートで行われる既定の割り当ても示します。
Permission |
Description |
読み取りユーザー |
貢献者 |
ビルダー |
プロジェクト管理者グループ |
---|---|---|---|---|---|
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 コマンド ライン ツールを使用して設定できます。詳細については、「アクセス許可の管理」を参照してください。
チーム プロジェクトのビルド関数へのアクセスを制御するために割り当てることができるアクセス許可を次の表に示します。また、MSF プロセス テンプレートで行われる既定の割り当ても示します。
[!メモ]
[ビルドによるチェックインの妥当性確認のオーバーライド] アクセス許可は、ビルド サービスのサービス アカウントと、コードの品質を担当するビルド管理者にのみ割り当てる必要があります。詳細については、「ゲート チェックイン ビルド プロセスで制御されるフォルダーへのチェックイン」を参照してください。
Permission |
Description |
読み取りユーザー |
貢献者 |
管理者を作成します。 |
プロジェクト管理者 |
プロジェクト コレクション管理者 |
---|---|---|---|---|---|---|
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 プロセス テンプレートで行われる既定の割り当ても示します。
Permission |
Description |
読み取りユーザー |
貢献者 |
プロジェクト コレクション ビルド サービス アカウント グループ |
チーム プロジェクト管理者グループ |
プロジェクト コレクション管理者グループ |
---|---|---|---|---|---|---|
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 |
[環境の操作]。スナップショットを開始、停止、一時停止、管理したり、環境でその他の操作を実行することができます。 |