オープンソース

シングルサインオンを実現するおすすめOSSとIDaaSの機能比較

クラウド上のサービスを利用する機会が増加したことにより、最近になってシングルサインオンの仕組みが再注目されています。その理由の1つは、認証を減らすことで業務効率をあげることができるからです。多数のサーバのアカウントを別に管理し、それぞれのパスワードを記憶しておくことは、非常に煩雑であり、パスワードを忘れてしまうことも防止できます。そのため、認証を一元化することで、その都度システムにログインしなくてよくなり、利用者の利便性は飛躍的に向上します。一方で、シングルサインオンの技術を活用することで、クラウドサービスに対して、組織の中で使っていたIDとパスワードを使って認証が行えるようになることも大きなメリットです。

例えば、Active Directoryと連携することができるようになり、管理者はユーザ管理が非常に簡単になります。シングルサインオンを実現する仕組として、そのための製品を使う方法、OSSを使う方法、IDaaSと呼ばれるクラウドサービスを使う方法の大きく分けて3つがあります。ただ、シングルサインオンの製品は、非常に高額なものが多いため、コスト面で利用が躊躇されます。そのため最近ではOSSとIDaaSが注目されています。

その他にシングルサインオンの方式の1つでフェデレーションと呼ばれるものもあります。これは、複数のWEBサービスなどを使用する際に、認証方法が異なるシステムを連携し1度で認証する仕組みです。今回は、シングルサインオンを実現するOSSとIDaaSを紹介します。

シングルサインオンとは

シングル サイン オン(SSO,Single Sign On)とは、1回のユーザー・パスワードの認証を行うことで、様々なシステムの認証を使用できるようにする技術です。シングルサインオンを導入すると、ユーザ名とパスワードの入力はシングルサインオンのシステムに1回だけ行えば良くなります。そのため、ユーザは多くのパスワードを自社のシステムごとに管理する必要がなくなり、ログインする際の手間も減ります。以下ではシングルサインオンを実現できるOSSについて解説します。

OpenAM

ソフトウェアの概要

OpenAMは、もともとSun Microsystems社が開発したOpenSSOをベースとした、オープンソースのシングルサインオン(SSO)のソフトウェアです。シングルサインオンのソフトウェアとしては、デファクトスタンダード的な位置づけのソフトウェアです。非常に高機能なソフトウェアで、様々な認証方式に対応しているのが特徴です。

OpenAMログイン画面

機能

OpenAMの概要画面

対応する認証方式

次のように、多くの認証方式に対応しています。そのため、多くのアプリケーションに対応することが出来ます。オンプレミスの独自製作のアプリケーションからインターネット上のサービスまでを、幅広くシングルサインオンのシステムに取り込むことができます。

  • エージェント型認証
  • リバースプロキシ型認証
  • 代理認証
  • SAML認証
  • OpenID Connect認証
  • Kerberos認証

シングルサインオンを実現するための規格としては、SAMLとOpenID Connect(OIDC)がよく使われています。SAMLの規格では、サービスプロバイダと認証プロバイダの間で強固な信頼関係を結ぶ必要があります。そのため、セキュリティ強度が高いのが特徴です。OpenID Connectでは、トークンと呼ばれる記号を使い、アクセスの認可やID情報のやりとりを行うのが特徴です。証明書の作成のためには、SSL/TLSで使われているのと同じ非対称暗号化方式が使われます。一般的な共有鍵方式を使ってセキュリティを保持し、処理も軽量です。

ユーザIDとパスワードの管理

利用するユーザIDとパスワードのデータベースは、自前で別に持つこともできます。しかし、LDAPActiveDirectoryなど、既存のシステムと連携することも可能です。

アクセス制御

ユーザが利用可能なアプリケーションを集中管理することができます。サービスやアプリケーションの単位だけでなく、各フォルダやファイルの単位でも制御ができます。

課題や注意点

OpenAMは、非常に高機能なソフトウェアです。そのため、設定可能な項目が多く複雑で導入も容易ではありません。様々な種類のWebアプリケーションに対応するための多くの機能を持っていますが、逆に言えば導入時に検討すべきことも多く、構築には専門的な知識が必要です。そのため、オープンソースソフトウェアではありますが、導入には比較的費用が掛かります。 また、現在は最新版のOpenAMはオープンソースソフトウェアとして提供されていません。オープンソース版のOpenAMをサポートするベンダーは複数ありますが、今後の先行きは不透明です。

OpenAM詳細情報

Keycloak

ソフトウェアの概要

Keycloakは、RedHatが開発している比較的新しいシングルサインオンのソフトウェアです。RedHatから提供される商用サポート版を選択することもできます。開発元がRedHatであることは、将来の開発やサポートの点では、非常に安心だと考えられます。

Keycloakログイン画面

機能

OpenAMに比べると、利用可能な認証方式が限られています。そのため、対応できるアプリケーションも限定的です。ただし、その分だけシンプルであり、OpenAMに比べて導入のハードルも低いのが特徴です。

Keycloakの概要画面

対応する認証方式

次の以下の認証方式をサポートしています。

  • SAML 2.0
  • OpenID Connect
  • OAuth 2.0

SAMLとOpenID Conenctは、シングルサインオンを実現するための認証の規格です。そのため、これに対応している製品やサービスも少なくありません。

デージーネットでは、Office 365やAWSなど、様々なサービスとの連携ができることを確認しています。 詳しくは、「Keycloakと連携可能なサービス/ソフトウェア」を参照してください。

ユーザIDとパスワードの管理

利用するユーザIDとパスワードのデータベースは、自前で持つこともできます。しかし、LDAPやActiveDirectoryなど、既存のシステムと連携することも可能です。

アクセス制御

ロールベースの認証制御を行うことができます。さらに、管理コンソールから詳細なポリシーを定義することで、より細かなアクセス制御を実装することもできます。

可用性と性能

OpenAMと比べてシンプルなため、高速に動作します。また、冗長性や負荷分散などにも対応することができます。

注意点・ポイント

Keycloakは、比較的低価格で導入することができるソフトウェアです。そのため、小規模なシステムや予算が限られる場合等に適しています。しかし、Keycloakの導入を検討する場合には、次の点に注意が必要です。

  • Keycloakは、比較的新しく、まだ発展途上のオープンソースソフトウェアです。
  • 認証方式が限られているので、利用したい対象のアプリやツールに対応できるのかは調査や検証が必要です。

Keycloak詳細情報   Keycloak無料資料

OSSとIDaaS

IDaaSの概要

IDaaSは、ID管理を行うクラウド上のサービスです。シングルサインオンの機能だけでなく、二要素認証やユーザのアクセス制御など、様々なID管理に対応しています。インターネット上の複数のサービスを、1つのIDとパスワードで管理することができます。

機能

IDaaSの提供事業者によっても機能が異なります。多くの事業者では、次のような機能を提供しています。

  • シングルサインオン
  • LDAPやActiveDirectoryなどの外部との連携
  • SAML、OpenID Connectなどのプロトコルへの対応
  • アクセス制御

デメリット

インターネット上のWebサービスですので、オンプレミスにあるサーバの認証は一元化できません。また、利用ユーザ数によって課金されますので、ユーザ数が多い場合には、OSSのKeycloakを使ったシステムの構築・サポートを利用した安価になるが良い場合があります。

まとめ

用途や運用によって、適切なソフトウェアやサービスを選択する必要があります。

OpenAMを選ぶべき状況

  • オンプレミスのアプリケーションも一元管理したい
  • SAMLやOpenID Connectに対応していないアプリケーションも、シングルサインオンにしたい
  • 実績や安定性を重視したい

Keycloakを選ぶべき状況

  • オンプレミスのアプリケーションも一元管理したい
  • アプリケーションは、SAMLやOpenID Connectに対応している
  • できるだけシンプルでリーズナブルに導入したい

IDaaSを選ぶべき状況

  • アプリケーションは、SAMLやOpenID Connectに対応している
  • オンプレミスのアプリケーションとの連携は必要ない
  • 利用者の人数が少ない

デージーネットの取り組み

シングルサインオンのシステムは、停止するとすべてのサービスが使えなくなってしまうという問題があります。そのため、システムの冗長性をきちんと確保する対策が必要です。また、万一障害が発生した場合のサポート体制も非常に重要です。そして安全性の向上やセキュリティ策についても一緒に考える必要があります。一般的には、ユーザ名とパスワードが漏洩するリスクに備えて、ワンタイムパスワードの導入や、多要素認証との連携などを検討します。

デージーネットでは、ISPのシステム構築などで、システムの二重化、認証サーバの構築やサポートの実績を数多く持っています。こうした経験を生かして、お客様の状況に合わせて、OpenAM、Keycloakなど、お客様に最適なソリューションを提案します。また、サーバー構築、サポート、管理などのサービスを提供しています。各ソフトウェアの詳細な情報は無料資料ダウンロードで調査報告書がダウンロードできます。

シングルサインオンを実現するおすすめOSSとIDaaSの機能比較の先頭へ