Keycloak

Keycloakのサービスアカウントを使用してユーザ情報一覧を取得する

ホス に投稿

タグ

Keycloakとは

Keycloakとは、シングルサインオン(SSO)を実現するソフトウェアです。SAMLやOpenID Connectといった標準プロトコルに対応しています。 また、IAM(Identity and Access Management)の機能も持っており、ユーザの名前やメールアドレスなどのユーザ情報を管理できます。

ユーザ情報は、OpenID Connectの仕様に則って利用する場合、Userinfoエンドポイントを通じてRelaying Party(RP)に提供されます。

一般的なOpenID Connectによるユーザ情報の取得

サービスアカウントの話をする前に、まずは一般的なOpenID Connectによるユーザ情報の取得について話します。

Keycloakバージョン15.0〜19.0.2までの変更点一部紹介

ホス に投稿

タグ

概要

Keycloakは頻繁にバージョンアップされています。GitHubのリリースページを見ると、ほぼ毎月でしょうか。

この記事では、Keycloakを以前試したことのある方を主なターゲットとして、Keycloak15.0あたりから19.0.2までに変更された機能をピックアップして紹介します。

Keycloakを使用したWebAuthn認証の設定方法と使用イメージ

yoshino に投稿

概要

Keycloakを使用してWebAuthn認証を設定する方法をまとめます。

実行環境

  • PostgreSQL: postgresql13
  • Keycloak: keycloak-12.0.2
  • JDBC Driver: postgresql-42.2.18

前提

keycloakにlocalhostまたはhttpsでアクセスできることが必須です。

WebAuthnの有効化

初期設定でWebAuthnは有効化されていないため、下記手順で有効化する必要があります。

KeycloakでOpenID Connect Client Initiated Backchannel Authentication (CIBA)を試す

ホス に投稿

本記事で試すClient Initiated Backchannel Authentication (CIBA)について

  • CIBAの基本的な知識は本記事では解説しておりません。別途インターネット上の記事などをご参照ください。
  • 本記事ではPollモードを試します。ただし本来行うべき定期的にリクエストを送るPollingを行わず、都度手動でcurlを使ってリクエストを出します。
  • Keycloakバージョン13.0.0以降で利用できます。
    • 本記事の手順は、Keycloakバージョン15.0.0で検証しています。

CIBAに登場するのは以下の4つです。

  • クライアント
    • 認可を受けて何かをします。

KeycloakのDBをpostgreSQLに変更する

ズィスト に投稿

タグ

KeycloakのDBをpostgreSQLに変更する

  • 環境

    • jdk 1.8.0
    • keycloak 6.0.1
    • postgreSQL 11.4
      ※使用する文字コードをutf-8に変更しておく
  • 手順

    1. postgreaSQLのJDBCドライバを以下のサイトよりダウンロード
      PostgreSQL JDBC Download
      ※今回は42.2.6 JDBC 4を使用

    2. 設定ファイル及びJDBCドライバを入れるディレクトリを作成

Keycloakのレルムとユーザの作成方法

ホス に投稿

タグ

「レルム」について

Keycloakには、「レルム」の機能があります。

英単語の「realm」(レルム)を英和辞典等で調べると、「領域」や「範囲」といった意味になります。
Keycloakでは、ユーザが属する領域を複数作ることができます。

レルムを分ける活用例

レルムごとにそれぞれ独立してユーザアカウントや設定を持つことができるので、
例えば、大きな会社の場合、部署ごとにレルムを作成して、〇〇部の社員のアカウントは〇〇部用のレルムに作成しておき、
〇〇部レルムからシステムAにログインできるように設定すれば、
〇〇部のユーザだけがサイトAにログインできる、というような運用が簡単にできます。