OSS紹介

Keycloak

Keycloak最新情報

NRIのOpenStandiaが提供するKeycloak最新情報

Keycloakの保守サポートサービスの内容はこちら Keycloakの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Keycloak最新トピック

すべてを見る

Keycloakバージョンアップ情報

■2017-06-27
[VerUP]Keycloak 1.9.6(リリース日:2016/06/01)
■2017-06-27
[VerUP]Keycloak 1.8.2(リリース日:2016/03/01)
■2017-06-27
[VerUP]Keycloak 1.1.1(リリース日:2015/05/13)
■2017-06-27
[VerUP]Keycloak 3.0.0.(リリース日:2017/03/22)
■2017-06-27
[VerUP]Keycloak 2.5.5(リリース日:2017/03/14)
■2017-06-27
[VerUP]Keycloak 2.5.4(リリース日:2017/02/22)
■2017-06-27
[VerUP]Keycloak 2.5.3(リリース日:2017/01/30)
■2017-06-27
[VerUP]Keycloak 2.5.2(リリース日:2017/01/27)
■2017-06-27
[VerUP]Keycloak 2.5.1(リリース日:2017/01/26)
■2017-06-27
[VerUP]Keycloak 2.5.0(リリース日:2017/01/03)

すべてを見る

更新日:2017-09-10

Keycloakの概要

Keycloak(キークローク)とは、Web上でのシングルサインオン(SSO)(※1)を実現するためのJavaベースの認証ソフトウェアで、2014年にバージョン1.0.0がリリースされた、競合他社製品に比較すると後発のものとなります。
Keycloakは、Red Hat JBossプロジェクトが開発を進めているOSS(オープンソースソフトウェア)であり、Apacheライセンスとしてソースコードが公開されています。
Keycloakは、最新のアプリケーションやサービスとの連携を目的としており、機能についても認証だけではなく、各種フェデレーション(SAML、OpenID Connect対応)やセルフサービス等が備わっています。

また、Red Hat社は、公式サブスクリプションの「Red Hat JBoss EAP」に付属する製品として、Keycloakをベースとした「Red Hat SSO」を販売しています。
「Red Hat JBoss EAP」および「Red Hat SSO」の保守サポートやマイグレーションについても、弊社までお気軽にお問い合わせください。

Keycloakは3.1.0、3.2.0、3.2.1 、3.3CR1とリリースされており、最新の安定版は3.2.1(2017年8月時点)となっています。

※1 シングルサインオン(Single Sign-On:SSO)とは、企業内の複数の情報システムのユーザIDを統合管理し、利用するシステム毎にユーザID/パスワード等の入力による認証を必要とせず、一度だけの認証(一つのユーザIDとパスワード)で複数システムを利用できる仕組みです。シングルサインオンはユーザやシステム管理者の ID管理の手間を軽減するだけでなく、個人情報の漏洩防止やセキュリティ対策、アクセス制御を統合・強化といった観点からも現在多くの企業にとって欠かせないものになっています。

Keycloakの業界標準仕様対応

Keycloakは、業界標準の、以下の仕様をサポートしています。

  • SAML 2.0
    標準化団体OASISによって策定された、IDやパスワードなどの認証情報を安全に交換するためのXML仕様です。
    歴史あるプロトコルのため、多くのアイデンティティ管理ベンダーによって実装されており、提供されているサービスやソフトウェアが多く、Google AppsやSalesforceなどのクラウドサービス、学認(Shibboleth)などとの連携が可能です。
  • OpenID Connect
    標準化団体OpenID Foundationによって策定されたREST/JSONベースのプロトコルです。
    OAuth 2.0をベースに認証目的でも利用できるように拡張しています。野村総合研究所、グーグルなどにより開発が開始され、2014年2月に最終承認された現在最も新しいフェデレーションプロトコルです。
    多くの企業がサポートを表明しており、今後普及していく可能性が高く、グーグル、マイクロソフト、セールスフォースなどが既に一部のサービスでサポートを開始し、国内でもヤフー、ミクシィなどのサービスで実装されています。
  • OAuth 2.0
    OAuth 2.0は仕様が簡略化され使いやすくなった次世代のOAuthプロトコルであり、クライアントとなるWebアプリ、デスクトップアプリ、スマートフォン、リビングデバイス等のクライアントプロファイルを仕様化しています。
    認証ではなく、認可(どのリソースにアクセスできるか)について規定している点で他のプロトコルとは異なります。
    Facebook、Google Apps、Windows Liveなどさまざまなサービスで実装されています。

TOPに戻る

Keycloakのライセンス

Keycloakは、Apache 2.0ライセンスです。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
Keycloakのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。

TOPに戻る

Keycloakの動作環境

ハードウェア
・RAM 最低512M以上
・HDD 最低 1GB以上
プラットフォーム   
・Javaが動作するOS(Linuxや Windows等)
Java Development Kit   
・Java Development Kit 8
データストア
・Active Directory
・LDAP 
クライアントアダプタ対応Webコンテナ

OpenID Connect
  • Java
    ・Apache Tomcat 6, 7, 8
    ・Fuse 6.3.0
    ・JBoss Enterprise Application Platform 6, 7
    ・Jetty 8, 9
    ・Servlet Filter
    ・Spring Security (community)
    ・SpringBoot (community)
    ・WildFly 8, 9, 10
  • JavaScript(client-side)
    ・JavaScript
  • Node.js(server-side)
    ・Node.js
  • JavaScript
    ・JavaScript
  • Node.js
    ・Keycloak Connect (community)
    ・Keycloak Auth Utils (community)
  • C#
    ・OWIN (community)
  • Python
    ・python-opneid (generic)
  • Android
    ・AppAuth (generic)
    ・AeroGear (generic)
  • iOS
    ・AppAuth (generic)
    ・AeroGear (generic)
  • Apache HTTP Server
    ・mod_auth_openidc
SAML
  • Java
    ・Apache Tomcat 6, 7, 8
    ・JBoss Enterprise Application Platform 6, 7
    ・Jetty 8, 9
    ・WildFly 9, 10
  • Apache HTTP Server
    ・mod_auth_mellon
参照:https://www.keycloak.org/docs/3.0/securing_apps/topics/overview/supported-platforms.html

TOPに戻る

KeycloakとOpenAMの機能比較

OpenAMは、Keycloakと同じくシングルサインオンを実現するためのOSSであり、数多くの導入実績があります。
KeycloakとOpenAMの機能比較は以下となります。

モジュール 機能 Keycloak OpenAM
認証 多要素認証
ワンタイムパスワード
クロスドメインシングルサインオン認証
認可 ユーザ属性アクセス制御 △[1]
権限アクセス制御(ロール) △[1]
その他アクセス制御
(URL、IPアドレス、時間帯)
△[1]
連携 各種フェデレーションへの対応
(SAML/OIDC/OAuth2.0)
デスクトップ認証連携
代理認証連携 ×[2] △[2]
外部IDP認証連携
リスクベース認証 アダプティブ認証
(非常習アクセスに対する追加認証)
×
デバイスプリント認証 ×
スクリプト認証
(事前定義を基に多要素認証へ切り替え)
×
セルフサービス ユーザ自身によるアカウント登録
ユーザ自身によるパスワードリセット
ユーザ自身によるユーザ属性の変更

[1] メンテナンス機能が不足していますが、次期バージョンより強化予定です。
[2] 実装されていない機能のため、別途、個別のカスタマイズが必要となります。

TOPに戻る

Keycloakの主な機能

シングルサインオン機能

Keycloakで認証されたユーザは、Keycloakで管理したリソースに再度認証(パスワードを再入力)する必要なくアクセスできます。

<実現方式>

パターンA:アダプタ方式 パターンB:リバースプロキシ方式
連携システムのサーバ内に、シングルサインオンするためのモジュール(クライアントアダプタ)を組み込む方式です。 ユーザからのアクセスを一度、クライアントアダプタを導入したサーバが受け、そのリクエストを連携システムへ中継する方式です。
adapter_image.png rproxy_image.png

フェデレーション(連携)機能

ID管理が独立した複数のサイト間でのシングルサインオンができる機能です。例えば、SalesforceCRM、GoogleAppsなどのような他社のWebアプリケーションのように異なるドメインに対しても自分のID/パスワードでシングルサインオンが可能です。
フェデレーションを実現するための、業界標準の認証プロトコル「SAML」や「OpenID Connect」に対応しています。
また、KeycloakはFacebook、Google、Twitter等のソーシャルネットワークや、既存のOpenID Connetプロバイダ、もしくはSAML 2.0プロバイダと連携させることで、それらに登録されているIDによりKeycloakにログインさせることが可能です。連携させるにはコードやアプリケーション側の修正は不要で、Keycloakの管理コンソールで設定を追加するだけです。

ID管理機能

Keycloakは以下の属性を管理できます。

ユーザ(User) 認証(ログイン)単位です。
グループ(Group) ユーザを配属させることができます。
Keycloak内では、階層による管理が可能です。
ロール(Role) 権限を表現したものです。
ユーザ・グループに付与することができます。

管理者は上記属性を一般ユーザに割り振る権限を持ちます。

イベントロギング機能

ログインやログアウト等のログインイベント、メールアドレスの変更やパスワードリセット等のアカウントイベント、さらには管理コンソール上で行ったアクションを記録・閲覧することができます。

マルチテナント機能

Keycloakはレルムという単位ごとに設定を管理しています。
レルムを複数作成することによりマルチテナントでの利用が可能です。

セルフサービス機能

ユーザ自身によるアカウント管理ができます。管理機能は以下の通りです。

  • アカウントの登録
    ログイン画面のリンクから新規ユーザ登録が可能です。
  • パスワードリセット
    ログイン画面のリンクからパスワード変更が可能です。入力したメールアドレス宛に送られたメールに記載されたリンクをクリックすることで登録が完了します。
  • ユーザ属性の変更
    自身のユーザ属性(ユーザ名やメールアドレス等)を変更することが可能です。

タイムアウト機能

システムを一定期間使用していない場合に、自動的にログオフします。

管理コンソール機能

Keycloakの管理コンソールにより、管理者は前述の機能を集中管理することができます。

TOPに戻る

Keycloakの特長

Keycloakは、次のような特長があります

高い安定性と信頼性 商用サポートあり Keycloakには、商用製品のRed Hat SSOも提供されており、導入から運用までワントップでサポートします。
汎用性 Javaベース KeycloakはJavaで開発されているため、多くの企業情報システム間でのシングルサインオン環境を構築できる汎用性がありま す。
拡張性 マルチプラットフォーム KeycloakはRed Hat Enterprise Linux、CentOS、Microsoft Windowsなどの様々なOSプラットフォームに対応しています。
様々な認証方式に対応 多要素認証やOTP(ワンタイムパスワード)認証など様々な認証方式と連携できます。
SAML2.0に対応 Keycloakは国際標準の認証プロトコルSAML2.0に対応しているため、同一の認証プロトコルに対応したSaaS系アプリ ケーション(例えばSalesforceやGoogleApps等)とも連携ができます。
OpenID Connectに対応 野村総合研究所、Googleなどにより開発が開始され、2014年2月に最終承認された最も新しく、今後普及していく可能性が高い フェデレーションプロトコルに対応しており、各種SaaSサービスとのシングルサインオンにも対応が可能です。
クロスドメイン・シングルサインオン 複数のDNSドメインをまたがるシングルサインオンであるクロスドメイン・シングルサインオンに対応しています。
柔軟性 顧客要件に応じた細かいカスタマイズが容易 Webサーバやデータベースなどの基盤ミドルウェアと異なり、認証基盤には様々な顧客要件を組み入れる必要があります。例えば、連携 先となる業務システムの認証方式や、ID管理の業務運用、IDデータの取り込み方式など、様々なパターンを個別設計する必要があります。OSSの Keycloakは、商用製品と比較して顧客要件に応じた細かいカスタマイズが容易であることが大きなメリットとなります。
長期利用 継続的な安定利用 OSSは、商用製品のように開発企業の買収などによってサポートが打ち切られる心配が少ないと言えます。

TOPに戻る

Keycloakのダウンロード

Keycloakダウンロードページ
(リンク:http://www.keycloak.org/

TOPに戻る

関連OSS

OpenAM
(リンク:http://openstandia.jp/oss_info/openam/index.html

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気OpenAM
  • 注目MongoDB
  • OpenIDM
  • Corosync
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • BIND
  • Apache Struts
  • PostgreSQL
  • Pentaho
  • Spring Framework
  • Apache Tomcat
  • Solr
  • Dovecot
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Liferay
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • BIND
  • OpenDJ
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • sendmail
  • Courier-IMAP
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO
?
<--!-->