楽楽精算をAzureADでシングルサインオンしてみる
一応各公式にもSAML連携の解説はあるものの、あの説明だと若干ハマってしまった人間がココにいるので備忘録ついでにまとめてみようと思う。
初めてAzureADでSSO設定作業する方向けくらいに書いてみますが、手順がちがくね?等、変な所があったらご指摘下さい…。
1.AzureAD側で楽楽精算を登録する
まずはAzureAD側で楽楽精算を登録していきます。
AzureADを起動しエンタープライズアプリケーションを選択します。
新しいアプリケーションを選択
楽楽精算を検索し、見つけたらアプリを登録しちゃいましょう。
作成が終わったらまずはユーザとグループの割当を行います。
ユーザまたはグループの追加で楽楽精算を利用するユーザもしくはグループを登録します。基本全社で利用するシステムが多いようであれば全社用のグループがあると便利かもしれません。
2.AzureAD側の準備を行なう
次にAzureADのSAML設定を行います。
先程の楽楽精算のアプリトップページに戻りシングルサインオンの設定の作業開始を選択します。
基本的なSAML構成の編集から以下の内容を記入していきます。
識別子(エンティティID):楽楽精算ログイン画面のURL
応答URL:楽楽精算ログイン画面のURLに+「/saml/acs/」
※https://xxxxx.rakurakuseisan.jp/YYYYYYYYa/saml/acs/ みたいな。
サインオンURL:楽楽精算ログイン画面のURL
上記を入力し保存したら今度はSAML署名証明書の編集を選択します。
三点リードからPEM証明書のダウンロードを選択肢PEMファイルを取得します(マニュアルを流し見してBase64証明書を落としてしまいがちな為、個人的にココがハマりポイントでした)
3.楽楽精算側を設定する
さて、ようやく楽楽精算側を設定するのですが…その前にひとつ。
楽楽精算にログインをしたら設定完了まではログアウトしない事
この後の「システム設定」の画面は常に表示しておく事を勧めます
※下手するとログインできなくなって詰むので(別システムで一敗)
まずは楽楽精算を起動し管理>システム設定を選択します。
※何度も言いますがシステム設定は常に開いておきましょう!
次にセキュリティタブからシングルサインオンを有効にするを選択します。
各項目を埋めていきます(関連項目だけは後ほど説明)
■IDプロバイダーのログインURL
AzureADの『④楽楽精算のセットアップ』という項目にあるログインURL
■IDプロバイダーのログアウトURL
同じく『④楽楽精算のセットアップ』という項目にあるログアウトURL
■新しい証明書
先程手順2の最後でダウンロードしたPEMファイルをアップロード
さて問題の関連項目ですが…大半の企業ではログインIDにメールアドレスを使っていないと思われます(そもそも恐らく入らない…)
大半は社員番号などを使われていると想像しますが、AzureAD側に社員番号を持っているのであれば、AzureADの『②ユーザ属性とクレーム』にてユーザ識別子にAzureADの社員番号項目を選択すれば良いので、迷わず方式1を選択してよいかと思います。
ただAzureADに社員番号を連携していないケースの場合は方式2を選択します
※本日は方式2を選択したケースでお話します。
全てが設定し終わったら確定を押して完了させますが…何度も言うように確定後には再度システム設定を立ち上げるのと、絶対に楽楽精算をログアウトしないという事を徹底して下さい。
4.さてテストをしよう!
ログアウトせずにどうやって認証テストするのさ?という部分ですが
1.AzureADの項目からテストする
2.ブラウザのシークレットモードからテストする
この2つのどちらかで認証のテストを行うのですが個人的には自分自身のIDでテストする以上はシークレットブラウザでテストした方が確実な気がしました。
Chromeであれば右上のシークレットウィンドウからブラウザを開き
トップページに行くとM365の認証画面が出るので
メールアドレスとパスワードを入力してサインイン状態を維持したら
初回だけ楽楽精算のID&パスワードを入力すると…。
2回目のテストからはM365ログインだけで楽楽精算にアクセスできた!
5.設定を行ってみて
何度もSAML設定していれば感覚的に判ってくるのだと思うのですが、初回だと結構説明が端折られているし各IdP側の解説と楽楽サポートの解説を両方マージしながら進めていかなきゃならんので、結構つまらない所で躓きやすいのかな?と思いました(自分の場合のPEM証明書がそれ)
後、楽楽特有の部分としては認証方式を選べる所になるわけですが、恐らく方式2はAzureADのユーザに対し初回ログインした楽楽のログインIDを内部で紐付けているんだろうと思います(確か同システムのICカード紐付けが似たような事やってましたよね…)
間違って初回ログイン時に別アカウントとかでログインしちゃうとどうなるんだろう…この辺は今度サポートに確認して追記したいと思います。