スタンダードかつシンプルな「パスワード管理方式」
「パスワード管理方式」は、一番シンプルなID管理方式だ。ほぼすべてのSaaSが対応しており、追加開発やオプション料金なしに利用できる。あらゆるユーザーにとって慣れた方法であり、利用方法がわからないという問い合わせもほとんどない。ただ、よく指摘されているようにパスワード方式にはいくつかの問題がある。まず、複雑なパスワードを覚えられないことである。これによって起きる問題はいくつかある。
一つは、パスワードを忘れてしまうことだ。SaaSによっては管理者しかパスワードリセット権限がないことがあり、情シスの負担を増やす要因となる。もちろん、各従業員に割り当てられた会社のメールアドレスで登録する形式がとられていれば、個々人でパスワードをリセットしてもらえる。しかし、パートタイムやフリーランスなど入れ替わりが多い現場では、一人ひとりにメールアドレスが付与されないケースも少なくなく、そうした従業員も対象とした場合には、各従業員のメールアドレスと紐づけることなく管理者がIDを作成してユーザー登録をしていることだろう。そうした場合、SaaSのパスワードリセットは情シスの仕事となり、従業員が多ければ多いほどその頻度は増えてしまう。
もちろん、パスワードを忘れるたびに問い合わせることは、ユーザー側にとっても面倒であり、これを避けるために「パスワードの使い回し」という問題が発生するのである。一般的にパスワードを使いまわすことは、セキュリティを考慮して避けなければいけないことの一つだ。たとえば、別サービスで既に漏洩したID/パスワードを利用した「リスト」型攻撃は世界で1日平均数億回、多い日は10億回以上実行される日もある。
最近では、この問題を解決するために「パスワード管理サービス」が使われることが多く、ほとんどのブラウザで標準機能として搭載されている。パスワードの自動生成を行い、ブラウザに記憶させることで“元のパスワードは覚えない”という運用が好ましい。「他人が操作するかもしれないので、ブラウザに記憶させてはいけない」という企業も散見されるが、パスワード利用時に生体認証を組み合わせることもできるため、覚えないことを前提としたパスワード管理方法を模索する方が望ましいだろう。また、こうしたサービスは既に漏洩している恐れのあるパスワードを利用した場合に警告を表示してくれることもある。そうした機能性を見ても「リスト型」攻撃や「辞書型」攻撃への対策になる。
普及してきた「シングルサインオン方式」にも課題あり
パスワード管理方式に次いで、シングルサインオン(SSO)方式もSaaSではよく採用されている。前述したパスワード管理方式には、パスワードの使い回し問題やアカウント管理の手間といった問題があった。一方でSSO方式は、特定のサービスをIDプロバイダー(IdP)として、IDの一元管理が可能だ。たとえば、MicrosoftアカウントやGoogleアカウントを使ってSaaSにログインすることでSaaS側のID管理の手間を減らすことができる。また、多くのIdPにおいて、標準の管理機能があったり、ログイン履歴などが残っていたりするため、管理コストが大きく下がり、安全性も高まる。
しかしながら、SSOにも問題点がいくつかある。
たとえば、希望するIdPでのSSOにSaaSが対応していないことは非常によくある問題だ。特に新興SaaSには先端技術が使われた素晴らしいものがある一方で、こうした機能開発は後回しになりやすい。無理して依頼すると高額なカスタマイズ費用が発生することもある。ただし、SSO対応によって情シスの管理コストが大きく削減され、安全性も飛躍的に高まるだけに多少コストがかかったとしてもSaaS側に対応を依頼するケースも多いのが実情だ。とはいえ、「いずれは様々なIdPへ対応しなくてはいけない」という認識をもつSaaSベンダーがほとんどであり、依頼が複数社から寄せられれば対応しやすくなるため、もし社内で使ってるIdPがあれば一度打診してみると良いだろう。
他にも、SSOで発生しがちな問題として、IdP側のサービスへの不正ログインが挙げられる。このとき、SSOで連携しているすべてのサービスに不正ログインされてしまうというリスクがある。つまり、IdP側のサービスは死守すべき管理アカウントとなってしまうが、単に管理アカウントを増やしてパスワードの使い回しのリスクを高めるよりも、一つの信頼できるサービスアカウントを厳重に管理する方が安全性を高く保てる。もちろん、IdPのほとんどで多要素認証への対応が行われており、海外からのログインを検知する機能があったり、監査ログなども充実していたりと、SaaSベンダー側が要件を満たしていない場合でも、IdPプロバイダーによる対策によっては、安全にアカウントを管理することができる。