KeycloakによるSSOでIDやパスワードを一元管理する方法

公開 : 2019.09.30 

こんにちは。NCDCの茨木です。 先日とあるお客様の社内環境へ、OSS(オープンソースソフトウェア)であるKeyCloakを使ってSSO(シングルサインオン)を導入しました。 ログインを簡単にしてくれる方法なので、アカウント管理にお困りの担当者のかたは、是非ご一読ください。

1.SSOとは

SSOとは何を簡単に言ってしまえば、ひと組のIDとパスワードで一度認証すれば、ログインが必要な複数のアプリを使用できる仕組みです。

最近では、いろいろなwebサービスで「googleでログイン」や「Yahooでログイン」のボタンを見ることがあると思いますが、これがSSOであると言うと分かりやすいかもしれません。初めてのサービスでもボタン1つでログインできるので便利です。

グループウェアやメール、チャットツール、情報共有用のwiki、営業支援ツールなど複数のアプリケーションを社内で管理している職場も多いのではないかと思います。 毎回パスワードを入れてログインするのは面倒くさいですし、管理も大変ですよね。

2.SSO導入のメリット

そこでSSOを導入すると、ユーザー側と管理者側の両方に以下のようなメリットがあります。

【ユーザー側】

  • 何度もユーザーIDやパスワードを入力する煩わしさがなくなる。
  • 複数のパスワードの管理が不要になる。パスワードを変更する際も1回でよい。

【管理者側】

  • アプリケーション毎にユーザーを管理する必要がない。
  • ユーザーやグループ(役職や組織)毎の権限付与がしやすい。(認可も一元管理できる)
  • どのユーザーがどのアプリケーションを使っているか統計情報がとれる。

いいこと尽くめのSSOですが、いざソフトウェアを導入しようとするとそれなりのお金と時間がかかっていました。・・・一昔前までは。

しかし現在はオープンソースであるKeyCloakを使うことによって、比較的簡単に導入することができます。(少なくとも、ソフトウェアを購入する費用はかかりません!)

3.KeyCloakでのSSOの構築

例えば下記のような状況を考えてみましょう。

  • チャットやwiki等のオープンソースのアプリケーションと、社内独自のアプリケーションを複数使用
  • それぞれのアプリケーションでログイン機能を持っており、個別にユーザ情報を管理
  • 一部の独自アプリケーションは、社内の人であれば誰でもアクセス可能

この場合、前述の通り、ログインが面倒ですし、パスワードの管理も大変です。

しかし、KeyCloakを活用してSSOの環境を構築すれば、1度ログインすれば全てのアプリケーションにアクセス可能になります。また、ユーザー毎や組織毎にアプリケーションへのアクセス制限をかけることも可能になります。

(※ただしアプリケーションの作りによっては対応が困難な場合もあります。お困りの際は気軽にご相談ください。)

4.SAML,OIDCに対応したアプリケーションの設定

具体的な対応ですが、SAMLやOIDCといった標準化された規格に対応しているアプリケーションであれば、規格に沿って設定をすることで簡単に設定することが可能です。(今回のコラムでは、各規格の詳細な挙動は省略します)

5.SAML,OIDCに対応していないOSSや独自アプリケーションの対応

独自アプリ等は、SAMLやOIDCなんて対応していないという場合も多いと思いますが、諦めないでください。

SSOにはいくつかの方式があり、その中にリバースプロキシ方式というものがあります。 どんな方式かというと、KeyCloakとアプリケーションの間にリバースプロキシが入ることで、アプリの代わりに認証をしてくれます。

KeyCloakでは、2018年末にKeyCloak Gatekeeperというリバースプロキシがリリースされており、これを使うことで、認証を実現することができます。

6.ActiveDirectoryやLDAPとの連携

KeyCloakでは、ActiveDirectoryやLDAPのユーザーを連携する機能もあります。

この機能を使うことによって、新たにKeyCloakにユーザーを追加しなくても既存のActiveDirectory上でユーザー管理が可能になります。

7.SSO導入のまとめ

今回の内容をまとめますと、

  • SSO導入で、ユーザーも管理者も楽になる
  • KeyCloakを使うことで、高額なベンダー製品を購入することなく導入可能

低コストで煩雑な管理業務の負担を減らし、ユーザー側にとってもストレスを軽減することができます。 SSO(シングルサインオン)対応がまだの組織や会社の担当の方がいらっしゃいましたら、ぜひ導入を検討してみてはいかがでしょうか。

NCDCではユーザーが使いやすいアプリケーション設計のご相談も承っていますので、まずは一度ご相談ください。

ページトップへ

お問い合わせ

NCDCのサービスやセミナー依頼などのお問い合わせは
下記のお電話 また、お問い合わせフォームよりお気軽にご連絡ください。

050-3852-6483