MoneyForwardクラウドIDとoktaをつなぐ
こんにちはsumiです。
今回は珍しく?w ちょっと情シスっぽい投稿でもしてみようかなと。
MoneyForward クラウド勤怠と給与を利用しており、アカウント統制オプションをつけて Money Forward クラウドIDをoktaでSSOするように設定してみたのですが、このケースの知見がググっても出てこなかったので備忘録がてら書き残したいと思います。
やること
やることとしては、マネーフォワードクラウドIDへのログインを okta で SSO できるように設定し、勤怠と給与のURLへアクセスするための Bookmark アプリという箱を用意するといった感じです。
準備: 必要なもの
材料はこちらです
・okta
・マネーフォワードクラウド管理者用アカウント
・マネーフォワードクラウドSSO検証用アカウント
・アカウント統制オプション
1. マネーフォワードIDとoktaをつなぐ
まず、マネーフォワードクラウドIDに「全権管理者」または「セキュリティ」の権限を持ったユーザーで管理コンソールにログインします。
管理コンソール: https://biz-admin.moneyforward.com/
手順としてはこんな感じです。
1. ドメインを認証する
2. SSOを設定する
3. 利用するユーザーを登録してアカウント統制を有効にする
ということで、まずはドメインの認証です。
公式に書いてある手順で問題なく進められるのでこちらを参考にします。
https://support.biz.moneyforward.com/valuepack/guide/control/g023.html
続いて、SSOの設定です。
まずoktaを開いて、Application -> Add Applicationを選択します。
「Create New App」より、okta上にマネーフォワードID用の独自アプリを作成していきます。
「Sign on method」 はSAML 2.0を選択し、Createをクリックします。
App name にはわかりやすい名前をつけておきます。
「マネーフォワードID」なんかが適当でしょうか。
App logo の画像は好きなものをご用意ください。
先に言っておきますが、このアプリ自体はokta利用者からは見せないようにするので、App logo はなくても問題ありません。
ユーザーポータルにこのアプリを表示させないように「App visibility」の項目にチェックをつけたら、Next をクリックします。
マネーフォワードのSSOの情報をOktaのSAML Settingsに設定します。
マネーフォワード管理の画面に戻り、「SSO」のところから情報を確認できるようにしておきます。
マネーフォワードから提供されている情報をoktaの設定項目にコピペします。(ここがわかりにくいんよなー)
・[MF] Assertion Consumer Service URL → [okta] Single sign on URL
・[MF] エンティティID → [okta] Audience URI
・[MF] SSO URL → [okta] Default RelayState
これでIdP側の設定は一旦完了で、次にSP側の設定をしていきます。
出来上がったアプリを開いて、「Sign On」から「View Setup Instructions」をクリックします。
画面一番下にある「Optional」からxmlをコピーして、テキストファイルか何かにコピペしてxmlファイルを準備します。
できあがったxmlファイルをマネーフォワード側へアップロードします。
これでSAMLの設定は完了。
続いてSSOの対象とするユーザーを設定していきます。
SSOの対象とするユーザーアカウントは、この画面からユーザー登録を行なった後、アカウント統制を有効にします。
ただし、何らかの不具合でSSOができなくなってしまった場合に備えて、管理者用のアカウントは1つ別に作成しておき、そのアカウントはアカウント統制の対象外(ID・パスワード認証)にしておくことをおすすめします。
2. マネーフォワードクラウドアプリ(勤怠)側の設定
マネーフォワードID、設定するだけでは勤怠アプリは利用することができません。ポータルから設定するわけでもなく、まさかの勤怠アプリ側から設定していきます。(厄介)
MFクラウド勤怠の設定画面を開いて、左ペイン「従業員」から「従業員一覧」を選択し、対象の従業員の「編集」をクリックします。
「ログイン情報」の項目で、「マネーフォワードID」を選択すると、従業員番号に紐づくユーザーが自動で選択されます。
保存をクリックして設定は完了です。
これでユーザーはMFクラウドの勤怠システムをSSOで認証して利用することができます。
3. oktaのポータルを整える
が、ここで問題が発生。
マネーフォワードクラウドはSP起点のSSOのため、IdPであるoktaからMFクラウド勤怠および給与といった各種アプリへの入り口がありません。
この状態でも、SSO自体はできているので勤怠・給与システムへログインするには問題ないといえば問題ないのですが、やはり従業員のみなさまにはoktaのポータルにアクセスすべきアプリが集約されていて、そこから快適にアクセスしてもらいたいと思うのが情シスというものではないでしょうか。
ということで、勤怠・給与それぞれのシステムへアクセスするための「Bookmarkアプリ」を用意していきましょう。
再びoktaの管理画面を開きます。
Applications から Add Applicationを選択し、検索窓に「Bookmark App」といれてみてください。
この「Bookmark App」は何かと便利なやつで、特定のURLへ遷移させたい時に使えるいい子です。 サービスプロバイダー が起点となるSP-Initiatedしか提供されないアプリで、SSO(っぽく見せる)する際には必須アイテムです。
Bookmark Appにはこのように設定をします。(MF勤怠の場合)
・Application Lavel : マネーフォワードクラウド勤怠
・URL : https://attendance.moneyforward.com/my_page
このアプリは利用者から見えるものなので、画像はなんかええ感じのものを拾ってくるなり作るなりして設定しておいてあげましょう。
ということで完成です。
これでoktaから勤怠システムにSSOしてるっぽく見えるようになりますねw
そんなに難しいことではないのですが、備忘メモでした。