大学DXナビ

Keycloak: ユーザー統合とシングルサインオンを実現するオープンソースソフトウェア

Keycloak: ユーザー統合とシングルサインオンを実現するオープンソースソフトウェア

大学などの教育機関でDXを推進するうえで、システムごとに学生や教職員のIDが個別に管理されていることが障壁となることがあります。各システムで個別にログインしたり、個別にユーザーを管理する必要があるという運用上の煩雑さだけでなく、システムごとに異なるパスワードが設定されていたり、各システムでセキュリティレベルを統一できない、といったセキュリティ面の課題が浮上します。

こうした課題を解決するためには、学内で横断的に利用できる、安全で利便性の高いアカウント管理の仕組みが不可欠です。ここで登場するのが、統合認証システム、あるいはIdPと呼ばれるシステムです。統合認証システムは、ユーザーを統合的に管理して、シングルサインオンを実現しながら、システムに必要なアクセス制御を行うための仕組みです。

統合認証システムの導入により、学内にあるLDAPやActiveDirectoryと接続して、Google WorkspaceやOffice 365といったクラウドサービス、大学ポータルなどの学内システムの認証を一元化し、シングルサインオンを実現することができます。

この記事では、そうした統合認証システムのうち、無料(ライセンスフリー)で利用できるOSS(オープンソースソフトウェア)であるKeycloakを紹介し、主な機能と利点、さらに活用事例について詳しく紹介します。

Keycloakとは?

Keycloakは2013年に開発が始まった、ID管理とアクセス管理(IAMーIdentity and Access Managementとも呼ばれます)を実現するソフトウェアです。商用Linuxの開発で有名な米Red Hat社が開発の主体となり、Apache Licenseバージョン2.0ライセンスの下で公開されています。オープンソースソフトウェアですので、ソフトウェアの導入や利用には一切費用がかからず、自由に改変や配布することができることが特徴です。

Keycloakを学内に導入することで、高度な統合認証システムを低コストに導入できます。また、Docker上で動作するため、クラウド・オンプレミス問わず、LinuxやWindowsサーバー、AWSやAzureなどのパブリッククラウドなど、多様な環境の上で動作させることができます。

Keycloakの主な機能

1. ID管理とアクセス管理(IAM)

Keycloakは、ユーザー情報の管理やアクセス制御を総合的に行うIAMが機能の中心となります。IAMに含まれる機能としては、ユーザーの登録、プロファイル管理、グループ管理、ロールベースのアクセス制御などが含まれます。

ロールベースのアクセス制御により、特定のユーザーやグループに特定の権限を割り当てることができます。組織のセキュリティポリシーに従ったアクセス制御が可能となり、不正アクセスのリスクを低減できます。同時に、ゼロトラストネットワークを実現する上での要となる機能でもあります。

2. シングルサインオン (SSO)

SSO機能により、ユーザーは一度認証されると、Keycloakで管理されているすべてのサービスに再度パスワードを入力することなくアクセスできます。これにより、ユーザーの利便性が向上し、セキュリティリスクも低減されます。業界標準のプロトコルであるOpenID Connect (OIDC)とSAMLのほか、統合Windows認証(Kerberos認証)にも対応しています。

3. LDAPやActive Directoryとの連携

Keycloakは、LDAPやActive Directoryなどの既存のユーザー管理システムと連携することができます。これにより、既存のユーザーデータをそのまま利用しながら、新しいシステムへの移行や統合をスムーズに行うことができます。

4. 使いやすい管理画面

管理者向けインターフェースを通じて、すべての操作をグラフィカルに操作することができます。たとえば、LDAPやActive Directoryと連携している場合には、それらのデータベースの項目をKeycloak上から変更することができます。また、イベントログ機能では、ユーザーのアクセス履歴やパスワード変更履歴などを追跡することができます。

Keycloak_管理画面

5. 多要素認証(MFA)

Keycloakは、パスワードに加えて、生体認証やデバイス認証などの多要素認証をサポートしています。また、Passkeyによるパスワードレス認証にも対応しています。

6. カスタマイズ性

オープンソースの特徴を活かし、インターフェースや機能を自由にカスタマイズすることができます。また、Keycloakのすべての機能はREST APIを通じて提供され、他システムとの連携も容易に実現できます。ニーズに合わせてKeycloakを調整し、独自の認証システムを構築できます。

Keycloakの強み

1. オープンソースの柔軟性と信頼性

オープンソースソリューションとして、カスタマイズするための多くの仕組みを提供しています。本体のソースコードを直接修正しなくても、プラグインを用いて機能拡張を行うことができます。このレベルの柔軟性は、商用IAMソリューションでは一般的に提供されていません。

同時に、オープンソースであることは、大規模な開発コミュニティを有していることでもあります。日本国内でも数多くの企業がKeycloakの開発に参画しており、充実したドキュメントやコミュニティサポートを受けることができます。

2. ユーザーフェデレーション

LDAPやActive Directoryなどのディレクトリサービスだけでなく、FacebookやGoogle、X(旧Twitter)などのアカウント情報とも統合することができます。もちろん、独自のユーザーデータベースとの連携を行うことも可能です。

3. 学認フェデレーションへの接続

学認(GakuNin)は、全国の大学や研究機関が参加する認証連携のシステムです。 学認に参加することで、学内のIDとパスワードで、他の機関が提供する多くの学術コンテンツやネットワークサービスにアクセスできるようになります。学認が利用しているShibbolethはSAML 2.0プロトコルをベースに設計されているため、Keycloakからも接続することが可能です。

活用事例

国内外の組織でKeycloakを用いた事例を紹介します。

Think IT 『Keycloakの最前線を体感できるイベント「Keyconf 23」レポート』によると、ドイツBOSCHでは、グローバル拠点間の認証基盤としてKeycloakを利用しています。社内の認証基盤として提供しており、世界3拠点を対象とし、一ヶ月あたりのリクエスト数は35億、一ヶ月あたりのアクティブユーザー数は50万にもなる大規模なものです。マイクロソフト社のパブリッククラウドAzure上に構築されています。

国内の大学事例では、2021年からZoomとWebEXのシングルサインオン基盤として正式稼働を始めた九州工業大学の例や、2023年から稼働を始めた大和大学の事例が挙げられます。

ここでは、弊社が手がけた大和大学の事例について詳しく紹介します。大和大学(学生数約4000人)では各種システムやサービス上に学生や教職員のアカウントが独立して存在し、管理が煩雑化するという課題をKeycloak を活用して解決しました。

Active Directoryにあるアカウント情報と連携し、Microsoft 365、Google Workspace、図書システム、業務システム(サイボウズガルーン)、VDIシステム、証明書発行サービス等、様々なシステムとの接続を行っています。また、IdPを導入したことにより、MyCampusを通じて各種システムにシームレスにアクセスすることができるようになったことで、学生の利便性についても大幅に向上しました。

まとめ

Keycloakは、アクセス制御、シングルサインオン、多要素認証など、さまざまな機能を備えた強力なオープンソースソフトウェアです。その柔軟性と拡張性から、教育機関のみならず、さまざまな業界や規模の組織で導入されていることも納得いただけると思います。

アシアルではKeycloakを用いた費用対効果の高い統合認証システムの導入支援を行っていますので、是非お問い合わせください。