TeamCity オンプレミス 2024.03 ヘルプ

ロールと権限の管理

TeamCity のユーザーアクセスレベルは、ユーザーにさまざまなロール を割り当てて、それぞれの権限をユーザーに付与することで処理されます。

権限とは、ビルドの実行やビルド構成設定の変更など、特定の操作を実行するための権限です。

ロールは、1 つまたはすべてのプロジェクトのユーザーに付与できる一連のアクセス許可であり、プロジェクトへのアクセスと UI のさまざまな機能を制御します。

認証モード

TeamCity 認可は、simpleper-project の 2 つのモードをサポートしています。

  • シンプルモードでは、ゲスト、ログインユーザー、管理者の 3 種類の認証レベルしかありません。

  • per-project モードでは、プロジェクトまたはサーバー全体でユーザーのロールを割り当てることができます。ロールのパーミッションのセットは編集可能です。

プロジェクトレベルで付与されたロール内の権限は、このプロジェクトのすべてのサブプロジェクトに自動的に伝達されます。
プロジェクトとすべての親プロジェクトを表示する権限では、プロジェクト(およびそのサブプロジェクト)だけでなく、その親プロジェクトも表示できます。

認証モードの変更

明示的に構成されていない限り、TeamCity Professional では単純認証モードが使用され、TeamCity Enterprise ではプロジェクトごとに使用されます。

許可モードを変更するには、管理 | 認証に移動し、「プロジェクトごとの許可を有効にする」オプションを有効 / 無効にします。

簡易認証モード

ロール

説明

管理者

制限のないユーザー。プロジェクトごとの認証モードでのシステム管理者ロールに対応します。

ログインユーザー

プロジェクトごとの許可モードですべてのプロジェクトに付与されるデフォルトのプロジェクト開発者ロールに対応します。

ゲストユーザー

プロジェクトごとの許可モードですべてのプロジェクトに付与されるデフォルトのプロジェクトビューアーロールに対応します。

プロジェクトごとの承認モード

ロールは、管理者によってプロジェクトごとにユーザーに割り当てられます。ユーザーはプロジェクトごとに異なるロールを持つことができるため、権限はプロジェクトベースです。ユーザーは、特定のプロジェクトまたは使用可能なすべてのプロジェクトでロールを持つことも、ロールをまったく持たないこともできます。ユーザーアカウントを一連のロールに関連付けることができます。ユーザーグループにロールを付与することもできます。これは、グループに含まれるすべてのユーザーに(直接または他のグループを介して)ロールが自動的に付与されることを意味します。

管理 | ロールでロールを追加し、それらにパーミッションを割り当てることができます。ロールの許可を追加をクリックして、使用可能なすべての許可のリストを表示し、必要な許可を選択して、追加をクリックします。複数の権限を追加するには、Ctrl キーを押しながら選択します。

デフォルトでは、TeamCity は次のプロジェクトごとのロールを提供します。

ロール

説明

システム管理者

パーミッションに制限はなく、すべてのプロジェクト管理者パーミッションがあります。ユーザーアカウントの作成と管理、HTTPS 設定の変更、ビルドエージェントの承認、プロジェクトとビルド構成のセットアップ、TeamCity サーバー設定の編集、TeamCity ライセンスの管理、サーバーデータのクリーンアップルールの構成、VCS ルートの変更などを行うことができます。

プロジェクト管理者

プロジェクトの一般設定とビルド構成の設定をカスタマイズし、プロジェクトユーザーにロールを割り当て、サブプロジェクトを作成し、ユーザープロファイルとロールを変更する権限を追加することなく、プロジェクト内のユーザーの VCS ユーザー名を変更できます。すべてのプロジェクト開発者権限を持っています。

プロジェクト管理者は、ロールを割り当て、自分が管理するプロジェクトにのみ対応するグループを変更できます。例: プロジェクト A の管理者は、ユーザーにプロジェクト B のロールを付与したり、プロジェクト B 固有の権限を持つグループにユーザーを追加したりすることはできません。これを実行できるのはプロジェクト B 管理者 (またはシステム管理者) だけです。

プロジェクトのユーザー / グループ通知ルールを変更する」権限を有効にすると、プロジェクトに割り当てられたユーザーおよびユーザーグループの通知ルールを編集できます。

プロジェクト開発者

通常、プロジェクトへの変更をコミットします。ビルドの開始 / 停止、ビルドキュー内のビルドの並べ替え、ビルドソースのラベル付け、エージェントの詳細の確認、失敗したビルドの調査の開始ができます。

デフォルトでは、このロールには、ビルドパラメーターのカスタマイズとカスタムパッチ権限を持つビルドソースコードの変更があることに注意してください。これにより、ビルドごとに構成 / 環境を変更するための間接的なアクセスが可能になります(詳細を参照)。

プロジェクトビューアー

プロジェクトへの読み取り専用アクセス権があり、プロジェクト、その親、サブプロジェクトのみを表示できます。エージェントの詳細表示する権限がありません。

エージェントマネージャー

ビルドエージェントのカスタマイズと管理、実行構成ポリシーの変更、ビルドエージェントの有効化 / 無効化、およびビルドキューの一時停止 / 再開が可能です。

プロジェクトごとの権限が有効になっている場合、サーバー管理者は、TeamCity 管理 Web UI で、または <TeamCity Data Directory>/config ディレクトリに保管されている roles-config.xml ファイルを変更することにより、ロールを変更、削除、権限の任意の組み合わせで新しいロールを追加できます。ユーザーにロールを割り当てる場合、Web UI のロールのアクセス許可の表示リンクには、現在の構成に従って各ロールのアクセス許可のリストが表示されます。

プロジェクトレベルのエージェント管理権限

TeamCity には、エージェントでタスクを実行するための以下のプロジェクトレベルの権限があります。

  • プロジェクトに関連付けられたエージェントの有効化 / 無効化

  • プロジェクトのクラウドエージェントの開始 / 停止

  • プロジェクトのエージェント実行構成ポリシーを変更する

  • プロジェクトエージェントマシンの管理 (たとえば、再起動、エージェントログの表示)

  • プロジェクトエージェントを削除

  • プロジェクト担当者の承認

すべてのプロジェクトレベルのエージェント管理権限は、デフォルトでプロジェクト管理者ロールに追加されます。

このプールに関連付けられているすべてのプロジェクトでこの権限がユーザーに付与されている場合、ユーザーは、これらの権限のいずれかによって制御されるタスクを、そのプールに属するすべてのエージェントに対して実行できます。例: 一部のプロジェクトで「プロジェクトに関連付けられたエージェントを有効化 / 無効化」権限を持つユーザーは、プールに関連付けられたすべてのプロジェクトで権限が付与されている場合、関連するプロジェクトのプールに属するエージェントを有効または無効にすることができます。

ロールを管理する

インストールでプロジェクトごとのアクセス許可が有効になっている場合は、TeamCity UI(管理 | ロールページ)で既存のロールを表示、変更、新しいロールを作成できます。それは可能にします:

  • 新しいロールの作成。

  • 既存のロールを削除します。

  • 既存のロールからのアクセス許可の追加 / 削除。

  • ロールからの権限の包含 / 除外。

ロール設定はグローバルであることに注意してください。

権限の継承

ユーザー権限は、親プロジェクトからそのサブプロジェクトに、また親ユーザーグループから子グループに共有されます。

プロジェクトの継承

プロジェクト「Main」に 2 つのサブプロジェクト「Project A」と「Project B」があるとします。各プロジェクトには、対応するユーザーグループがあります。

  • 「Main Project Users」グループは、そのユーザーにプロジェクト「Main」の「プロジェクト管理者」ロールを付与します。

  • 「グループ A」と「グループ B」は、対応する子プロジェクトの「プロジェクト閲覧者」ロールをユーザーに与えます。

「メインプロジェクトユーザー」と「グループ A」に追加されたユーザーは、両方の子プロジェクトで「プロジェクト管理者」ロールを持ちます。これは、このロールが「メインプロジェクトユーザー」グループから継承されるためです。

Permissions shared to subprojects

グループの継承

ユーザーグループにロールを割り当てると、このグループのすべての子グループに同じ権限が与えられます。管理 | グループページでは、ロールが継承されたグループの「ロール」列に「N/M」カウンターが表示されます。「N」はこのグループに直接割り当てられたロールの数、「M」は親グループから継承されたロールの数です。

以下の図では、「Tier 3」グループには、親の「Tier 1」および「Tier 2」グループから継承された 2 つのロールがあります。このグループには直接割り当てられたロールがないため、そのカウンタは「0/2」です。

Roles inheritance in user groups

関連ページ:

ユーザーの作成と管理

TeamCity のユーザーアカウントとは:ユーザーアカウントは、TeamCity ユーザーがサーバーにサインインしてその機能を使用できるようにするユーザー名とパスワードの組み合わせです。ユーザーアカウントは、手動で作成することも、使用する認証スキームに応じてサインイン時に自動的に作成することもできます(詳細については、認証モジュールのセクションを参照してください)。各ユーザーアカウント: 対応する権限を通じてすべてまたは特定の TeamCity 機能へのアクセスを保証する関連するロールがありま...

ビルド構成の作成と編集

このセクションには、TeamCity UI を介してビルド構成を作成および構成する方法に関する記事が含まれています。ビルド構成は、ビルドを開始し、UI でビルドのシーケンスをグループ化するために使用される設定のコレクションです。ビルド構成の例としては、ディストリビューション、統合テスト、リリースディストリビューションの準備、「夜間」ビルドなどがあります。ビルド構成はプロジェクトに属し、ビルドを含みます。ビルド構成の詳細はホームページで確認し、設定ページで設定を変更できます。一連のビルドごとに個別...

ビルドエージェントの設定とメンテナンス

TeamCity エージェントの詳細の表示:TeamCity Web UI のエージェントページは、TeamCity エージェントに関する包括的な情報を提供します。ページ上のタブの数は、エージェントのセットアップによって異なる場合があります。接続済み / 切断済み接続済みタブと切断済みタブには、エージェントがエージェントプール (デフォルト) 順に表示されます。エージェントをアルファベット順に表示するには、エージェントプールによるグループ化ボックスのチェックを外します。TeamCity は各プー...

ビルドエージェント

TeamCity ビルドエージェントは、TeamCity サーバーからのコマンドをリッスンし、実際のビルドプロセスを開始するソフトウェアです。TeamCity サーバーとは別にインストールおよび構成されます。エージェントは、サーバーと同じコンピューターまたは別のマシンにインストールできます(サーバーのパフォーマンス上の理由から、後者が推奨されるセットアップです)。エージェントは、TeamCity サーバーと同じオペレーティングシステム(OS)または別の OS を実行できます。TeamCity ビル...

ビルドキューの操作

TeamCity では、ビルドキューは、トリガーされた、または手動で起動され、開始を待機しているビルドのリストです。TeamCity は、アイドル状態になるとすぐに、互換性のあるビルドエージェントに配布します。キューに入れられたビルドは、エージェントで開始された時点でエージェントに割り当てられます。ビルドがビルドキューで待機している間、事前割り当ては行われません。キューページ:上部のナビゲーションバーからキューページにアクセスします。このページには、実行を待機しているビルドのリストが表示され、...

エージェントプールの構成

ビルドエージェントの共通セットを 1 つ持つ代わりに、エージェントプールと呼ばれる個別のグループに分割できます。プールは、プロジェクトを割り当てることができる名前付きのエージェントのセットです。エージェントは 1 つのプールにのみ属することができます。プロジェクトは、ビルドに複数のプールを使用できます。TeamCity サーバーによって許可されるエージェントの数は、エージェントライセンスの数によって制限されます。デフォルトでは、新しく許可されたすべてのエージェントがデフォルトプールに含まれます。エ...