JUST.DBにGoogleアカウントでシングルサインオンを設定

こんにちは

JUST.SFA にはシングルサインオン機能があります。
SAMLが利用できますので、弊社で使用している Google Workspaces のアカウントと連携してシングルサインオンを設定してみましたのでご紹介いたします。

概要

SAML の IdP(IDプロバイダ)は Google、SP(サービスプロバイダ)は JUST.SFA になります。
Google の カスタムSAMLアプリケーションに JUST.SFA を登録します。
Google の認証画面を利用してログインします。すでにブラウザでGoogleにログインしている場合はシングルサインオンが適用されて認証画面なしで JUST.SFA にログイン可能です。
Google で認証したあと JUST.SFA のユーザーとの紐づけは メールアドレスを利用しました。

シングルサインオンを設定

  • Google管理者アカウントでGoogle管理コンソール管理コンソールにログインし、[アプリ]-[ウェブアプリとモバイルアプリ]-[アプリを追加]-[カスタムSAMLアプリの追加]をクリックします。
  • アプリの詳細で アプリ名、アプリのアイコンを入力します。
  • IdPの詳細で、「SSOのURL」「エンティティID」をコピーしておきます。「証明書」でファイルをダウンロードしておきます。
  • JUST.SFA 運用管理画面の [シングルサインオン設定] で先ほど取得した「SSOのURL」を [IDプロバイダのシングルサインオンURL]に、「エンティティID」を [IDプロバイダのエンティティID] にそれぞれ設定します。
    [IDプロバイダの署名証明書]-[参照]ボタンで先ほどダウンロードした証明書のファイルをアップロードします。
    [SAML認証を有効にする]にチェックをいれて、[ログインが必要な場合の動作]は 「ログインページを表示」のままにしておきます。すべてのユーザーがシングルサインオン可能になれば「シングルサインオンでログイン」に設定しなおします。
    [サービスプロバイダメタデータのダウンロード] で SPのメタデータを取得しておきます。
  • Google 管理コンソールに戻って、サービスプロバイダの詳細を入力します。
    先ほど JUST.SFA のシングルサインオン設定で 「サービスプロバイダメタデータのダウンロード」で取得したXMLファイルに必要な情報があります。
    md:EntityDescriptor タグ の entityID に記載されたURLを [エンティティID] に入力します。
    md:AssertionConsumerService タグ の Location に記載されたURLを [ACSのURL] に入力します。
    名前ID には EMAIL を指定します。
  • カスタムSAMLアプリの登録が完了しました。
  • 登録したアプリを使用可能に設定します。
    アプリを利用する組織で[サービスのステータス]を「オン」にします。
  • JUST.SFA のユーザーもシングルサインオンを有効にする必要があります。
    運用管理画面の[ユーザー管理]-[ユーザーの編集]-[認証タイプ]を「シングルサインオン」に変更します。メールアドレスを Googleアカウントのアドレスに一致するようにします。

シングルサインオンのテスト

JUST.SFA のログイン画面を表示します。
新しく「シングルサインオンでログイン」リンクが表示されるようになりました。このリンクをクリックします。

Googleの認証画面へリダイレクトされますので認証を実施します。

認証に成功すると 自動でJUST.SFAに戻り、ログインできました。シングルサインオンの設定でIDプロバイダのシングルログアウトURLを設定しなかったためでしょうか、ポップアップメニューにログアウトがありませんでした。

一度 Google でログインしておけば、次回は Googleの認証画面は表示されずにログインできます。
また、Googleのメニューにアプリが追加されていますので、ユーザーはここからシングルサインオンでJUST.SFAを開くことができるようになっています。便利ですね。


追記:
Googleで認証したあと JUST.SFA のログイン画面で「認証情報の有効期限が切れています。」とエラーが表示された場合は、一旦Googleでログアウトしてから再度シングルサインオンをお試しください。