見出し画像

2022年新規にSSO/SCIM設定を行ったSaaSを紹介します!

この記事は Money Forward CorporateIT Advent Calendar 2022 の19日目の投稿です。
前回はRJさんの「 Wi-Fi 6E はじまりました 」でした。

はじめに

はじめまして!マネーフォワードCIO室コーポレートエンジニアリンググループ・SaaSManagementグループ所属のmochicoです。普段は社内の業務効率化などをしています。

さっそくですがマネーフォワードでは現在300近くのSaaSを利用しています。(すごい量!)
私が入社してから1年が経ち、この間にも色々なSaaSを導入しSSOの設定を行ってきました。(※私がマネーフォワードに入社した経緯は こちら

今回は、2022年にマネーフォワードで導入したSaaSをご紹介し、その中のいくつかのSaaSのSSO設定をした時の話をしたいと思います。

SaaS新規導入するときのフロー

まずマネーフォワードではCIO室で中央集権的にSaaSを管理していません。
300近くあるSaaSのうちCIO室が管理しているSaaSは57で、それ以外のSaaSは実際に利用している部署が管理しています。

SaaSは各部署で使いたいものを導入し、基本はその部署でアカウントを管理してもらう運用になっています。

ただ、新規導入する際は  利用規約の法務確認セキュリティチェック が必要となるため、slackにツール新規導入相談窓口チャンネルを作成し、気軽に相談していただけるようにしています。

slackのワークフローを利用することで相談を受ける際に聞いておきたいことがすぐわかるようになっています。

ツール導入相談WF

2022年に新規SSO/SCIM設定をしたSaaS

今回はCIO室で新規でSSO/SCIM設定をしたSaaSをご紹介いたします!2022年は下記の6つでした!
Zendeskは過去他の部署でも導入実績があるので、厳密には 新規 ではないかもしれませんが…

それでは、上記の中からいくつかピックアップして設定を行った時の話をしていこうと思います!

SSO/SCIM設定の裏話

Phrase(Memsource)

こちらは翻訳管理システムのSaaSです。CTO中出さんが発表したエンジニア組織英語化 から社内ドキュメントの翻訳が必要となり導入に至りました。

SSO/SCIMの設定は 公式ドキュメント に沿って行ったのですが、アカウント種別はSCIMで渡すことができなさそうでしたので
SCIMでリンギスト(無料アカウント)としてアカウント作成→必要だったらPhraseでアカウントを管理者(有料アカウント)に変更する という運用になりました。

アカウントを削除したときの挙動

SCIMの設定をした後動作テストのため、すでに割あたっていたCIO室のメンバーをPhraseからアカウントを削除し、その後SCIMで作成されるのを待ってみましたが、プロビジョニングされずエラーになってしまいました。

問い合わせてみたところ、Phraseでは 同じID(email)で作成はできない かつ 削除したアカウントは画面上から復活できない 仕様らしく、本来であれば INACTIVE にする必要があったとのことでした。

誤って削除してしまったユーザーを裏から復活させてもらい事なきを得ましたが、SaaSによって様々な仕様があり時にはベンダーや代理店の方とやり取りをすることも必要なのだと思いました。(その節は本当にありがとうございました!)

デプロビジョニング の挙動

こちらはまだ調査中ですが、AzureADのPhraseアプリから割当を外した時にPhraseのアカウントが INACTIVE になっていないことがわかりました。

アプリの割当がされていないのでSSOでログインはできなくなりますが、Phraseでは ACTIVE のままのため手動で INACTIVE にする必要があり、更にパスワードリセットを要求するとパスワードログインできる可能性があるとのことでした。

SCIMにより想定していない挙動をしてしまいそうなので、SCIMを無効にしアカウントは手動で追加する運用に変更することにいたしました。
ログイン方法もSSOとパスワードログインが並行運用になるため、全員2FA設定を必須としました。

Phraseログイン画面

機能として提供はされていても、運用にハマらないこともあるのだと学ぶ良い機会となりました。

zoom

zoomはすでに導入しSSOの設定も済んでいたSaaSですが、今年 正社員+希望者へ有料ライセンスの付与プロビジョニング設定 を行いました。

有料ライセンスの付与設定

ほぼ全員に有料ライセンスを付与することになり、SAMLマッピングを利用してライセンスの割当を行うこととしました。

zoomの SAMLレスポンスマッピング画面 でユーザーが特定のグループに所属していたら有料ライセンスを割り当てるよう設定を行いました。

zoom SAMLマッピング設定画面

AzureAD側のSAML属性の設定でグループIDを渡るようにしておき、zoom側にグループIDに期待するライセンスを設定すればOKです。

zoom AzureADのグループ属性

最初AzureAD側の設定を すべてのグループ にしていて、有料ライセンスを割り当てるべきユーザーにライセンスが割あたっていない事象が発生しました。
AzureADではSAMLで渡せるグループの数が150に制限されていて、150以上のグループに所属しているユーザー場合、正社員グループ の情報がzoomへ渡っていなかったためライセンスを剥奪されてしまいました。

アプリケーションに割り当てられているグループ に設定を変更することで、上記を解決することができました。

プロビジョニング設定

SAMLによるライセンス付与設定をおこなったあとにプロビジョニング設定を有効にしました。

調査をすすめていると、プロビジョニングでもライセンスを設定できることが分かりました。
UserType に appRoleAssignments を渡せば zoomアプリに割あたっているロールでライセンスをセットすることができます。)

ですが、今回はプロビジョニングでライセンスをセットすることはせず、前回設定した SAMLマッピングでのライセンス付与 を採用しました。
そのため、プロビジョニングは アカウントの作成/削除・SAMLでは ライセンスの付与を行う設定になっています。

全アカウント/正社員/希望者 グループがユーザー重複する設計になっていて、ユーザーがログインした際に複数ロールが返却されてしまうため、プロビジョニングでは設定することができなかったのが理由ですが、
アカウント作成後SSOログインしないと有料ライセンスが割り当てられない仕組みになっており、結果的にライセンスの節約にもなって良かったかなと思います。

さいごに

SSO設定を行う度、SaaS特有の仕様がありトライアンドエラーで突き進んでおります。。
基本は公式ドキュメントの通りに設定を進められるのですが、思わぬところで詰まってしまったり・・・

すでに運用を開始している場合ユーザーへ影響を及ぼしてしまうため、検証環境を用意していただけるSaaSは大変ありがたく使わせていただいております。

2023年はどんなSaaSを導入することになるのか、マネーフォワード全社で利用するSaaSの数がいくつになるのか、、これからも楽しみです!

SaaSに囲まれたい、SaaSに詳しくなりたい方、興味を持っていただいた方がいらっしゃいましたら、ぜひお気軽に話しましょう!

次の担当は20日目のsugawaraさんです!よろしくお願いします!


いいなと思ったら応援しよう!

この記事が参加している募集