よくある質問・用語集

  • もっと調べる
  • どうやって使う?

Keycloakとは

KeycloakはWeb上でシングルサインオンを実現するオープンソースソフトウェアである。1回の認証で複数のサービスを利用することができるため、IDやパスワードの管理が容易になる。Keycloakはログインやアカウント管理のためにカスタマイズできるインターフェイスを提供している。またKeycloakは、既存のLDAPやActive DirectoryサーバーのIDを使用することも可能だ。Keycloakは、RedHatが開発をしたソフトウェアで、Apacheライセンスとしてソースコードが公開されている。他のシングルサインオンを実現するOSSよりも、比較的歴史は浅いが現在も活発に開発が行われている。

Keycloak画像

Keycloak機能

シングルサインオン

Keycloakはログインすることで個々のアプリケーションに1度で認証することができる。Keycloakはシングルサインアウトも行うため、ログアウトの際もKeycloakをログアウトするだけで他のアプリケーションも連動される。また既存のLDAPやActive Directoryを使用した場合、ワークステーションにログインすれば自動的にKeycloakに認証されることもできる。

ソーシャル連携

Keycloakとソーシャル連携を行うことで、TwitterやGoogleなどのSNSアカウントを利用してKeycloakに接続することができる。SNSにログインしていれば、Keycloakに連携している全てのアプリケーションやシステムにアクセスすることが可能になる。

クライアントアダプタ

Keycloak Client AdaptersはKeycloakが提供しているライブラリである。Keycloak Client Adaptersを利用することで、Keycloakとソフトウェアを連携することができる。Keycloakは、「Javascript」や「NodeJS」、「WildFly」などがクライアントアダプタとして公開されている。

図:アプリケーションとKeycloak

Keycloak認証方法

Keycloakは次の認証方法に対応している。

  • SAML 2.0

    SAMLとは、Security Assertion Markup Languageの略であり、現在バージョンは2.0となっている。SAMLとはシングルサインオンを行うための認証情報の規格をいう。SAMLではKeycloakやOpenAMなどの認証情報の提供者をIdentity Provider(IdP)といい、クラウドサービスやWebアプリケーションなどの認証情報の利用者をService Provider(SP)という。SAMLで認証を行う場合は、Service Provider(SP)とIdentity Provider(IdP)を介して認証が行われる。SAMLは下記のような仕組みで認証される。

  • 図:Keycloakの認証

  • OpenID Connect

    OpenID Connect(OIDC)は、OAuthと呼ばれる認証方式にユーザのID情報を載せられるようにした規格である。1つのIDでWebサイトやアプリなどの認証を実現できるようにしたID連携の仕組みで、今までのOpenIDと違い、多くのWebアプリケーションに採用されているOAuthによるユーザー認証を使用している。そのため、OpenID Connectは簡単に認証機能を組み込むことが可能になる。

  • OAuth 2.0

    OAuthとは、複数のWebアプリやサービスを連携して動作させることができる仕組みである。OAuthを利用することで、IDやパスワードを入力することなく、アプリケーション間の連動ができるようになる。OAuthは、「API」(Application Program Interface)を利用してアプリケーションの連動を行う。クライアントはリソースオーナーに期限範囲と期間が設定されているアクセストークンを発行してもらい認証を受ける。OAuth 2.0は、ユーザの個別情報を伝達せず認証だけを行うため、よりセキュアにアクセスできる。

  • Kerberos認証方式

    Kerberos認証方式では、Active DirectoryとKeycloakを組み合わせて認証を行い、チャットシステムなどのウェブサービスとKeycloakをOpenID Connectにて連携することができる。

Keycloak拡張認証

多要素認証

多要素認証とは、ユーザ名とパスワード以外の要素を使って本人であることを証明する方法である。Keycloakは多要素認証を利用した認証も可能になる。本人が知っているようなID、パスワードとワンタイムパスワード、証明書など複数を組み合わせることによりセキュリティを向上させることができる。

OTP

Keycloakには、FreeOTPやGoogle Authenticatorのワンタイムパスワードを利用して認証することが可能である。

KeycloakとOpenAMの比較

KeycloakはOpenAMに比べて新しく、機能がシンプルである。OpenAMは商用版として提供されており、コミュニティーベースの開発は行われていない。しかしKeycloakは現在もコミュニティベースの開発が進んでおり、活発に活動している。Keycloakの商用版は、Red Hat社から提供されており、手厚いサポートをうけることもできる。Keycloakは、OpenAMと比較した場合、コミュニティーが活発であり将来性があるとされている。

KeycloakとID連携可能なサービスやソフトウェア

デージーネットでは、次のサービスやソフトウェアとKeycloakの連携が可能である。

  • AWSマネージメントコンソール
  • Office 365
  • G Suite
  • Slack
  • LINE WORKS
  • Redmine

デージーネットのサービス

デージーネットでは、Keycloakを使ったシングルサインオンシステムの構築とサポートのサービスを提供している。もともと、認証サーバやクラスタなどの技術が得意なことから、システム構築にあたっても、止まらないシングルサインオンのシステムを作ることを重視している。デージーネットではOpen Smart Assistanceのサービスと組み合わせて、シングルサインオンのシステム全体を総合的にサポートする。

【カテゴリ】:認証  オープンソースソフトウェア  

  • もっと調べる
  • どうやって使う?

【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー

日程: 11月22日(金)Webセミナー「BigBlueButton」を使用します。
内容: OSSを導入したいけど、どこから手をつければいいかわからない方必見!
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

Keycloakに関連するページ(事例など)

Keycloakとは先頭へ