Kyashでは9月からIDaaSであるOneLoginを導入しました。
導入から3ヶ月が経過し、現時点でほぼすべての社内認証をOneLoginに統一することが出来ました!
今回は、なぜOneLoginにしたのか、使い勝手等を含めお伝えできればと思います。
すごくヨイショしている記事になってしまったんですが、お金はもらってません!!!!!笑
実は前職でもかなり使い込んでおり、OneLoginは思い入れのあるプロダクトです。
www.pentio.com
今回の導入に関しても、OneLogin 日本代表の福見さんと代理店であるペンティオさんにかなりのお力添えを頂きました。ありがとうございます!
Kyash Advent Calendar 2019 day11
ということでKyash Advent Calendar 2019 day11になります。
OneLogin以外の5ヶ月の奮闘記はこちら
Kyash Advent Calendar 2019 day6OneLogin Desktopについてはこちら
2019-12-18(水) 公開予定!
課題
Kyash Advent Calendar 2019 day6でも述べましたが、まず第一にPCのディレクトリ管理をすることが目標でした。
しかしKyashのPCはMacが8割強という割合になっていて、またOffice365も全員が使っているわけではありません。そのため、Active DirectoryやAzure Active Directoryは時期尚早だと判断しました。
入れようと思えばいつでも入れられますからね! 辞めるのは大変だけど...
blog.animereview.jp MacのADバインド、それは地獄という記事
その他の比較対象として、OktaとJumpCloudがありました。
ただ価格の割に出来ることが少ない(あくまで主観です!)のと、日本代理店のサポートが足りていないと感じた(あくまで主観です!!)ため、今回は見送りました。
ということで、検討(と多少の愛)の結果、OneLogin + OneLogin Desktopで構築することにしたのでした。
PCのログイン機構であるOneLogin Desktopについては、また来週のブログで触れようと思います。
今回の記事では、本体のOneLoginについて述べます!
構成
Kyashでは全てのサービスの親ディレクトリをOneLoginに統一しています。
後述しますが、Google認証も広義的にはOneLogin認証の一部(Googleの認証周りは全てOneLoginにリダイレクトされるため)とみなしています。
属性
社員番号が登録されていたら正社員、職種名にEngineer
とあったらエンジニア...というふうにマッピング設定をしており、基本的には入社時に1度だけ必要な情報を登録するだけで、その他の属性は自動で付与されます。
多彩なエンドポイント
一言でディレクトリを統一したと言っても、なかなか人類は統一規格を実現できません。そこでOneLoginは多彩なエンドポイントを持っていて、そこが売りの一つになっています。
SAML
優先度1位です。 この世のサービス全てが早くSAMLに統一されてほしい。そして追加料金やめてほしい...
AWSやAmazon Business、G Suite、Zendesk等、アカウント数が多く、独自管理が大変なものを優先して対応しました。
プロビジョニング
SAML認証はログインだけに対応しているアプリと、プロビジョニングに対応しているアプリがあり、プロビジョニングはほんっっっっっっとうに便利です。 たとえば新しい社員が入社した際には、OneLoginのアカウントを作成するだけで自動的にアカウントが作成されていきます。
休職や退職の際も自動でサスペンドや削除が出来るため、Unlimitedプラン限定ですが、非常に魅力的な機能だと思います。
G Suiteに関してはほぼ全ての情報をプロビジョニングで管理しており、例えばGoogleグループもOneLoginの管理下においています。
RADIUS
優先度2位です。
社内Wi-Fi(Cisco Meraki)の認証に利用しています。
今まではPAPかEAP-TTLS/PAPにしか対応しておらず、 WindowsもMacも設定手順が煩雑でしんどい思いをしていました。
前職ではプロファイルを配布して対応していましたが、OneLogin Winter’19 ReleaseでEAP-PEAP/MS-CHAPv2対応が発表され、この6月にようやくリリースされました! www.onelogin.com
EAP-PEAP/MS-CHAPv2はMac,Winどちらともがデフォルトで対応しており、ユーザーの特別対応が必要ない、わかりやすいUIでWi-Fiが提供できるようになりました。
JumpCloudにもRADIUS機能はあり、EAP-PEAP/MSCHAPv2も対応しているそうです。(thx falms-san!) Oktaは自分でサーバーを用意するのかな?
vLDAP
優先度3位です。使用にはvLDAPオプションの契約が必要になります。
現状では資産管理ツール、複合機のアドレス帳機能(と内部的にOneLogin Desktop)で使用しています。
ただ、エンドポイントがパブリックになっておらず、サポート宛にIP制限解除の申請を掛けなくてはいけないのがちょっと面倒です。(IP制限なしでも利用できるそうです! thx tokuyama-san!)
あと検索になかなか時間がかかります。更にバインドユーザー用に生パスワードを各サービスに保存する必要があるため、セキュリティリスクを考え、ユーザー検索しか出来ないアカウントを専用で用意しています。もちろんライセンス1個消費です。
と色々書きましたが、現実問題としてLDAPにしか対応していないプロダクトは多々あるので、あると便利です。
API
優先度4位です。
OneLoginが公式で用意したREST APIがあります。
単品ではまだKyashでは使用していませんが、前職だと、既存の社内アプリのユーザー作成部分をこのAPIに置き換えました。
このAPIも、検索になかなか時間がかかります。もしログインを実装したとしたら、肌感で2〜3秒くらい。
GASでKibelaと連携
単品では、と言いましたが、GASでKibelaのAPIと接続しているものがあります。
KibelaのSAML連携が先日リリースされましたが、まだ出たばかりなので機能不足感があり、グループの管理もできません。そこで、自作でAPIを接続するようなことをやっていたりします。
G Suite
さて、ここからは代替案になります笑
SAMLやLDAPには対応していないけど、Googleログインには対応してる! …ってSaaS、よくありますよね。
G Suiteが認証局になっているわけですが、G SuiteはOneLoginの傘下に入っているため、実質的にOneLoginで認証している!...ということになります。
ただし直接ユーザーデータにアクセスできるわけではないので、アクセスコントロールが不十分な感は否めませんが、自前のユーザー登録をさせる仕組みよりはマシですね。
個別アカウント + 自動発行パスワード
SAMLもGoogleログインも出来ないけど、全社員に使わせたいサイトなどに使います。
ユーザー名、自動発行させたパスワードをCSVでOneLoginにアップロードし、覚えさせます。ユーザーはOneLogin経由でログインすることによって、生パスワードを知ることなく利用が可能です。
個別アカウント + 個別パスワード
パスワードの設定が管理者では出来ず、ユーザーに任せるパターンもあります。
管理者側で、ユーザーが登録したパスワードを閲覧することが(もちろん閲覧をしたログが残るので悪さはできません!)でき、強度等のチェックも行えます。
共有アカウント
個別アカウントも仕様上用意出来ない場合に限り、共有アカウントでのログインを登録します。
上記3つはChrome Extensionを通じてログインするのですが、1Password等と比べると誤爆率が高いため、あまり率先して使いたいというわけではありません。
OpenID Connect
さっき思い出したんですが、OpenID Connectもありました。
まとめ
エンドポイントの話でかなり長くなってしまいました...!
以上、色々なエンドポイントをOneLoginが用意してくれているおかげで、なんとか統一できているよというお話でした。
今後ともOneLoginを愛していきます!!!!!!
あ、投げ銭はこちらです。 kyash_id : rela
あと宣伝です。今月号はKyash大特集!