企業向けパスワード管理製品について調べてみた

従業員が、自社で開発したシステムやクラウドサービス (SaaS, IaaS, Paasなど) にログインする際の、IDパスワードを管理するための製品について調べてみました。

##パスワード管理の必要性

情報システム部門の偉い人
![asianbusinessmanworkinginoffice.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/789435fd-5fbf-5b31-0f9c-1c581358ec7a.jpeg)

*「IDパスワードが抜かれると、不正アクセスされて、自社の情報や顧客の情報が漏えいする可能性がある。こうしたリスクを防ぐために、無意味な文字列のパスワードを作成し、パスワードを使い回してはいけない。各自しっかりやるんだぞ」。*

このように企業の情報システム部門が従業員に言ったところで、**「無味乾燥かつユニークなパスワードをたくさん覚えられる」はずがないのです。**

例えば、

- システムAのパスワードは「m9D!nW2q」
- クラウドBのパスワードは「On(fC4$s」
- クラウドCのパスワードは「7Dx!mi6T」
- システムDのパスワードは「l1g3V%eZ」
- クラウドEのパスワードは「jy93N$d#」

とか言われても、まず覚えられない。上記の5つだって覚えられないと思うが、実際に使うサービスの数は5つでは済まない。そして、社内システムであれば、Active Directoryのシングルサインオンで何とかなっているが、クラウドになると何ともならない。

情シスはユーザーができないことを言っているわけです。できないことを「頑張れ」といっても、できるようにならない。よって、パスワードの使い回しが起こる。その結果、「どこかで漏えいしたIDとパスワードのリスト」を使って、あちこち攻撃されて、重要情報が漏えいしてしまうわけです。漏えいした結果、情シスが従業員を責めても仕方ない。無理を強いたほうにむしろ問題がある。

そうならないためには、人間の記憶力を信用せずに、各種サービスごとにユニークなパスワードを作って、パスワード管理製品にまとめて預けてしまう。そして、パスワード管理製品にアクセスするときは、できる限り難しいパスワードを作ってログインし、もちろん使い回ししない。これであれば安全ではないか。

というところから必要性が出ていると理解しております。

##Active DirectoryならびAzure ADのパスワード管理 (シングルサインオン)

![AD.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/6f5ee7cb-4299-04a8-0090-87220f410453.png)

ディレクトリサービスのActive Directory（オンプレミス）、ならびクラウド版であるAzure ADにはパスワード管理（シングルサインオン）機能が搭載されています。もし、自社で既にActive DirectoryやAzure ADが入っているのであれば、これを使うのがベストです。

ちなみに、Active Directoryはクラウド対応していないので、あくまで社内リソースのみ対応ですが、Azure ADは社内システムもクラウドサービスも両方に対応。

Azure ADをパスワード管理目的で検討する際に重要なのがライセンス。「FREE」または「BASIC」だとログイン先の数が10個までと制限あります。11個以上必要な場合は、「PREMIUM P1」「PREMIUM P2」が必要。<a href="https://azure.microsoft.com/ja-jp/pricing/details/active-directory/">ライセンス詳細はこちら。</a>

ちなみに、PREMIUM P1は1ユーザー当たり月額672円、PREMIUM P2だと1,008円。ディレクトリサービスをメインで考えると高くないが、パスワード管理・シングルサインオンを目的とするとやや高額か。あと、ディレクトリの構築も必要になるので、その辺のコストも別途必要。

そう考えると、ちょっとオーバースペック感は否めない。

##パスワード管理（シングルサインオン）専用ツール

パスワード管理、シングルサインオンに特化した専用ツール。ディレクトリ機能はないが、ADと併用するユーザー向けに二重管理を防ぐための連携機能が搭載されているものが多い。

![okta.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/a4aa1878-eac8-19e5-869f-b250a6e5e2c4.png)

世界最大手なのが<a href="https://www.okta.com/">Okta</a>で、日本法人はないが販売代理店が数社ある。
価格は2ドルまたは5ドルのプラン。多要素認証などは別料金となるので、<a href="https://www.okta.com/pricing/#it-single-sign-on">価格表</a>をよくよくチェックするのがおすすめ。なお、年額の支払総額が1,500ドルを切ってしまう場合は契約できないので注意。

ユーザーが利用する画面は日本語化されているが、管理画面は日本語化されていない。管理者が英語苦手な場合は要注意。

- Oktaのメリット
    - 世界最大手

- Oktaのデメリット
    - オプション料金が多く高額になりやすい
    - 年1,500ドル未満の場合契約できず、ベンチャーや中小企業に向かない
    - 管理画面が英語
    - 日本にオフィスがない（代理店のみ）

![onelogin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/025c65b5-aa37-53d8-49cf-773c7492bab3.png)

日本進出では先行した感があるのが<a href="https://www.onelogin.com/jp">Onelogin</a>。
<a href="https://www.onelogin.com/company/contact">英語ホームページ</a>を見る限り、日本オフィスはないが日本語ホームページがあり、日本の販売代理店はOktaよりも多い。
<a href="https://www.onelogin.com/jp/product/pricing">価格プランは2ドルからスタート</a>だが、ユーザー利用画面を日本語にしたい場合は4ドルのプランが必要。Oktaにあるような、年間利用額制限はないが、ユーザー数制限あり。

Oktaと同様、管理画面は英語。管理者が英語苦手な場合は要注意。

- Oneloginのメリット
    - 大手
    - 日本で先行しており、販売代理店が多い

- Oneloginのデメリット
    - ユーザー画面日本語の場合、4ドル以上のプランになる
    - 管理画面が英語
    - 日本にオフィスがない（代理店のみ）
    - ユーザー数制限あり。

![ping.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/a90757a9-e864-36f8-df56-84826f10aa09.png)

読み方は「ピング」ではなく「ピン」なのが、<a href="https://www.pingidentity.com/en.html">Ping Identity</a>。
OktaやOneloginは、クラウド向けシングルサインオンを提供するために設立された会社だが、Ping Identityはクラウドという言葉が出てくるずいぶん前 (2002年) からビジネスを行っており、当時はオンプレ環境向けにIAM (Identity and Access Management)を提供していました。

日本オフィスはなく、日本の販売店も多くない模様。ホームページで価格が明示されておらず「要相談」しかないので、価格は不明。「ちょっと試して無料で30日使う」こともできないので、敷居が高い印象。筆者の周りで使っている人もいないです。

- Ping Identityのメリット
    - 大手
    - 販売代理店が少ない

- Ping Identityのデメリット
    - 価格不明
    - 日本語サポート不明
    - トライアルで試せない
    - 日本にオフィスがない（代理店のみ）

![Cloudgate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/4d3214c9-85a1-a189-d8cb-9f9f677a6d57.png)

日本企業の製品で、社名は株式会社インターナショナルシステムリサーチ。創業者でありCEOのラウル氏と、京セラコミュニケーションシステムとのジョイントベンチャー。

<a href="https://www.cloudgate.jp/price.html">価格は、100円、200円、300円の3プラン</a>あり、無料トライアルで利用できるのは200円のプラン。
残念なのは、パスワード管理（シングルサインオン）として接続できるサービスが50程度しかないこと。OktaやOneloginは数千のサービスに接続できることを考えると、圧倒的に少ない。例えば、AWS (Amazon Web Services), Slack、Kintoneなどのメジャーな製品にも使えない （2019年5月現在の情報）。
<a href="https://www.cloudgate.jp/lineup/sso-with-otherservices.html">こちらの一覧</a>を見て、使えるサービスが全て網羅されていればOK、網羅されていなければ別なツールがよいかと。

- Cloudgate Unoのメリット
    - 日本に本社
    - 管理画面、ユーザー画面ともに日本語OK
    - 価格が安価

- Cloudgate Unoのデメリット
    - 対応しているサービスが非常に少ない

![TL.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411757/779e95a8-c699-2c29-3baa-cd4e9126af02.png)

トラスト・ログインは、GMOグループの「GMOグローバルサイン株式会社」のサービスで日本企業。
<a href="https://trustlogin.com/price/">価格設定が特徴的</a>で、機能制限なしの無料プランでも使い続けられるが、多要素認証やAD連携が必要な場合に月額100円～からの追加費用を払うという形態になっている。2019年5月現在、<a href="https://trustlogin.com/service/index_list.html">4000以上のアプリ（クラウドサービス）に対応</a>。調べてみたところ、AWS, Slack, Kintoneはいずれも対応していました。

後発サービスのため、他社で対応済の機能、特にワンタイムパスワードとクライアント証明書以外の多要素認証 (例: FIDO U2F/UAF認証、SMS認証、プッシュ認証対応など）が若干弱い。多要素認証で必須のものがある場合は、<a href="https://trustlogin.com/price/">機能をあらかじめチェック</a>することをおすすめ。

- トラスト・ログインのメリット
    - 日本に本社
    - 管理画面、ユーザー画面ともに日本語OK
    - 無料からでも利用できるという価格設定

- トラスト・ログインのデメリット
    - 対応していない多要素認証などがある。

##まとめ

もし、Azure ADのライセンス（Premium P1かP2）を持っている場合は、Azure AD一択で問題ないかと思います。追加費用がかかりません。

もしAzure ADのライセンスを持っていない場合は、専用ツールから選ぶことになるが、
- ホームページに情報が少ないPingは残念ながら除外
- 対応サービスが少ないCloudgate Unoも除外
- 残った3社で比較検討
がよいかと思います。