Atrae Tech Blog

People Tech Companyの株式会社アトラエのテックブログです。

なぜ、そしていつ、会社に Single Sign On ツールが必要になるのか?

f:id:atrae_tech:20201225155442j:plain

Dockerの申し子、小倉です。Docker が好きなので社内 slack のアイコンは Moby Dock にしております。

この記事は、Atrae Advent Calendar 2020 の11日目の記事でもあります🎅

qiita.com

今回は「なぜ会社に SSO(Single Sign On)ツールが必要になるのか?」「それはどのタイミングなのか?」という問いに対して私の考えを書いていきます。

前置き

弊社では最近、SSO ツールとして OneLogin を全社導入しました。既存の Saas と OneLogin とで SAML 連携を進めております。

OneLogin の導入を推進していく過程で SSO の思想や概念にたくさん触れ、振り返ってみるといち従業員としても、会社のセキュリティを強化していく側としても SSO を導入することの恩恵を強く感じました。

この記事に読んでいる方の中には「まだ SSO を導入していないけど、いつか導入したい…」という感じの方もいるかと思います。そのため OneLogin についての説明というより、SSO ツールや SAML 連携に関する一般的な記事になっています。またわかりやすさメインで書いているので、かなり大雑把な表現をしている箇所もありますがご了承ください。

もしこの記事がその方の助けになれば、執筆者冥利に尽きます。

導入の背景

弊社での SSOツール導入の目的は主に三つです。

第1に、個人視点でツール管理を楽にすること。

第2に、組織視点でツール管理を楽にすること。

第3に、各メンバーのセキュリティレベルを上げること、です。

これらの項目が「なぜ SSO ツールを導入するのか」という問いに対応してきます。それぞれ詳しく説明していきます。

個人視点でツール管理を楽にする

各ツールのログイン情報を管理するの、面倒くさくないですか?(唐突)

例えば勤怠管理なら●●というツールを使い、ドキュメント作成ツールには〇〇を使い、クラウドサービスには■■を使い…というように複数の Saas や web サービスを使うことは現代社会においては当然のことかと思います。

また、当たり前ですがそれぞれのツールに自分以外はログインしてほしくないわけで、そのために ID とパスワードを設定してログイン部分を守ります。パスワードはパスワードポリシーに則って N桁以上にして、数字や特殊記号を混ぜ、またそれぞれのサービスで異なるパスワードを設定することが必須になります。

後述する「各メンバーのセキュリティレベルを上げること」に関連しますが、パスワードを設定することは重要でありつつも、本質的には人の所業ではないと考えています。そのような作業はやがて個人にとっての覚えやすい文字列に収束していき、個人が使う全てのツールで推測されやすいパスワードが使い回されていくでしょう。

f:id:atrae_tech:20201204235312p:plain

SSO 機能を利用することで、組織の従業員は連携するサービスの ID と パスワードを覚える必要がなくなります。それと同時に全てのサービスでパスワードを頻繁に変更することも不要になります。

組織視点でツール管理を楽にする

そして利用者だけではなく、主に組織の内部統制やセキュリティ強化を推進する従業員(ここでは「管理者」と呼びます)も、もともと感じていたつらみから開放されます。

管理者が感じるつらみは主に2つです。

  • シャドーITへの対応
  • 従業員の加入、異動、退職への対応

シャドーITへの対応

シャドーIT とは組織で公式に利用が許可されていないサービスや私用デバイスを無断で業務に利用することです。

例えば組織では公式に slack を利用しているのに、LINE を使うなどのイメージです。

これが絶対的に悪いというよりも、リスクの温床になりやすいため適切に管理する必要があるという方が正しそうです。

極端に言えば SSO 連携されているツールしか社内で利用できない、という風にすればシャドーITを抑制しやすくなります。企業によっては SSO 連携に対応していないツール以外は導入できないところもあるようです。

またそのような動きを始めることで、これまで明るみに出ていなかったツールの利用が明るみにでてくるかと思います。とはいえシャドーIT への対策としては CASB の方が適切かと思いますので、組み合わせて対策していくといいかもしれません。

従業員の加入、異動、退職への対応

より辛く感じるのは従業員情報のツールへの登録、編集、削除の作業でしょう。

加入、異動、退職がある度に対象となるツール全てで登録、編集、削除の操作をする必要があります

加えてツールによって管理者が異なると、管理者同士で連携する必要があります。

また退職したメンバーを削除し忘れるとかなりのリスクになるため、その従業員が利用していたツールからその従業員のアカウントを確実に消すために何度もチェックが入ることでしょう。

f:id:atrae_tech:20201204235441p:plain

SSO があると、登録、編集、削除をするのは Idp(今回だと OneLogin)だけで良くなります。SSO でしっかり設定を作り込めば、それを各ツールにプロビジョニング(ざっくりいうとアカウントを展開すること)するだけです。

各メンバーのセキュリティレベルを上げる

SSO ツールの導入は各従業員のセキュリティレベルを引き上げてくれます。

その理由は前述のように推論されやすいパスワードが撲滅されることも挙げられますが、その結果として攻撃者からの攻撃機会を減らすことができることも挙げられます。

SSO がない場合はそれぞれのツールで ID とパスワードでログインすることになります。

これは攻撃者からすると攻撃の機会がたくさんあることになります。しかも推論されやすいパスワードを設定していたり、そのパスワードを使い回していたりすることが多いため、"ザル" である可能性が非常に高いです。

f:id:atrae_tech:20201204235503p:plain

一方で SSO ツールがあると、そもそも各ツールは SSO ツールを通してのみログイン可能になるためシンプルにログイン部分への攻撃機会が減ります。また SSO ツールのパスワードポリシーを非常に強くしたり、二段階認証を設定したりすることで、1つしかない入り口への侵入を困難にします。

これらの例からわかるように、SSO ツールを入れることで個人も組織も幸せになれます。もちろん運用者は SSO 側の管理をする必要がありますが、管理対象が N個のサービスから SSO ツール1個になっただけでもかなり幸せになっていることがわかります。

どのタイミングで SSO ツールが必要になるか

組織が大きくなる兆しが見え始めた時に導入するのがベストかと思います。具体的には組織の人数が100人に達する前だといいのかなと小倉は自分の体験を振り返って考えます(御坂妹感)。

SSO ツールも安くはないため、まだ駆け出しのスタートアップなどには高い出費になるはずです。変な話、組織の権限管理は整然としていてセキュリティもバッチリだが、事業がうまくいかず廃業となると、そもそも注力するべきはそっちではないのでは?ということも考えてしまいます。難しい判断ではありますが…

逆に大きくなりすぎた組織にいれるのもかなりしんどいはずで、あまりおすすめ出来ません。これまでSSO がなかった数百人単位の組織に告知、展開していくのはかなり体力が必要です。連携の度に各個人の設定が必要になりますし、ITリテラシーが高くないメンバーが乗り換える際はサポートが必要になってきます。その意味でも組織が大きくなりすぎる前に導入してしまうのがいいのではないでしょうか。

もちろん経営判断になるため、最初から導入することも考え方的にはアリだと思います。逆に100人以上の組織規模で SSO を導入しないというのは、セキュリティと人員管理の側面からみても相当つらい戦いになりそうです。

余談:Saas 事業者に求められること

今後の Saas は殆どが SSO 連携できるようにすることが成功の必須条件になってくると思います。これは社内規定によって SSO 連携していない Saas ツールを導入できない企業も少なくないためです。加えてメジャーどころの Idp には対応する必要があります。OneLogin、Okta、トラストログインなどいずれかのツールを使っている場合、基本そのツールから乗り換えることはありませんし、だからこそ、その Idp に対応している Saas しか使えないのです。

ただし逆に言うと、そこに対応することが出来れば自社の Saas をその企業に全社導入することが比較的容易になるのではないでしょうか。

だからこそ今後の Saas 事業者はメジャーな Idp に対応してく必要があると考えます。

以上!