TeamCity 2020.1ヘルプ

認証設定を構成する

TeamCityは、内部データベースを介してユーザーを認証することも、システムに統合してWindowsドメインやLDAPなどの外部認証ソースを使用することもできます。

認証の設定

認証は管理 | 認証ページで設定されます。現在使用されている認証モジュールもここに表示されます。

TeamCityは、以下で説明される最も一般的なユースケースをカバーするためにいくつかの事前設定された認証オプション(プリセット)を提供します。プリセットはTeamCityによってサポートされる認証モジュールの組み合わせです:3つの資格証明書認証モジュールと2つのHTTP認証モジュール:

TeamCityに初めてログインすると、組み込み認証モジュールと基本HTTP認証モジュールを含むデフォルトの認証が有効になり、シンプルモードでの認証設定の編集がアクティブになります。

  • 既存の設定を変更するには、有効になっている認証モジュールの説明の横にある表内の編集リンクをクリックします。

  • 別の設定済みスキームに切り替えるには、プリセットを読み込むボタンを使用してください。その他のオプションについては、拡張モードに切り替えてください。

シンプル・モード

シンプルモード(デフォルト)では、最も一般的なユースケース用に作成されたプリセットを選択できます。既存の認証設定を上書きするには、プリセットを読み込み...ボタンを使用してオプションの1つを選択し、変更を保存します。次のプリセットがあります。

拡張モード

TeamCityでは、TeamCity Web UIの拡張モードを使用して、複数の認証モジュールを同時に有効にできます。

ユーザーがログインしようとすると、すべてのモジュールが1つずつ試行されます。そのうちの1人がユーザーを認証すれば、ログインは成功します。すべて失敗した場合、ユーザーはTeamCityにログインできなくなります。

内部認証と外部認証を組み合わせて使用することができます。推奨される方法は、まず内部の従業員用にLDAPの統合を構成し、次に外部ユーザー用にビルトイン認証を追加することです。

  1. 管理 | 認証ページの対応するリンクを使用して、拡張モードに切り替えます。

  2. モジュールの追加をクリックしてドロップダウンからモジュールを選択します。

  3. モジュールの追加ダイアログのチェックボックスを選択/選択解除して、モジュールに利用可能なプロパティを使用します。

  4. 変更を適用および保存をクリックします。

また、TeamCityプラグインは追加の認証モジュール(英語)を提供できます。

ユーザー認証設定

初めてのTeamCityサーバーはユーザーなし(そして管理者なし)で起動するため、管理者アカウントの入力を求められます。管理者アカウントの入力を求められない場合は、管理者パスワードを取得する方法の解決方法を参照してください。

TeamCity管理者は、各ユーザーのプロファイルページで認証設定を変更できます。

ユーザーおよび認証モジュールのTeamCityリストは、外部資格情報をユーザーにマップするだけです。これは、入力された資格情報が同じTeamCityユーザーにマップされている場合、単一のTeamCityユーザーが異なるモジュールを使用して認証できることを意味します。認証モジュールには、外部ユーザーデータをTeamCityユーザーにマッピングする方法に関する構成があり、一部(Windowsドメイン、JetBrains Hub)は、TeamCityユーザープロファイル上の外部ユーザーリンクデータの編集を許可します。

バンドルされた認証モジュールによるユーザーマッピングの処理

  • 組み込み認証は、各ユーザーのTeamCityが管理するパスワードを保存します。

  • Windowsドメイン認証ではデフォルトドメインを指定でき、ドメインアカウント名はTeamCityユーザーと同じであると見なされます。ドメインアカウントは、ユーザープロファイルページで編集できます。

  • LDAP統合により、LDAPプロパティを設定してユーザーのLDAPエントリからTeamCityユーザー名を取得することができます。

認証設定を変更するときは注意が必要です: 認証モジュールを変更した後に管理者がログインできない場合があります。

管理者が "jsmith" TeamCityユーザー名を持ち、デフォルトの認証を使用したとしましょう。その後、認証モジュールはWindowsドメイン認証に変更されました(つまり、Windowsドメイン認証モジュールが追加され、デフォルトの認証モジュールが削除されました)。たとえば、その管理者のWindowsドメインユーザー名が "john.smith" の場合、そのユーザーはログインできなくなります。無効になっているためデフォルトの認証を使用してログインできず、Windowsドメイン認証を使用してログインできません。自分のWindowsドメインのユーザー名がTeamCityのユーザー名と等しくないためです。それでも解決策は非常に簡単です。管理者はスーパーユーザーアカウントを使用してログインし、自分のTeamCityユーザー名を変更するか、自分のプロファイルページで自分のWindowsドメインユーザー名を指定できます。

特別なユーザーアカウント

デフォルトでは、TeamCityは最大権限を持つスーパーユーザーアカウントと最小権限を持つゲストユーザーアカウントを持っています。これらのアカウントは、特定の人物に関連するものではなく、特別な使用例を目的としているため、変更ページやプロファイル情報などの個人設定はありません。

認証情報認証モジュール

組み込み認証

デフォルトでは、TeamCityは組み込み認証を使用します。つまり、ユーザーとそのパスワードはTeamCityによって管理されます。

初めてTeamCityにログインするとき、ユーザーはTeamCityのユーザー名とパスワードを作成するように促されます。これはTeamCityに保存され、認証に使用されます。TeamCityをインストールしてログインした場合は、組み込み認証が有効になり、すべてのユーザーデータがTeamCityに保存されます。

最初はユーザーデータベースは空で、新しいユーザーはTeamCity管理者によって追加されるか、ユーザーは自己登録されます。デフォルト設定ではユーザーはログインページから登録することができます。新しく作成されたすべてのユーザーはすべてのユーザーグループに属し、すべてのロールがこのグループに割り当てられています。新しく登録されたユーザーに特定のロールが必要な場合は、すべてのユーザーグループを介してこれらのロールを付与する必要があります。

デフォルトでは、ユーザーは自分のプロファイルページで自分のパスワードを変更できます。

トークンベース認証

ユーザーが自分で作成および無効化できるアクセストークンを介して認証できるようにします。

この認証モジュールはデフォルトで有効になっています。

Windowsドメイン認証

Windowsドメイン名とパスワードを使用してユーザーログインを許可します。信任状検査はTeamCityサーバー側で実行されるため、サーバーはユーザーがログインに使用するドメインを認識している必要があります。サポートされているユーザー名の構文は <username>@<domain>と同様に DOMAIN\user.name です。

In addition to logging in using the login form, you can enable NTLM HTTP認証 single sign-on.
If you select the "Microsoft Windows Domain" preset, in addition to the login via a Windows domain, the 基本HTTP and NTLM authentication modules are enabled by default.

デフォルトドメインの指定

ユーザー名の一部としてドメインを指定せずにユーザーがログインフォームを使用してシステムに入ることができるようにするには、次の手順を実行します。

  1. 管理 | 認証ページに移動します。

  2. Microsoft Windowsドメイン認証の説明の横にある表内の編集リンクをクリックします。

  3. デフォルトドメイン:フィールドに名前を設定してください。

  4. 変更を終了および保存をクリックします。

ログイン時に新規ユーザーを登録する

The default settings allow users to register from the login page and TeamCity user names for the new users will be the same as their Windows domain account.
All newly created users belong to the すべてのユーザー group and have all roles assigned to this group. If some specific roles are needed for the newly registered users, these roles should be granted via the すべてのユーザー group.

ログイン時に新規ユーザー登録を無効にするには

  1. 管理 | 認証ページに移動します。

  2. Microsoft Windowsドメイン認証の説明の横にある表内の編集リンクをクリックします。ログインページからユーザー登録を許可するボックスのチェックを外します。

  3. NTLM HTTP認証の説明の横にある表内の編集リンクをクリックします。ログインページからユーザー登録を許可するボックスのチェックを外します。

Linux固有の設定

TeamCityサーバーがLinuxで稼働している場合は、JCIFSライブラリがWindowsドメインログインに使用されます。これは、SMB(SMBv1)が有効になっているWindowsドメインサーバーのみをサポートします。SMB2はサポートされていません。ライブラリは、< TeamCity Data Directory >/config/ntlm-config.properties ファイルで指定されたプロパティを使用して設定されます。ファイルへの変更は、サーバーを再起動しなくてもすぐに有効になります。

実行時に変更できないJCIFSライブラリ設定、またはHTTP NTLM設定に影響を与える設定は、-Djcifs.properties JVMオプションを介して渡されるプロパティ・ファイルを介してのみ設定できます。

If the default settings do not work for your environment, refer to http://jcifs.samba.org/src/docs/api/(英語) for all available configuration properties.
If the library does not find the domain controller to authenticate against, consider adding the jcifs.netbios.wins property to the ntlm-config.properties file with the address of your WINS server. For other domain services locating properties, see http://jcifs.samba.org/src/docs/resolver.html(英語).

LDAP認証

専用ページを参照してください。

HTTP認証モジュール

基本HTTP認証

基本的なHTTP認証の詳細についてはHTTPによるサーバーへのアクセスを参照してください。

NTLM HTTP認証

専用ページを参照してください。