TFS でのユーザーまたはグループの管理
ユーザーが Team Foundation Server (TFS) のチーム プロジェクトにアクセスするには、それらのユーザーにアクセス許可を付与する必要があります。 小規模なチームの管理者で、アクセス制限が重要ではない場合は、単に TFS にチーム メンバーを追加します。
チーム内でさまざまな役割を果たす多数のユーザーにアクセス許可を付与することが必要な場合、推奨される方法は、Windows または Active Directory グループを作成し、それらのグループを TFS グループに追加した後、その他のリソースへのアクセス許可を付与する際にそれら同じグループを追加するというものです。
最後の 3 つの手順は省略可能です。 チーム プロジェクトが SQL Server Reporting Services または SharePoint サイトでプロビジョニングされている場合、必要なのは、レポートまたはプロジェクト ポータルのためのアクセス許可を付与することだけです。 また、グループ全体にプレミアム機能へのアクセス許可を付与することが必要な場合、また利害関係者またはライセンスされていないユーザーに対して制限付きアクセスを有効にする場合も、アクセス レベルを変更するだけです。
ユーザーおよびグループに対して、チーム プロジェクトやリソースへのアクセスを付与します。 一部のユーザーまたはグループについて機能へのアクセスを制限する: 管理アクセスを提供する: |
TFS によるアクセス管理の方法
適切なユーザーに対して機能への適切なアクセスやアクセス許可を付与することが必要な場合、相互に関連する 3 つの機能領域を通じての TFS によるアクセス制御について理解しておくことが役立ちます。
アクセス レベルの管理 TWA、TFS Web アプリケーションによって提供される機能のみに対するアクセスを制御します。 管理者は、ユーザーのライセンスに基づき、標準、フルまたは制限付きの機能セットに対するアクセスを付与します。 ライセンスについては、Visual Studio MSDN ライセンス ホワイト ペーパー を参照してください。
メンバーシップ管理では、Windows の個々のユーザー アカウントおよびグループを TFS の既定のグループに追加する操作がサポートされています。 また、TFS グループを作成することができます。 TFS の各既定グループは、既定のアクセス許可のセットに関連付けられています。 TFS の任意のグループに追加するすべてのユーザーは、有効なユーザーのグループに追加されます。 有効なユーザーは、チーム プロジェクトに接続できる人です。
アクセス許可の管理は、システムのさまざまなレベルで特定の機能タスクへのアクセスを制御します。 オブジェクト レベルのアクセス許可は、ファイル、フォルダー、ビルド定義、または共有クエリに対するアクセス許可を設定します。 許可の設定値は、それぞれ許可、拒否、継承された許可、継承された拒否、および設定されていないに対応します。
各機能領域では、展開の管理をシンプルにするためにグループを使用します。 ユーザーとグループを追加するには、TFS Web サービス管理のページを使用します。 アクセス許可は、ユーザーを追加する先の TFS グループに基づいて、またはグループを追加する先のオブジェクト、プロジェクト、コレクション、またはサーバー レベルに基づいて自動的に設定されます。 一方、アクセス レベルの管理では、すべてのユーザーおよびグループのアクセスをサーバー レベルで制御します。
メモ:
標準機能: チーム Web アクセス (TWA) のホーム、コード、作業、構築、および管理のページへのアクセスが含まれます。 アクセス レベルの詳細については、こちらを参照してください。
AD: Active Directory。 ローカル グループまたは Active Directory グループを作成して、ユーザーを管理できます。 グループを使用する場合は、そのグループのメンバーシップが TFS ユーザーに制限されることを確認します。 グループ メンバーシップはその所有者がいつでも変更できるため、その所有者が TFS を考慮せずにグループを作成した場合、メンバーシップを変更すると、TFS で望ましくない副作用が発生する可能性があります。
アクセス許可の設定については、以下の点を知っておく必要があります。
許可または拒否は、ユーザーに対して特定のタスクの実行を明示的に許可または制限し、通常は、グループのメンバーシップから継承されます。
設定されていないの場合、そのアクセス許可を必要とするタスクをユーザーが実行しようとすると暗黙的には拒否されますが、そのアクセス許可が設定されているグループのメンバーシップのほうが優先されます。これは、継承された許可および継承された拒否とも呼ばれます。
ほとんどのグループおよびほとんどすべてのアクセス許可では、許可があっても拒否のほうが優先されることになります。 あるユーザーが 2 つのグループに所属していて、そのうちの一方において特定のアクセス許可が拒否に設定されている場合、そのユーザーがそのアクセス許可を必要とするタスクを実行しようとすると、アクセス許可が許可に設定されているグループに属しているとしても、実行はできません。
プロジェクト コレクション管理者または Team Foundation 管理者グループのメンバーの場合、拒否が許可より優先されることはありません。 これらのグループに割り当てられたアクセス許可は、そのメンバーが属しているかもしれない他のグループ内で設定されている拒否よりも優先されます。
グループのアクセス許可を変更すると、そのグループのメンバーシップを通じて、そのアクセス許可が付与されているすべてのユーザーについて、アクセス許可が変更されます。 つまり、グループのサイズによっては、1 つのアクセス許可を変更するだけで、数百人のユーザーのジョブに影響を与える可能性があります。 変更を加える前に影響について理解しておく必要があります。
変更の影響を理解するのに便利なヒントが 2 つあります。[次のメンバー] タブには、個々のユーザーまたはグループが所属するグループが表示されます。 また、継承されたアクセス許可をポイントして理由のアイコンを表示することもできます。 このアイコンをクリックすると、ダイアログ ボックスに詳細が表示されます。
Q & A
Q: 私にとって必要なのはコードにアクセスすることだけです。その方法を教えてください。
A: チームのメンバーまたは共同作成者として TFS に追加されている場合は、Team Foundation バージョン管理または Git を参照してください。
Q: TFS でユーザーを追加したりアクセス許可を管理したりするためには、どんな許可が必要ですか。
A: チーム プロジェクトにユーザーまたはグループを追加したりチーム プロジェクトのアクセス許可を管理したりするには、そのチーム プロジェクトのプロジェクト管理者グループに属しているか、またはプロジェクト レベルのアクセス許可編集が許可に設定されている必要があります。 プロジェクトの管理者には、既定のアクセス許可として次のものが付与されます。
1 つのコレクション内のすべてのチーム プロジェクトのユーザー、グループ、またはアクセス許可を管理するには、プロジェクト コレクション管理者グループに属しているか、またはコレクション レベルのアクセス許可編集が許可に設定されていることが必要です。
Q: ユーザーにはどの種類のアクセス許可が必要ですか。
A: ユーザーには、各ユーザーが TFS で実行するタスクに基づいてアクセス許可を付与します。 ユーザーが自分の作業を実行するために必要なアクセス許可の最小セットを付与するのが一般的です。 以下に示す既定のグループとその関連付けられたアクセス許可を使用すれば、大部分のユーザーを管理し、そのニーズを満たすことができます。
Users |
Team Foundation Server |
SharePoint Foundation または SharePoint Server |
SQL Server Reporting Services |
---|---|---|---|
プロジェクトの表示専用アクセスを必要とする人のためのアカウントを追加します。 |
読み取りユーザー |
訪問者 |
ブラウザー |
ソフトウェア プロジェクトの共同作成者や開発の管理をする人のためのアカウントを追加します。 |
貢献者 |
メンバー |
ブラウザー |
プロジェクトへのユーザー アクセスを管理する人、またはプロジェクトを構成またはカスタマイズする必要がある人のためのアカウントを追加します。 |
プロジェクト管理者 |
所有者 |
Team Foundation Content Manager |
次の 3 つのシステム間での管理作業をシンプルにするには、CodePlex の TFSAdmin ツールの使用を検討してください。
ヒント
Team Foundation Server や SharePoint Foundation とは異なり、SQL Server Reporting Services はプロジェクトを区別しません。したがって、Reporting Services にグループを追加した場合、そのグループには、各プロジェクトで付与されたアクセス許可に関係なく、コレクションのすべてのプロジェクトでレポートに対して同じアクセス許可が付与されます。追加するグループを選択するときこの点に注意してください。
Q: チーム メンバーを共同作成者の役割に追加すると、彼らには必要なすべてのアクセス許可が付与されますか。
A: 共同作成者の役割が付与されていれば、開発者がチーム プロジェクトの共同作成者となるために必要なものとして最も一般的なアクセス許可が付与されます。 しかし、ユーザーが共有クエリを作成することは許可されません。また、区分やイテレーションのパスを追加することも許可されません。 それらのアクセス許可は別個に付与する必要があります。 クエリについてはこちら、また区分とイテレーションのパスについてはこちらを参照してください。
Q: サービス アカウントのアクセス許可を管理するには、どうすればいいのですか。
A: TFS サービス アカウントと依存関係を参照してください。
Q: 制限付きのアクセスを付与された関係者が実行できるのはどんなタスクですか。
A: 「利害関係者としての作業」を参照してください。
Q: TFS にすべてのアクセス許可のリファレンスはありますか。
A: できます。 「TFS のアクセス許可」を参照してください。
Q: アクセスおよびアクセス許可を管理するためにコマンド ライン ツールを使用できますか。
A: できます。 TFSSecurity コマンド ライン ユーティリティを使用することにより、TFS ユーザーおよびグループを作成、変更、および削除したり、ユーザーおよびグループのアクセス許可を変更したりできます。