IdPの導入するとき考えたこと
この記事は
【初心者優先枠】corp-engr 情シスSlack(コーポレートエンジニア x 情シス)#2 Advent Calendar 2020 15日目です。
この記事はIdPを導入するにあたって、どんなことを考えたのかをまとめてます。
IdP自体会社の主幹の部分になるので、その会社毎の人事マスタや導入しているサービスや方針によって変わってきます。
なのでベストアンサーはないと思っているのですが、私はこんなふうにしました。と言う感じで、今後導入検討の人の一助になれば幸いです。
1. いれるぜ!って決めた時にまずやったこと
いれるぜー!って決めた時、実際どのIdPを選択したのではなく、まず自社で導入している(導入予定が決まってる)サービスがどれくらい、SAMLまたは、SCIMに対応しているかを書き出します。いまサービス一覧があれば、それを流用できそうなのであればそれでOKです。
対応しているサービスだけでなく、今入れてるサービス全部書いてしまうのがおすすめです。後々使えます。
サービスの一覧にいろんなできるできないを一覧にしました。(管理者はSSO不可とか、SSOとID/PASSの共存できるなど、)長くなるんで割愛です。気になる人は聞いてください。
私はこのとき、一緒にサービス内で利用している共有アカウントを調べていました。
IdPは各個人にアカウントがありそのアカウントを使うことが前提なので、共有アカウントのような複数の人間がログインできるアカウントは該当サービスをSSO設定してしまうと、今後利用はできなくなります。
2. 自社の他サービスの導入の傾向を考える
サービスにはサービスの組み合わせがあるので、自社で入っているサービスとの兼ね合いを考えます。
それは、IdP側で用意しているアプリケーションテンプレート(SSO設定簡単にしてくれるやつ)とかの種類などです。
このテンプレートが充実している方がいい(時短・事故防止)ですし、あんまりテンプレートがないのであれば簡単に設定できると思ったものを使ってみるなど
3. IdPに何を求めるか
SSO設定ができることっしょ、って言うのはその通りなんですがそれ以外にIdPに求めることを考えます。
SSOをすると言ってもIdPにログインできたらすべてのサービスにアクセス可能にするのか?、それとも社用端末以外は不可にするのか?とか、アプリ毎にかえる?とか。
デバイスの制限とかアクセス制限だけでも、いろいろできることできないことがIdPにはあるので、まず各サービスをどれだけ許可するのかを考えて、それが実現できるものを探していく。。。
わりと果てしないです。これは正直あとからでも良かったかなぁと思いってます。(変える必要をそもそもなかったので)
4. 自社のサービスの導入傾向とメリットとデメリット考える
例えの話ですが、導入製品をMSに寄せていると言う場合は、IdPもMSのAzure ADにしようと言うのはわりと普通に議題に上がってくると思います。ライセンス的にも管理はしやすいですし、コストメリットも十分です。
ユーザーにも案内はしやすい。他もメリットはザクザクです。
逆に、MSに寄せているのに、認証だけGoogle Cloud Identityにしようと言うのはあんまり議題には出ないんじゃないかな、みたいな。
人事マスタがどこにあるのか?それとの相性が重要になってきます。
じゃあ、MSに寄せているからMSの使いますというので本当にいいのか?という話になります。
MSが全体的に落ちてしまった場合、認証が全てMSに寄っているので、認証をMSに寄せてなければ使えた外部のサービスすらも使えなくなり、結果PC開いてもTwitterしかできない^^みたいな事が起こります。
そこで、外部のIdPに特化しているサービスを利用や、サービスの品質を突き詰めて考えるというのもあります。
ここら辺考えると、IdPでも自社にあったIdPがグッと少なくなる感じ。
私は、Azure使い倒してるわけでもGoogle Workspaces使いたい倒してるわけでもないので、一番導入と設定コストが少ないIdPを探そうって結果に落としてます。
5. 実際に触ってみる
なんだかんだで、どのIdPも当たり前ですがトライアルはできるので、トライアルで試すのが一番な気がします。(AzureならEMSとかE3とか持ってるだけで即できる)
さくっと繋げられるサービス例
- AWS(オーガナイゼーションでアカウント払い出してさくっと)
- 開発環境作ってそこでチャレンジ(Salesforceとか)
- テストモードがあるタイプのサービス(Slackとか)
など
で、実際に手を動かしてみて、GUIが理解できる、実際にドキュメントを読んだときにどれがわかりやすいか(更新頻度なども要確認)、ヘルプセンターの有無とかを実際に確認してみて、自社スタイルに一番あっているものを探すのがいいと思います。
もちろんユーザー画面も確認ができるので、
- どのようにユーザーが確認できるのか?
- パスワードのリセット方法
- 多要素で利用するデバイスをユーザー自身で切り替える方法
など
このタイミングで、ユーザーに見せる用のドキュメント用のスクショ撮っておいても良かったかなって思いました。反省
5. ついでに考えた
人事マスタになるものが、突貫で作ったAzure ADだったのでそもそも使い続けるか個人的にめっちゃ悩みました。
正直そこまでAzure ADをガツガツ活用いているわけでもないので、IdPをマスタにしてそこで管理してもいいよな...という
これをした場合は、IdPを移行しようとするときに人事マスタも同時に引越しになるし、なかなかめんどくさいなっていう。
なので、いまだに決め切れてない部分があります。運用ちゃんと回ったら考えようと思います。
最後に
今回、私は1人で考えたんですが、何導入するか、導入したい時にいろいろ考えないといけないこと多いし、いざ導入してからの方が大変は多いので、無理だわ〜って思ったらさっくり、ベンダーやコンサル入れるのがおすすめです。
あとこれ以外にも考えたけど、長すぎて割愛してることもあるので、気になる人は、Twitterにリプもらえれば返事します。
明日は、CSE Hokkaidoの「らっと」さんです!よろしくお願いします