35.5. 外部 IdP ユーザーとして IdM Ticket-Granting Ticket を取得する
Identity Management (IdM) ユーザーの認証を外部アイデンティティープロバイダー (IdP) に委譲している場合、IdM ユーザーは外部 IdP に対して認証することで Kerberos Ticket-Granting Ticket (TGT) を要求できます。
この手順では、以下を実行します。
- 匿名の Kerberos チケットを取得してローカルに保存します。
-
-T
オプションを指定したkinit
を使用して idm-user-with-external-idp ユーザーの TGT を要求し、Flexible Authentication via Secure Tunneling (FAST) チャネルを有効にして、Kerberos クライアントと Kerberos Distribution Center (KDC) 間のセキュアな接続を提供します。
前提条件
- IdM クライアントと IdM サーバーが RHEL 9.1 以降を使用している。
- IdM クライアントと IdM サーバーが SSSD 2.7.0 以降を使用している。
- IdM で外部 IdP への参照を作成した。Ansible を使用して外部アイデンティティープロバイダーへの参照を作成する を参照してください。
- 外部 IdP 参照をユーザーアカウントに関連付けている。Ansible を使用して IdM ユーザーが外部 IdP 経由で認証できるようにする を参照してください。
- 最初にログインするユーザーに、ローカルファイルシステム内のディレクトリーに対する書き込み権限がある。
手順
匿名 PKINIT を使用して Kerberos チケットを取得し、それを
./fast.ccache
という名前のファイルに保存します。$ kinit -n -c ./fast.ccache
オプション: 取得したチケットを表示します。
$ klist -c fast.ccache Ticket cache: FILE:fast.ccache Default principal: WELLKNOWN/ANONYMOUS@WELLKNOWN:ANONYMOUS Valid starting Expires Service principal 03/03/2024 13:36:37 03/04/2024 13:14:28 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
-T
オプションを使用して FAST 通信チャネルを有効にし、IdM ユーザーとして認証を開始します。[root@client ~]# kinit -T ./fast.ccache idm-user-with-external-idp Authenticate at https://oauth2.idp.com:8443/auth/realms/master/device?user_code=YHMQ-XKTL and press ENTER.:
- ブラウザーで、コマンド出力に提供される Web サイトでユーザーとして認証します。
- コマンドラインで Enter キーを押して、認証プロセスを終了します。
検証
Kerberos チケット情報を表示し、
config: pa_type
の行が外部 IdP による事前認証の152
を示していることを確認します。[root@client ~]# klist -C Ticket cache: KCM:0:58420 Default principal: idm-user-with-external-idp@IDM.EXAMPLE.COM Valid starting Expires Service principal 05/09/22 07:48:23 05/10/22 07:03:07 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM config: fast_avail(krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM) = yes 08/17/2022 20:22:45 08/18/2022 20:22:43 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM config: pa_type(krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM) = 152
pa_type = 152
は、外部 IdP 認証を示します。