TeamCity 2019.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 です。

ログインフォームを使用したログインに加えて、NTLM HTTP認証シングルサインオンを有効にすることができます。
Windowsドメインを介したログインに加えて、「Microsoft Windows Domain」プリセットを選択した場合、基本HTTPおよびNTLM認証モジュールはデフォルトで有効になります。

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

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

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

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

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

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

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

デフォルト設定では、ユーザーはログインページから登録することができ、新しいユーザーのTeamCityユーザー名は、Windowsドメインアカウントと同じになります。
新しく作成されたすべてのユーザーはすべてのユーザーグループに属し、すべてのロールがこのグループに割り当てられています。新しく登録されたユーザーに特定のロールが必要な場合は、すべてのユーザーグループを介してこれらのロールを付与する必要があります。

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

  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オプションを介して渡されるプロパティー・ファイルを介してのみ設定できます。

ご使用の環境でデフォルト設定が機能しない場合は、使用可能なすべての構成プロパティーについてhttp://jcifs.samba.org/src/docs/api/(英語)を参照してください。
ライブラリーが認証対象のドメインコントローラーを見つけられない場合は、WINSサーバーのアドレスを指定して ntlm-config.properties ファイルに jcifs.netbios.wins プロパティーを追加することを検討してください。プロパティーを検索する他のドメインサービスについては、http://jcifs.samba.org/src/docs/resolver.html(英語)を参照してください。

LDAP認証

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

HTTP認証モジュール

基本HTTP認証

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

NTLM HTTP認証

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


関連事項:

概念 : 認証モジュール