4.4. SSSD および FreeIPA Identity Management の統合
Red Hat build of Keycloak には、System Security Services Daemon (SSSD) プラグインが含まれています。SSSD は Fedora および Red Hat Enterprise Linux (RHEL) に含まれており、複数の ID プロバイダーおよび認証プロバイダーへのアクセスを提供します。SSSD は、フェイルオーバーやオフラインサポートなどの利点も提供します。詳細は、Red Hat Enterprise Linux Identity Management のドキュメント を参照してください。
SSSD は、認証とアクセス制御を提供する FreeIPA アイデンティティー管理 (IdM) サーバーとも統合します。この統合により、Red Hat build of Keycloak は特権アクセス管理 (PAM) サービスに対して認証し、SSSD からユーザーデータを取得できるようになります。Linux 環境における Red Hat Identity Management の使用に関する詳細は、Red Hat Enterprise Linux Identity Management のドキュメント を参照してください。
Red Hat build of Keycloak と SSSD は、読み取り専用の D-Bus インターフェイスを介して通信します。このため、ユーザーのプロビジョニングおよび更新方法は、FreeIPA/IdM 管理インターフェイスを使用する方法です。デフォルトでは、インターフェイスはユーザー名、メールアドレス、名、および姓をインポートします。
Red Hat build of Keycloak はグループとロールを自動的に登録しますが、同期はしません。グループは、ユーザーが初めてアクセスされたときに SSSD からインポートされ、その後は Red Hat build of Keycloak 内で完全に管理されます。管理者が Red Hat build of Keycloak に加えた変更は、SSSD と同期されません。その逆も同様です。
4.4.1. FreeIPA/IdM サーバー リンクのコピーリンクがクリップボードにコピーされました!
FreeIPA コンテナーイメージ は Quay.io で入手できます。FreeIPA サーバーを設定するには、FreeIPA のドキュメント を参照してください。
手順
以下のコマンドを使用して FreeIPA サーバーを実行します。
docker run --name freeipa-server-container -it \ -h server.freeipa.local -e PASSWORD=YOUR_PASSWORD \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v /var/lib/ipa-data:/data:Z freeipa/freeipa-serverserver.freeipa.localのパラメーター-hは FreeIPA/IdM サーバーのホスト名を表します。YOUR_PASSWORDを独自のパスワードに変更します。コンテナーが起動したら、
/etc/hostsファイルを以下のように変更します。x.x.x.x server.freeipa.localこの変更を加えない場合は、DNS サーバーを設定する必要があります。
SSSD フェデレーションプロバイダーが Red Hat build of Keycloak で開始および実行されるように、以下のコマンドを使用して IPA ドメインに Linux サーバーを登録します。
ipa-client-install --mkhomedir -p admin -w passwordクライアントで以下のコマンドを実行して、インストールが機能していることを検証します。
kinit admin- パスワードを入力します。
以下のコマンドを使用して IPA サーバーにユーザーを追加します。
$ ipa user-add <username> --first=<first name> --last=<surname> --email=<email address> --phone=<telephoneNumber> --street=<street> --city=<city> --state=<state> --postalcode=<postal code> --passwordkinit を使用してユーザーのパスワードを強制的に設定します。
kinit <username>以下のコマンドを入力して通常の IPA 操作を復元します。
kdestroy -A kinit admin