rela1470のブログ

rela1470がブログです。

KyashがOneLoginを選んだ理由

Kyashでは9月からIDaaSであるOneLoginを導入しました。
導入から3ヶ月が経過し、現時点でほぼすべての社内認証をOneLoginに統一することが出来ました!

今回は、なぜOneLoginにしたのか、使い勝手等を含めお伝えできればと思います。
すごくヨイショしている記事になってしまったんですが、お金はもらってません!!!!!笑

www.onelogin.com

f:id:rela1470:20191210162236p:plain
公式HPにも取り上げて頂き、ありがとうございます!

実は前職でもかなり使い込んでおり、OneLoginは思い入れのあるプロダクトです。
www.pentio.com 今回の導入に関しても、OneLogin 日本代表の福見さんと代理店であるペンティオさんにかなりのお力添えを頂きました。ありがとうございます!

Kyash Advent Calendar 2019 day11

ということでKyash Advent Calendar 2019 day11になります。

adventar.org

  • OneLogin以外の5ヶ月の奮闘記はこちら
    Kyash Advent Calendar 2019 day6

  • OneLogin 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がありました。
ただ価格の割に出来ることが少ない(あくまで主観です!)のと、日本代理店のサポートが足りていないと感じた(あくまで主観です!!)ため、今回は見送りました。

jumpcloud.com

www.okta.com

ということで、検討(と多少の愛)の結果、OneLogin + OneLogin Desktopで構築することにしたのでした。

PCのログイン機構であるOneLogin Desktopについては、また来週のブログで触れようと思います。
今回の記事では、本体のOneLoginについて述べます!

構成

f:id:rela1470:20191210165552p:plain
簡略化した構成図

Kyashでは全てのサービスの親ディレクトリをOneLoginに統一しています。
後述しますが、Google認証も広義的にはOneLogin認証の一部(Googleの認証周りは全てOneLoginにリダイレクトされるため)とみなしています。

属性

社員番号が登録されていたら正社員、職種名にEngineerとあったらエンジニア...というふうにマッピング設定をしており、基本的には入社時に1度だけ必要な情報を登録するだけで、その他の属性は自動で付与されます。

f:id:rela1470:20191210171250p:plain
マッピング設定

f:id:rela1470:20191210172134p:plain
属性に紐付いたアプリが自動で使用できるようになります

多彩なエンドポイント

一言でディレクトリを統一したと言っても、なかなか人類は統一規格を実現できません。そこでOneLoginは多彩なエンドポイントを持っていて、そこが売りの一つになっています。

f:id:rela1470:20191210172825p:plain
12月時点でちょうど100アプリ登録されています!

SAML

優先度1位です。 この世のサービス全てが早くSAMLに統一されてほしい。そして追加料金やめてほしい...

auth0.com

AWSAmazon Business、G Suite、Zendesk等、アカウント数が多く、独自管理が大変なものを優先して対応しました。

プロビジョニング

SAML認証はログインだけに対応しているアプリと、プロビジョニングに対応しているアプリがあり、プロビジョニングはほんっっっっっっとうに便利です。 たとえば新しい社員が入社した際には、OneLoginのアカウントを作成するだけで自動的にアカウントが作成されていきます。

f:id:rela1470:20191210170747p:plain
今はG Suite側のライセンス数が心許ないので、意図的にApproveダイアログを挟んでいます

休職や退職の際も自動でサスペンドや削除が出来るため、Unlimitedプラン限定ですが、非常に魅力的な機能だと思います。

G Suiteに関してはほぼ全ての情報をプロビジョニングで管理しており、例えばGoogleグループもOneLoginの管理下においています。

f:id:rela1470:20191210175215p:plain
OneLoginとGoogleグループで同期

f:id:rela1470:20191210175521p:plain
その他の情報ももちろん連動しています

RADIUS

優先度2位です。
社内Wi-Fi(Cisco Meraki)の認証に利用しています。

今まではPAPかEAP-TTLS/PAPにしか対応しておらず、 WindowsMacも設定手順が煩雑でしんどい思いをしていました。

前職ではプロファイルを配布して対応していましたが、OneLogin Winter’19 ReleaseでEAP-PEAP/MS-CHAPv2対応が発表され、この6月にようやくリリースされました! www.onelogin.com

f:id:rela1470:20191210152943p:plain
やっとプロファイルなしで接続できるように...!

EAP-PEAP/MS-CHAPv2はMac,Winどちらともがデフォルトで対応しており、ユーザーの特別対応が必要ない、わかりやすいUIでWi-Fiが提供できるようになりました。

f:id:rela1470:20191210174819p:plain
merakiダッシュボード上でも誰の端末なのかが一目瞭然に!

JumpCloudにもRADIUS機能はありEAP-PEAP/MSCHAPv2も対応しているそうです。(thx falms-san!) Oktaは自分でサーバーを用意するのかな?

vLDAP

優先度3位です。使用にはvLDAPオプションの契約が必要になります。
現状では資産管理ツール、複合機のアドレス帳機能(と内部的にOneLogin Desktop)で使用しています。

f:id:rela1470:20191210180922p:plain
Snipe-ITのLDAP設定画面。特に癖もありません

ただ、エンドポイントがパブリックになっておらず、サポート宛にIP制限解除の申請を掛けなくてはいけないのがちょっと面倒です。(IP制限なしでも利用できるそうです! thx tokuyama-san!)
あと検索になかなか時間がかかります。更にバインドユーザー用に生パスワードを各サービスに保存する必要があるため、セキュリティリスクを考え、ユーザー検索しか出来ないアカウントを専用で用意しています。もちろんライセンス1個消費です。

と色々書きましたが、現実問題としてLDAPにしか対応していないプロダクトは多々あるので、あると便利です。

API

優先度4位です。
OneLoginが公式で用意したREST APIがあります。

developers.onelogin.com

単品ではまだKyashでは使用していませんが、前職だと、既存の社内アプリのユーザー作成部分をこのAPIに置き換えました。
このAPIも、検索になかなか時間がかかります。もしログインを実装したとしたら、肌感で2〜3秒くらい。

GASでKibelaと連携

単品では、と言いましたが、GASでKibelaAPIと接続しているものがあります。
KibelaSAML連携が先日リリースされましたが、まだ出たばかりなので機能不足感があり、グループの管理もできません。そこで、自作でAPIを接続するようなことをやっていたりします。

f:id:rela1470:20191210182232p:plain
OneLogin側のAPIでユーザー情報とロール情報を取得し、Kibelaのグループに自動追加する

G Suite

さて、ここからは代替案になります笑
SAMLLDAPには対応していないけど、Googleログインには対応してる! …ってSaaS、よくありますよね。
G Suiteが認証局になっているわけですが、G SuiteはOneLoginの傘下に入っているため、実質的にOneLoginで認証している!...ということになります。

f:id:rela1470:20191210183900g:plain
Googleログインを押してもOneLoginに転送されます
ただし直接ユーザーデータにアクセスできるわけではないので、アクセスコントロールが不十分な感は否めませんが、自前のユーザー登録をさせる仕組みよりはマシですね。

個別アカウント + 自動発行パスワード

SAMLGoogleログインも出来ないけど、全社員に使わせたいサイトなどに使います。
ユーザー名、自動発行させたパスワードをCSVでOneLoginにアップロードし、覚えさせます。ユーザーはOneLogin経由でログインすることによって、生パスワードを知ることなく利用が可能です。

f:id:rela1470:20191210184612p:plain
ユーザー名、パスワードをCSVでアップロードする

個別アカウント + 個別パスワード

パスワードの設定が管理者では出来ず、ユーザーに任せるパターンもあります。

f:id:rela1470:20191210184833p:plain
管理者側は箱だけ用意しておき、各自でIDとパスワードを登録してもらう
管理者側で、ユーザーが登録したパスワードを閲覧することが(もちろん閲覧をしたログが残るので悪さはできません!)でき、強度等のチェックも行えます。

共有アカウント

個別アカウントも仕様上用意出来ない場合に限り、共有アカウントでのログインを登録します。

上記3つはChrome Extensionを通じてログインするのですが、1Password等と比べると誤爆率が高いため、あまり率先して使いたいというわけではありません。

f:id:rela1470:20191210190036g:plain
ブラウザを勝手に操作されるイメージ

OpenID Connect

さっき思い出したんですが、OpenID Connectもありました。

developers.onelogin.com

まとめ

エンドポイントの話でかなり長くなってしまいました...!
以上、色々なエンドポイントをOneLoginが用意してくれているおかげで、なんとか統一できているよというお話でした。
今後ともOneLoginを愛していきます!!!!!!

あ、投げ銭はこちらです。 kyash_id : rela

あと宣伝です。今月号はKyash大特集!