5.2. Kerberos を使用した IdM へのログイン

IdM は、Kerberos プロトコルを使ってシングルサインオンをサポートします。Kerberos を使用すると、ユーザーは正しいユーザー名とパスワードを 1 回提示するだけで済みます。この後は、システムが認証情報をプロンプトすることなく IdM サービスにアクセスできます。
デフォルトでは、IdM ドメインに所属するマシンのみが Kerberos を使用して IdM に認証を行うことができます。ただし、Kerberos 認証が使用できるように、外部システムも設定できます。詳しい情報は「Web UI への Kerberos 認証用の外部システム設定」を参照してください。

kinit の使用

コマンドラインから IdM にログインするには、kinit ユーティリティーを使用します。

注記

kinit を使用するには、krb5-workstation パッケージをインストールしておく必要があります。
ユーザー名を指定せずに実行すると、 kinit では、ローカルシステムで現在ログイン中のユーザー名を使用して IdM にログインします。たとえば、ローカルシステムに local_user としてログインしている場合に、kinit を実行すると、local_user IdM ユーザーとして認証が試行されます。
[local_user@server ~]$ kinit
Password for local_user@EXAMPLE.COM:

注記

ローカルユーザーのユーザー名と IdM のユーザーエントリーが一致しない場合は、認証に失敗します。
別の IdM ユーザーでログインして、必要なユーザー名をパラメーターとして指定して、kinit ユーティリティーを実行してください。たとえば、admin ユーザーとしてログインするには、以下を実行します。
[local_user@server ~]$ kinit admin
Password for admin@EXAMPLE.COM:

Kerberos チケットの自動取得

IdM クライアントマシンのデスクトップ環境に正常にログインした後に、ユーザーの TGT を自動取得するように、pam_krb5 の PAM (Pluggable Authentication Module) および SSSD を設定することができます。これにより、ログイン後に kinit を実行する必要がなくなります。
SSSD に IdM をアイデンティティーおよび認証プロバイダーとして設定した IdM システムで、ユーザーが適切な kerberos プリンシパル名でログインした後に、SSSD は自動的に TGT を取得します。
pam_krb5 の設定に関する情報は、pam_krb5(8) の man ページを参照してください。PAM に関する一般情報は、「システムレベルの認証ガイド」を参照してください。

複数の Kerberos チケットの保管

デフォルトでは Kerberos は認証キャッシュに、ログインユーザー毎にチケット 1 つだけを保存します。ユーザーが kinit を実行すると必ず、Kerberos は現在保存されているチケットを新しいチケットに置き換えます。たとえば kinit を使用して user_A として認証を行った場合に、user_B に対して認証を行うと user_A のチケットはなくなります。
ユーザーの別の TGT を取得および保存するには、以前のキャッシュの内容が上書きされないように異なる認証キャッシュを設定してください。これには、以下のいずれかの方法を利用してください。
  • export KRB5CCNAME=path_to_different_cache コマンドを使用してから kinit を実行し、チケットを取得します。
  • kinit -c path_to_different_cache コマンドを実行してから、KRB5CCNAME 変数をリセットしてください。
デフォルトの認証キャッシュに保存されている元の TGT を復元するには以下を実行します。
  1. kdestroy コマンドを実行します。
  2. unset $KRB5CCNAME コマンドを使用して、デフォルトの認証キャッシュの場所を復元します。

現在ログインしているユーザーの確認

現在認証用に保存/使用されている TGT を確認するには、klist ユーティリティーを使用してキャッシュされたチケットを表示します。以下の例では、キャッシュに user_A のチケットが含まれ、user_A のみが IdM サービスにアクセスできます。
$ klist
Ticket cache: KEYRING:persistent:0:0
Default principal: user_A@EXAMPLE.COM

Valid starting     	Expires            	Service principal
11/10/2015 08:35:45  	11/10/2015 18:35:45  	krbtgt/EXAMPLE.COM@EXAMPLE.COM