Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

IdM は、シングルサインオンに対応する Kerberos プロトコルを使用します。Kerberos では、正しいユーザー名とパスワードを一度提示するだけで済み、システムから認証情報を再度求められることなく 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 の実行は必要ありません。
ID および認証プロバイダーとして SSSD で IdM を設定した IdM システムでは、ユーザーが対応する Kerberos プリンシパル名でログインした後に 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 のチケットが含まれています。これは、現在 IdM サービスにアクセスすることができる user_A のみになります。
$ 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