第1章 コマンドラインから Identity Management へのログイン
Identity Management (IdM) では、Kerberos プロトコルを使用してシングルサインオンに対応します。シングルサインオンとは、ユーザーが正しいユーザー名およびパスワードを一度だけ入力すれば、システムが認証情報を再度求めることなく、IdM サービスにアクセスできるという機能です。
IdM では、ユーザーが、対応する Kerberos プリンシパル名を使用して IdM クライアントマシンのデスクトップ環境にログインすると、SSSD (System Security Services Daemon) が、そのユーザーの TGT (Ticket-Granting Ticket) を自動的に取得します。これは、ログインしてから、kinit ユーティリティーを使用して IdM リソースにアクセスする必要がなくなることを意味します。
Kerberos 認証情報キャッシュを削除している場合、または Kerberos TGT の有効期限が切れている場合に IdM リソースにアクセスするには、手動で Kerberos チケットを要求する必要があります。以下のセクションでは、IdM で Kerberos を使用している場合の基本的なユーザー操作を説明します。
1.1. kinit による IdM への手動ログイン
kinit ユーティリティーを使用して Identity Management (IdM) 環境に対して手動で認証するには、次の手順に従います。kinit ユーティリティーは、IdM ユーザーの代わりに Kerberos の TGT (Ticket-Granting Ticket) を取得して、キャッシュに格納します。
この手順は、最初の Kerberos TGT を破棄したか、有効期限が切れている場合にのみ使用します。ローカルマシンに、IdM ユーザーとしてログインすると、IdM に自動的にログインします。これは、ログイン後に IdM リソースにアクセスするのに kinit ユーティリティーを使用する必要がないことを示しています。
手順
IdM にログインします。
ローカルシステムに現在ログインしているユーザーのユーザー名で、(ユーザー名を指定せずに) kinit を使用します。たとえば、ローカルシステムにログインしているユーザーが
example_user
の場合は、次のコマンドを実行します。[example_user@server ~]$ kinit Password for example_user@EXAMPLE.COM: [example_user@server ~]$
ローカルユーザーのユーザー名と、IdM のユーザーエントリーが一致しないと、認証に失敗します。
[example_user@server ~]$ kinit kinit: Client 'example_user@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
ローカルユーザー名に対応しない Kerberos プリンシパルを使用して、
kinit
ユーティリティーに必要なユーザー名を渡します。たとえば、admin
ユーザーとしてログインするには、次のコマンドを実行します。[example_user@server ~]$ kinit admin Password for admin@EXAMPLE.COM: [example_user@server ~]$
検証
ログインが成功したことを確認するには、klist ユーティリティーを使用して、キャッシュされた TGT を表示します。以下の例では、キャッシュに
example_user
プリンシパルのチケットが含まれています。これは、このホストでは IdM サービスにアクセスするのは、example_user
にのみ許可されていることを示しています。$ klist Ticket cache: KEYRING:persistent:0:0 Default principal: example_user@EXAMPLE.COM Valid starting Expires Service principal 11/10/2019 08:35:45 11/10/2019 18:35:45 krbtgt/EXAMPLE.COM@EXAMPLE.COM