TeamCity オンプレミス 2025.03 ヘルプ

ロールと権限の管理

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

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

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

認証モード

TeamCity 認証は、シンプルモードper-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 セットアップでは、専用のマシンに追加のビルドエージェントをインストールする必要があります。その前に、エージェントとサーバー間の通信、システム要件、競合するソフトウェア、およびセキュリティに関する注意事項を必ず参照してください。Tomcat サーブレットコンテナーにバンドルされた TeamCity をインストールするか、Window...

ビルドキューの操作

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

TeamCity データディレクトリ

TeamCity データディレクトリは、TeamCity サーバーが構成、ビルド結果、現在の操作ファイルを保存するために使用するファイルシステム上のディレクトリです。このディレクトリは、すべての構成設定の 1 次ストレージであり、TeamCity のインストールに不可欠なデータを保持します。ビルド履歴、ユーザーとそのデータ、その他のデータはデータベースに保存されます。ディレクトリとデータベースに保存されるデータの説明については、バックアップに関する注意事項を参照してください。このドキュメントや他...