🪪

KeycloakとLDAPを連携する.

2024/09/03に公開

前提

  • OS:Ubuntu
  • LDAP:OpenLDAP
  • OpenLDAPにいくつかユーザデータを登録済み

手順

1. realm(レルム)を新たに作成

  • 適当に名前を決める.
  • 以後,新たに作成したrealm内でLDAPの連携を行う.

2. Configure(設定)User federation(ユーザー・フェデレーション)に,ldap設定を追加する.

2.1 User federation → Add Ldap providersをクリック

2.2 LDAPの設定を行う

2.2.1 LDAPとの接続設定

主な変数 詳細
接続URL 接続するLDAPサーバのURL
バインドDN LDAP管理者のDN
Bind Credentials LDAP管理者のパスワード
  • 接続テストと認証テストは行うことを推奨.


2.2.2 LDAP検索と編集の設定

主な変数 詳細
編集モード keycloakからLDAPデータを編集させるかどうかの設定
ユーザーDN 検索したいユーザが存在するLDAPツリーのDN.`
ユーザー名のLDAP属性 keycloak側のユーザ名としてマッピングされるLDAP属性
RDN LDAP属性 RDNに使用するLDAP属性
UUID LDAP属性 LDAPのオブジェクトのUUIDとして使用される属性
検索スコープ subtreeと設定すると,ユーザーDNの方で設定したDN配下全てを検索できる.


2.2.3 同期設定



3. ユーザー確認

  • Manage(管理)Users(ユーザー)画面に移る.
  • 検索欄に*を打てば,全てのユーザデータを検索・表示できる.

  • ユーザーの詳細画面の例

4. ※ユーザー詳細画面にLDAPで登録したユーザーの属性を追加・表示したい時

  • ユーザー・フェデレーション対象のフェーデレーションマッパーを選択する.

  • Add mapperをクリックすると,下記のような画面が出現する.

  • マッパータイプは,user-attribute-ldap-mapperを選択
  • LDAP Attributeには,追加したいLDAP属性を設定.
  • User Model Attributeには,Keycloak側で表示するLDAP Attributeの属性名を新たに設定.例えば,LDAPで設定したcn属性をKeycloak側,つまりUser Model Attributeでは,employeeIDとして表現および表示することができる.

Discussion