メインコンテンツまでスキップ

SAML認証によるSSOを設定する

"TimeTracker NX 6.0 New!!"

概要​

SAML認証は以下の3つのStepで設定します。

  1. TimeTracker NXと連携先サービスに必要な情報を設定する。
  2. 連携できることを確認する。
  3. SSOを有効にするユーザーを設定する

設定時の注意事項を次のリンクに記載していますので、事前にご確認ください。: 「SAML認証時の注意事項」

SAML2.0に対応しています。

TimeTracker NX と連携先サービスを設定する​

事前準備​

TimeTracker NX、IISの以下の設定を変更してください。

TimeTracker NX で SSOの機能を有効にする​

初期状態では、SSO は無効化していますので、まずは以下の操作で SSO を有効にしてください。

  1. TimeTracker NX の設定ファイル(Web.config) を開いてください。
設定ファイル変更時の注意点

本ファイルを変更すると、TimeTracker NX のサーバーが再起動します。
次のリンクの手順で更新してください。: 「TimeTracker NX の設定ファイルを変更する方法」

  1. Web.configで「SessionAuthenticationModule」という文字列で検索し、
    下図赤枠①、②の箇所を行ごと削除してください。
SSOを有効にした場合に発生する問題点

TimeTracker NX にアクセスするURLが、本来のURLと大文字/小文字が完全に一致しない場合、
アクセスできなくなります。
詳細は次のリンクを参照ください。: 「制約事項」

IISの設定を変更する​

IIS(Internet Information Service)の設定によっては SSOを設定できません。
以下の手順で事前にIISの設定を変更してください。

  1. IISで TimeTracker NX のアプリケーションプールを選択し、「詳細設定」をクリックする。

  2. 「プロセスモデル」の「ユーザープロファイルの読み込み」を"True"にして「OK」をクリックする。

上記を設定した後、SSOを設定しましょう。

SSO を設定する​

今回は Microsoft Azure AD を例にして、TimeTracker NX と連携先サービスを設定します。

本章でご紹介する設定画面は2023年5月時点のものです。

提供元により画面が変更される可能性があります。詳細は提供元にご確認をお願い致します。

  1. TimeTracker NX に管理者権限があるユーザーでログインし、システム管理画面を開いてください。

  2. 下図の画面に移動し、「編集」ボタンをクリックしてください。

  3. 「SAML認証によるサインオンを有効にする」(下図①)をチェックしてください。
    「URL(エンティティID)」「Assertion Consumer Service URL」が表示されますので、コピーしてテキストに貼り付けてください。

    ②、③をクリックすると値をコピーできます。
  4. 次のリンクに Microsoft アカウントでログインしてください。: 「Microsoft 365 管理センター」

  5. サイドナビから 「Azure Active Directory」をクリックしてください。

  6. 遷移後の画面のサイドナビから「ユーザー」をクリックしてください。

    クリック後の画面で表示されるユーザーが連携対象のユーザーです。
    不足しているユーザーがいる場合は、事前にユーザーを追加してください。

    この画面に表示される「ユーザープリンシパル名」を次のリンクで使用します。: 「SAML認証をするユーザーを設定する」
  7. サイドナビから「エンタープライズアプリケーション」をクリックしてください。

    遷移後の画面で「新しいアプリケーション」をクリックしてください。

  8. 遷移後の画面で以下を操作し、「作成」をクリックしてください。

    • ②:任意の名前を付けてください。
    • ③:こちらをチェックしてください。
  9. 遷移後の画面で「ユーザーとグループの割り当て」をクリックしてください。

    さらに遷移した画面で「ユーザーまたはグループの追加」をクリックしてください。

  10. 遷移後の画面で以下を操作し、ユーザーを追加してください。

    1. ①をクリックすると右に設定ダイアログが表示されます。
    2. ②から対象のユーザーを選択してください。選択すると③に表示されます。
    3. ④の「選択」をクリックすると⑤が有効化されます。⑤をクリックしてください。
  11. 遷移後の画面で以下を選択してください。

  12. 遷移後の画面で「設定」をクリックしてください。

    さらに遷移した画面で「識別子の追加」をクリックしてください。

  13. 表示されたダイアログで以下の操作を実施してください。

    1. ①をクリックし、②に「手順3」で控えた「URL(エンティティID)」を貼り付けてください。
    2. ③をクリックし、④に「手順3」で控えた「Assertion Consumer Service URL」を貼り付けてください。
    3. ⑤の保存をクリックしてください。
  14. 遷移後の画面で、前の手順で設定した内容が反映されていることを確認し、
    ②「属性とクレーム」の「編集」をクリックしてください。

  15. 遷移後の画面で「一意のユーザー識別子」をダブルクリックしてください。

    表示されたダイアログで「ソース属性」に "user.mail" を入力し、「保存」をクリックしてください。

  16. 遷移後の画面で「SAML ベースのサインオン」をクリックして画面を移動してください。

  17. 遷移後の画面で「③ SAML証明書」の 「アプリのフェデレーション メタデータ URL」をコピーしてください。

    下記画像の①をクリックすればコピーできます。
  18. 前の手順でコピーしたURLをブラウザで開いてください。
    「<X509Certificate>」のキーワードで検索し、「<X509Certificate>」~「</X509Certificate>」の間の文字列をコピーしてください。

    ~

    ここでコピーした文字列を TimeTracker NX の設定画面「X509証明書」に貼り付けてください。

    貼り付ける文字列が不足していると正しく認証できません。コピーする範囲を確認してください。
  19. Microsoft Azure AD 設定画面に戻り、「④ [設定したアプリ名]のセットアップ」の以下の項目の値を
    TimeTracker NX に貼り付けてください。

    Microsoft Azure AD の項目TimeTracker NX の項目
    ログインURLSSO URL
    Azure AD 識別子エンティティID
  20. TimeTracker の設定画面で「有効範囲」が"ローカル認証とSAML認証" にチェックが入っていることを確認し、
    「保存」をクリックしてください。

    "SAML認証のみ" をチェックしている場合、認証設定を失敗しているとログインできなくなります。

    まずは「ローカル認証とSAML認証」で正しくSSO連携できることを確認してください。

これで設定は完了です。
次は、正しく設定できているか確認しましょう。

設定内容を確認する​

  1. 一旦TimeTracker NX からログアウトし、管理者権限があるアカウントでログインしてください。
    SSO連携を有効にしている場合、以下のログイン画面になります。

    ②を選択し、TimeTracker NX のアカウントとパスワードでログインしてください。

  2. SSO連携を試行するユーザー情報に、連携するためのキーを設定します。

SSO連携を試行するユーザー

「TimeTracker NX と連携先サービスを設定する」の手順で、Microsoft Azure AD 画面を操作したユーザーが実施してください。

  1. システム管理画面のユーザー一覧を開いてください。
  2. ユーザーの「Eメール」フィールドに、連携する Microsoft Azure AD の「ユーザープリンシパル名」を入力してください。
「ユーザープリンシパル名」はMicrosoft Azure ADの以下の画面で表示された項目です
  1. Microsoft Azure AD 設定画面の 「⑤ [設定したアプリ名]でシングルサインオンをTest」の「Test」ボタンをクリックしてください。

TimeTracker NX にログインできれば、設定は成功です。

これでSSOが設定できていることを確認しました。
TimeTracker NX のログイン画面で「組織アカウントでログイン」をクリックしても、ログインできます。
Microsoft Azure AD 画面を閉じても問題ありません。

ログインできない場合は設定手順に誤りがないか確認してください。

その後、TimeTracker の設定画面で「有効範囲」を"SAML認証のみ"に切り替えれば、ローカル認証は出来なくなります。
次は各ユーザーに対してSSOを有効にしましょう。

SSOを有効にするユーザーを設定する​

各ユーザーに対して SSOを設定します。
以下の2つの手順で設定します。

次のリンクの内容を事前にご確認ください。: 「ユーザー設定時の注意事項」
  1. 認証先サービスの情報を設定する。
    メールアドレスをキーに認証します。
    各ユーザーに対して次のリンクと同じ方法で 「Eメール」を編集してください。: 「設定内容を確認するの手順2」

  2. ローカル認証を有効にするユーザーを選定し、有効にする。
    ユーザー一覧から対象を選択し、編集画面から「ローカル認証を許可」をチェックしてください。

まとめて複数のユーザーを設定する方法

設定画面からユーザー1人1人を設定するのは手間がかかります。
次のリンクの機能を利用すれば、まとめて設定できます。: 「ユーザー情報をエクスポート/インポートする」

ユーザー設定時の注意事項​

  • 複数のユーザーに同じEメールアドレスを設定することはできません。
  • 「Eメール」が空欄で「ローカル認証を許可」をチェックしていないユーザーはログインできなくなります。
    必ずどちらかは設定してください。
ローカル認証を許可するユーザーについて
  • SSO認証先と通信ができなくなった場合など、何らかのトラブルでSSO認証ができなくなる可能性があります。
    その場合、本項目を有効にしていないユーザーはログインできなくなるため、
    最低1名のユーザーはローカル認証を許可してください。
  • 一方、多くのアカウントに対して「ローカル認証を許可」すると、パスワード管理の手間やセキュリティリスクが発生します。
    例えば「システム管理権限を持つユーザーに限ってローカル認証を許可する」などの運用をご検討ください。

ローカル認証でログインする方法​

SSO認証を有効にするとログイン時に以下の画面が表示されます。

上記赤枠をクリックすると、TimeTracker NX に設定したアカウントとパスワードでログインできます。

SSO認証時の注意事項​

SSO認証を有効にする場合の注意点をご紹介します。
(SSO機能を利用されない場合は問題ございません)

HTTPSアクセスを有効にする​

本機能を実現するためには SSL認証されたURLにする必要があります。
TimeTracker NX にアクセスする URL が「https」で始まっていることを確認してください。

「SAML認証のみ」のユーザーでは使えない機能​

現在の TimeTracker NX では「SAML認証のみ」のユーザーは以下の機能を使えません。

  • Web API
  • Excel連携
  • TimeTracker NX Sync
  • TimeTracker Analytics

上記機能を利用する場合の運用案​

以下の3つの方法があります。

  1. ローカル認証を有効にする。
    1. 全ユーザーのローカル認証を有効にする。
      TimeTracker の設定画面で「有効範囲」を "ローカル認証とSAML認証"にしてください。
    2. 機能を利用したい方に絞って、ローカル認証を有効にする。
      ユーザー設定で対象ユーザーの「ローカル認証を許可」」をチェックしてください。
  2. ローカル認証を許可した専用のアカウントを用意し、そのアカウントを使って上記機能を利用する運用とする。

認証サーバーに接続できない問題に備える​

何らかのトラブルで SSOができなくなった場合、以下のいずれかの方法で SSOを無効化してください。

  1. ローカル認証もできるユーザーがログインし、SSOを無効化する。
  2. 強制的にSSOを無効化する。
2の場合は TimeTracker NX のサーバー再起動が必要になります。

1で対応できるよう設定することをお勧めします。

1.ローカル認証もできるユーザーがログインし、SSOを無効化する​

次のリンクの手順でログインします。: 「ローカル認証でログインする方法」
シングルサインオンの設定画面で「SAML認証によるサインオンを有効にする」のチェックを外してください。

他のユーザーが TimeTracker NX のアカウントを忘れた場合

次のリンクの手順で初期化してください。: 「パスワードを変更する」

2.強制的にSSOを無効化する​

TimeTracker NX のサーバーPCに格納した設定ファイルを更新し、SSOを無効化する方法です。
以下の手順で解消してください。

  1. TimeTracker NX インストールフォルダ直下にある「weg.config」を開いてください。

  2. 「sso」というキーワードで検索し、以下の value を"true"にしてください。

    <add key="Saml:ForceDisableSamlSso" value="false" />
  3. TimeTracker NX のログイン画面を再度開いてください。

    既に開いている場合はブラウザを再読み込みしてください。

TimeTracker NX に設定したログインアカウントとパスワードでログインできます。
問題が解消した後、手順2で変更した値を元に戻してください。

手順2の値を変えた場合、 以下の画面のようにシングルサインオンを無効化していることが分かります。