Identity Management の設定および管理

Red Hat Enterprise Linux 8

Red Hat Enterprise Linux 8 で Identity Management の設定、管理、および維持

Red Hat Customer Content Services

概要

本書は、Red Hat Enterprise Linux 8 で Identity Management を効果的に設定、管理、および維持する方法を説明します。

パート I. Red Hat Enterprise Linux 8 で Identity Management の設定、管理、および維持

第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 ユーティリティーを使用する必要がないことを示しています。

手順

  1. 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 ~]$
  2. 必要に応じて、ログインが成功したことを確認するには、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

1.2. ユーザーの有効な Kerberos チケットの破棄

本セクションでは、ユーザーのアクティブな Kerberos チケットが含まれている認証情報キャッシュを削除する方法を説明します。

手順

  1. Kerberos チケットを破棄するには、次のコマンドを実行します。

    [example_user@server ~]$ kdestroy
  2. 必要に応じて、Kerberos チケットが破棄されたことを確認するには、次のコマンドを実行します。

    [example_user@server ~]$ klist
    klist: Credentials cache keyring 'persistent:0:0' not found

1.3. Kerberos 認証用の外部システム設定

本セクションでは、Identity Management (IdM) ユーザーが自身の Kerberos 認証情報を使用して、外部システムから IdM にログインするように外部システムを設定する方法を説明します。

外部システムの Kerberos 認証を有効にすることは、インフラストラクチャーに、複数のレルムまたは重複ドメインが含まれている場合に特に便利です。また、ipa-client-install を実行してシステムを IdM ドメインに登録していない場合にも便利です。

IdM ドメインのメンバーではないシステムから IdM への Kerberos 認証を有効にするには、外部システムに IdM 固有の Kerberos 設定ファイルを定義します。

前提条件

  • 外部システムに krb5-workstation パッケージがインストールされている。

    パッケージがインストールされているかどうかを確認するには、次の CLI コマンドを使用します。

    # yum list installed krb5-workstation
    Installed Packages
    krb5-workstation.x86_64    1.16.1-19.el8     @BaseOS

手順

  1. IdM サーバーから外部システムに /etc/krb5.conf ファイルをコピーします。以下に例を示します。

    # scp /etc/krb5.conf root@externalsystem.example.com:/etc/krb5_ipa.conf
    警告

    外部マシンにある krb5.conf ファイルは上書きしないでください。

  2. 外部システムで、コピーした IdM Kerberos 設定ファイルを使用するように、端末の設定を設定します。

    $ export KRB5_CONFIG=/etc/krb5_ipa.conf

    KRB5_CONFIG 変数は、ログアウトまで一時的に存在します。ログアウト時に削除されないように、この変数のファイル名を変えてエクスポートします。

  3. /etc/krb5.conf.d/ ディレクトリーの Kerberos 設定部分を、外部システムにコピーします。

外部システムのユーザーが、kinit ユーティリティーを使用して IdM サーバーで認証できるようになりました。

関連資料

  • Kerberos の詳細は、man ページの krb5.conf(5)kinit(1)klist(1)、および kdestroy(1) を参照してください。

第2章 Identity Management サービスの表示、開始、および停止

Identity Management (IdM) サーバーは、ドメインコントローラー (DC) として機能する Red Hat Enterprise Linux システムです。すべての IdM サーバーでさまざまなサービスが実行しますが、中でも注目すべきは Directory Server、Certificate Authority (CA)、DNS、および Kerberos です。

Identity Management サーバーで現在実行しているサービスを確認するには、次のコマンドを実行します。

[root@server ~]# ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ntpd Service: RUNNING
pki-tomcatd Service: RUNNING
smb Service: RUNNING
winbind Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful

この出力は、以下を示しています。

  • Kerberos サービスは、krb5kdc および kadmin の 2 つに分かれます。krb5kdc サービスは、Kerberos バージョン 5 の認証サービスおよびキー配布センター (KDC) デーモンになります。kadmin サービスは、Kerberos V5 データベース管理プログラムです。
  • named サービスは、インターネットのドメインネームシステム (DNS) を参照します。
  • pki は、証明書システムサービスにアクセスするコマンドラインインターフェースです。pki-tomcatd プログラムは、証明書を参照する Identity Management 操作を処理します。

サーバーの ipactl status コマンドの出力は、IdM 設定により異なります。たとえば、IdM デプロイメントに DNS サーバーが含まれていない場合は、named サービスが一覧に表示されません。

注記

IdM の Web UI を使用して、特定の IdM サーバーで実行しているすべての IdM サービスのステータスを表示することはできません。Kerberos に対応し、複数のサーバーで実行しているサービスは、IdM の Web UI の IdentityServices タブで表示できます。

サーバー全体、または個々のサービスのみを起動または停止できます。

IdM サーバー全体を起動、停止、または再起動するには、以下を参照してください。

個々の IdM サービスを起動、停止、または再起動する方法は、以下を参照してください。

2.1. Identity Management サーバー全体の起動および停止: ipactl ユーティリティー

ipactl ユーティリティーを使用して、IdM サーバー全体と、インストールしたサービスをすべて停止、起動 (開始)、または再起動 (再開) します。ipactl ユーティリティーを使用して、すべてのサービスを適切な順番で停止、開始、または再開します。有効な Kerberos チケットがなくても、ipactl コマンドは実行できます。

ipactl コマンド

IdM サーバー全体を起動するには、次のコマンドを実行します。

# ipactl start

IdM サーバー全体を停止するには、次のコマンドを実行します。

# ipactl stop

IdM サーバー全体を再起動するには、次のコマンドを実行します。

# ipactl restart

IdM を構成するすべてのサービスのステータスを表示するには、次のコマンドを実行します。

# ipactl status
重要

ipactl コマンドは、IdM の Web UI では使用できません。

2.2. 個々の Identity Management サービスの起動および停止: systemctl ユーティリティー

IdM 設定ファイルを手動で変更することは推奨されていませんが、特定の状況では、管理者が特定のサービスを手動で設定する必要があります。このような場合は、systemctl ユーティリティーを使用して、個々の IdM サービスを停止、開始、または再開できます。

たとえば、その他の IdM サービスを変更せずに、Directory Server の挙動をカスタマイズした場合は、systemctl を使用します。

# systemctl restart dirsrv@REALM-NAME.service

また、Active Directory と IdM の信頼を最初にデプロイする場合は、/etc/sssd/sssd.conf ファイルを変更して、以下を追加します。

  • リモートサーバーの待ち時間が長い環境で、タイムアウト設定オプションを調整するための特定のパラメーター
  • Active Directory サイトのアフィニティーを調整するための特定のパラメーター
  • グローバルの IdM 設定では提供されない特定の設定オプションのオーバーライド

/etc/sssd/sssd.conf ファイルに加えた変更を適用するには、次のコマンドを実行します。

# systemctl restart sssd.service

System Security Services Daemon (SSSD) は、設定を自動的に再読み込みまたは再適用しないため、systemctl restart sssd.service を実行する必要があります。

変更が、IdM の ID 範囲に影響を及ぼす場合は、サーバーを完全に再起動することが推奨されます。

重要

複数の IdM ドメインサービスを再起動する場合は、常に ipactl を使用してください。IdM サーバーにインストールされているサービス間での依存関係により、サービスを開始および停止する順番は極めて重要です。ipactl ユーティリティーは、サービスが適切な順番で開始および停止するようにします。

便利な systemctl コマンド

特定の IdM サービスを開始するには、次のコマンドを実行します。

# systemctl start name.service

特定の IdM サービスを停止するには、次のコマンドを実行します。

# systemctl stop name.service

特定の IdM サービスを再開するには、次のコマンドを実行します。

# systemctl restart name.service

特定の IdM サービスのステータスを表示するには、次のコマンドを実行します。

# systemctl status name.service
重要

IdM の Web UI を使用して、IdM サーバーで実行している個々のサービスを開始または停止することはできません。Web UI で可能なのは、IdentityServices に移動してサービスを選択し、Kerberos に対応する設定を修正することです。

第3章 Identity Management コマンドラインユーティリティーの概要

以下のセクションでは、Identity Management コマンドラインユーティリティーの基本的な使用方法を説明します。

3.1. ipa コマンドのヘルプの表示

ipa スクリプトは、Identity Management に対する基本的なコマンドラインスクリプトです。このスクリプトは、新しいユーザーを追加する ipa user-add コマンドなど、Identity Management の管理に使用する多数のサブコマンドの親スクリプトです。

$ ipa user-add user_name

ipa スクリプトは、サブコマンドの特定セット (topic) に関するヘルプを表示できます。利用可能なトピックの一覧を表示するには、ipa help topics コマンドを使用します。

$ ipa help topics

automember         Auto Membership Rule.
automount          Automount
caacl              Manage CA ACL rules.
...

特定のトピックに関するヘルプを表示するには、ipa help topic_name コマンドを使用します。

$ ipa help automember

Auto Membership Rule.

Bring clarity to the membership of hosts and users by configuring inclusive
or exclusive regex patterns, you can automatically assign a new entries into
a group or hostgroup based upon attribute information.

...

EXAMPLES:

 Add the initial group or hostgroup:
   ipa hostgroup-add --desc="Web Servers" webservers
   ipa group-add --desc="Developers" devel
...

利用可能な ipa コマンドの一覧を表示するには、ipa help commands コマンドを使用します。

$ ipa help commands
automember-add                         Add an automember rule.
automember-add-condition               Add conditions to an automember rule.
...

特定の ipa コマンドの詳細なヘルプは、--help オプションを使用します。

$ ipa automember-add --help

Usage: ipa [global-options] automember-add AUTOMEMBER-RULE [options]

Add an automember rule.
Options:
  -h, --help            show this help message and exit
  --desc=STR            A description of this auto member rule
...

関連資料

  • ipa ユーティリティーの詳細は、man ページの ipa(1) を参照してください。

3.2. Identity Management を管理するのに最も便利なコマンド

未定: これは全リストではなく、最も一般的な一部 (7 か 8 ) のコマンドです。理想としては、このコマンドの使用法を説明したアセンブリーへのリンクがあります。

コマンド

説明

詳細は、link to another assembly を参照してください。

ipa command

これとあれを行います。

$ ipa command some arguments

3.3. Identity Management ユーティリティーに値のリストを提供する方法

Identity Management は、複値属性の値をリスト形式で保存します。以下は例になります。

ipaUserSearchFields: uid,givenname,sn,telephonenumber,ou,title

このような多値属性をコマンド行から更新すると、Identity Management は、前の値リストを新しいリストで完全に上書きします。したがって、多値属性を更新するときは、追加する 1 つの新しい値だけでなく、新しいリスト全体を指定する必要があります。

Identity Management は、多値リストを提供する次の方法をサポートします。

  • 同じコマンド呼び出しで、同じコマンドライン引数を複数回指定します。

    $ ipa permission-add --permissions=read --permissions=write --permissions=delete
  • リストを中括弧で囲むと、シェルは展開を実行します。

    $ ipa permission-add --permissions={read,write,delete}

3.4. Identity Management ユーティリティーで特殊文字を使用する方法

特殊文字を含むコマンドライン引数を ipa コマンドに渡す場合は、この文字をバックスラッシュ (\) でエスケープします。たとえば、一般的な特殊文字には、山かっこ (< および >)、アンパサンド (&)、アスタリスク (*)、または垂直バー (|) があります。

たとえば、アスタリスク (*) をエスケープするには、次のようにします。

$ ipa certprofile-show certificate_profile --out=exported\*profile.cfg

シェルが特殊文字を正しく解析できないため、コマンドにエスケープされていない特殊文字を含めると、予想通りに機能しなくなります。

第4章 コマンドラインから Identity Management エントリーの検索

ここでは、Identity Management ツールを使用して、Identity Management エントリーを検索する方法を説明します。

4.1. Identity Management の一覧表示

ipa *-find コマンドを使用して、特定のタイプの Identity Management エントリーを検索します。以下に例を示します。

  • 全ユーザーを表示します。

    $ ipa user-find
    ---------------
    4 users matched
    ---------------
      ...
  • 指定の属性に keyword が含まれるユーザーグループの一覧を表示するには、以下を実行します。

    $ ipa group-find keyword
    ----------------
    2 groups matched
    ----------------
      ...

ユーザーグループの検索の際には、特定のユーザーを含むグループに検索結果を絞り込むことも可能です。

$ ipa group-find --user=user_name

また、特定のユーザーを含まないグループを検索するには、以下を実行します。

$ ipa group-find --no-user=user_name

4.2. 特定のエントリーの詳細の表示

ipa *-show コマンドを使用して、固有の Identity Management エントリーの詳細を表示します。たとえば、server.example.com という名前のホストに関する詳細を表示します。

$ ipa host-show server.example.com
 Host name: server.example.com
 Principal name: host/server.example.com@EXAMPLE.COM
 ...

4.3. 検索サイズおよび時間制限の調整

ユーザーの一覧表示など、検索結果によっては、エントリー数が大量に返される場合があります。この検索操作を調整して、ipa user-find などの ipa *-find コマンドの実行時や、Web UI で適切な一覧を表示する際に、全体的なサーバーのパフォーマンスを向上できます。

Search size limit

クライアント、Identity Management コマンドラインツール、Identity Management Web UI からサーバーに送信されるリクエストに対して、返される最大エントリー数を定義します。

デフォルト - 100 エントリー

Search time limit

検索の実行までにサーバーが待機する最大時間 (秒) を定義します。検索がこの制限に到達したら、サーバーは検索を停止し、停止するまでの期間に検出されたエントリーを返します。

デフォルト - 2 秒

これらの値が -1 に設定されている場合、Identity Management は検索時に制限を適用しません。

重要

検索のサイズや時間制限を高く設定しすぎると、サーバーのパフォーマンスに悪い影響が出る可能性があります。

手順: Web UI

全クエリーに対して、グローバルに制限を調節するには、以下を実行します。

  1. IPA ServerConfiguration を選択します。
  2. Search Options エリアに必要な値を設定します。
  3. ページ上部にある Save をクリックします。

手順: コマンドライン

全クエリーに対してグローバルに制限を調整するには、ipa config-mod コマンドを使用して、--searchrecordslimit オプションおよび --searchtimelimit オプションを追加します。以下に例を示します。

$ ipa config-mod --searchrecordslimit=500 --searchtimelimit=5

特定のクエリーに対してのみ制限を調整するには、コマンドに --sizelimit オプションまたは --timelimit オプションを追加します。以下に例を示します。

$ ipa user-find --sizelimit=200 --timelimit=120

第5章 Web ブラウザーで IdM Web UI へのアクセス

次のセクションでは、IdM (Identity Management) Web UI の概要と、そのアクセス方法を説明します。

5.1. IdM Web UI とは

IdM (Identity Management) Web UI は、IdM コマンドラインツールのグラフィカルな代替手段である、IdM 管理用の Web アプリケーションです。

IdM Web UI には、以下のユーザーとしてアクセスできます。

  • IdM ユーザー - IdM サーバーでユーザーに付与されている権限に応じて制限されている一連の操作。基本的に、アクティブな IdM ユーザーは IdM サーバーにログインして自身のアカウントを設定できます。その他のユーザーまたは IdM サーバーの設定は変更できません。
  • 管理者 - IdM サーバーへのフルアクセス権
  • Active Directory ユーザー - ユーザーに付与されている権限に応じて制限されている一連の操作

    Active Directory ユーザーは Identity Management の管理者になれません。

5.2. Web UI へのアクセスに対応している Web ブラウザー

IdM (Identity Management) では、以下のブラウザーを使用して、Web UI に接続できます。

  • Mozilla Firefox 38 以降
  • Google Chrome 46 以降

5.3. Web UI へのアクセス

次の手順では、パスワードを使用して、IdM (Identity Management) Web UI に最初にログインする方法を説明します。

最初のログイン後に、IdM サーバーを認証するように設定できます。

  • Kerberos チケット
  • スマートカード
  • ワンタイムパスワード (OTP) - パスワードと組み合わせることができ、Kerberos 認証に利用されます。

手順

  1. ブラウザーのアドレスバーに、IdM サーバーの URL を入力します。名前は次の例のようになります。

    https://server.example.com

    server.example.com を、IdM サーバーの DNS 名に変更するだけです。

    これで、ブラウザーに IdM Web UI ログイン画面が開きます。

    web ui login screen

    • サーバーが応答しない、またはログイン画面が開かない場合は、接続している IdM サーバーの DNS 設定を確認してください。
    • 自己署名証明書を使用する場合は、ブラウザーに警告が表示されます。証明書を確認し、セキュリティー例外を許可してから、ログインを続行します。

      セキュリティーの例外を回避するために、認証局が署名した証明書をインストールします。詳細は『Configuring Identity Management for authenticating with a certificate』を参照してください。

  2. Web UI ログイン画面で、IdM サーバーのインストール時に追加した管理者アカウントの認証情報を入力します。

    詳細は『Installing an Identity Management server』を参照してください。

    IdM サーバーに、個人アカウントの認証情報がすでに入力されている場合は、それを入力できます。

    web ui login passwd

  3. Log in をクリックします。

ログインに成功したら、IdM サーバーの設定を開始できます。

web ui users

関連資料

認証は、次の方法でも可能です。

  • Kerberos チケット
  • パスワード + ワンタイムパスワード
  • スマートカード

第6章 Web UI で IdM にログイン: Kerberos チケットの使用

以下のセクションでは、IdM Web UI への Kerberos ログインを有効にする環境の初期設定と、Kerberos 認証を使用した IdM へのアクセスを説明します。

6.1. 前提条件

6.2. Identity Management における Kerberos 認証

Identity Management (IdM) は、シングルサインオンに対応する Kerberos プロトコルを使用します。シングルサインオン認証により、ユーザーが正しいユーザー名およびパスワードを一度入力すれば、システムに認証情報を求められることなく、Identity Management サービスにアクセスできます。

DNS および証明書の設定が適切に設定されている場合は、インストール直後に、IdM サーバーが Kerberos 認証を提供します。詳細は『Installing Identity Management』を参照してください。

ホストで Kerberos 認証を使用するには、以下をインストールします。

6.3. kinit を使用した IdM への手動ログイン

この手順では、kinit ユーティリティーを使用して、Identity Management (IdM) 環境を手動で認証する方法を説明します。kinit ユーティリティーは、IdM ユーザーの代わりに Kerberos の TGT (Ticket-Granting Ticket) を取得して、キャッシュに格納します。

注記

この手順は、最初の Kerberos TGT を破棄したか、有効期限が切れている場合にのみ使用します。ローカルマシンに、IdM ユーザーとしてログインすると、IdM に自動的にログインします。これは、ログイン後に IdM リソースにアクセスするのに kinit ユーティリティーを使用する必要がないことを示しています。

手順

  1. 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 ~]$
  2. 必要に応じて、ログインが成功したことを確認するには、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

6.4. Kerberos 認証用のブラウザーの設定

Kerberos チケットによる認証を有効にするには、ブラウザーの設定が必要になることもあります。

以下の手順は、IdM ドメインにアクセスする Kerberos ネゴシエーションに対応するのに役に立ちます。

各ブラウザーは異なる方法で Kerberos をサポートしており、異なる設定が必要です。IdM Web UI には、次のブラウザーに関するガイドラインが含まれています。

  • Firefox
  • Chrome

手順

  1. Web ブラウザーで、WebUI ログインダイアログを開きます。
  2. Web UI のログイン画面で、ブラウザー設定のリンクをクリックします。

    ipa browser config link

  3. 設定ページの手順に従います。

    ipa browser config page

設定が完了したら、IdM Web UI に戻り、ログイン をクリックします。

6.5. Kerberos チケットを使用した Web UI へのログイン

この手順では、Kerberos の TGT (ticket-granting ticket) を使用して、IdM Web UI にログインする方法を説明します。

TGT は、事前定義された時間に有効期限が切れます。デフォルトの時間間隔は 24 時間で、IdM Web UI でそれを変更できます。

期限が切れたら、チケットを更新する必要があります。

  • kinit コマンドの使用
  • Web UI ログインダイアログで、IdM ログイン認証情報を使用します。

手順

  • IdM Web UI を開きます。

    Kerberos 認証が正しく機能し、有効なチケットがある場合は、自動的に認証されて Web UI が開きます。

    チケットの有効期限が切れている場合は、最初に資格情報を使用して認証する必要があります。ただし、次からはログインダイアログを開かずに IdM Web UI が自動的に開きます。

    エラーメッセージ Authentication with Kerberos failed が表示された場合は、ブラウザーが Kerberos 認証用に設定されていることを確認してください。「Kerberos 認証用のブラウザーの設定」 を参照してください。

    firefox kerb auth failed

6.6. Kerberos 認証用の外部システム設定

本セクションでは、Identity Management (IdM) ユーザーが自身の Kerberos 認証情報を使用して、外部システムから IdM にログインするように外部システムを設定する方法を説明します。

外部システムの Kerberos 認証を有効にすることは、インフラストラクチャーに、複数のレルムまたは重複ドメインが含まれている場合に特に便利です。また、ipa-client-install を実行してシステムを IdM ドメインに登録していない場合にも便利です。

IdM ドメインのメンバーではないシステムから IdM への Kerberos 認証を有効にするには、外部システムに IdM 固有の Kerberos 設定ファイルを定義します。

前提条件

  • 外部システムに krb5-workstation パッケージがインストールされている。

    パッケージがインストールされているかどうかを確認するには、次の CLI コマンドを使用します。

    # yum list installed krb5-workstation
    Installed Packages
    krb5-workstation.x86_64    1.16.1-19.el8     @BaseOS

手順

  1. IdM サーバーから外部システムに /etc/krb5.conf ファイルをコピーします。以下に例を示します。

    # scp /etc/krb5.conf root@externalsystem.example.com:/etc/krb5_ipa.conf
    警告

    外部マシンにある krb5.conf ファイルは上書きしないでください。

  2. 外部システムで、コピーした IdM Kerberos 設定ファイルを使用するように、端末の設定を設定します。

    $ export KRB5_CONFIG=/etc/krb5_ipa.conf

    KRB5_CONFIG 変数は、ログアウトまで一時的に存在します。ログアウト時に削除されないように、この変数のファイル名を変えてエクスポートします。

  3. /etc/krb5.conf.d/ ディレクトリーの Kerberos 設定部分を、外部システムにコピーします。
  4. 「Kerberos 認証用のブラウザーの設定」 で記載されているように、外部システムのブラウザーを設定します。

外部システムのユーザーが、kinit ユーティリティーを使用して IdM サーバーで認証できるようになりました。

6.7. Active Directory ユーザー用 Web UI ログイン

Active Directory ユーザーに対して Web UI ログインを有効にするには、デフォルトの信頼ビューで、Active Directory の各ユーザーに対して ID のオーバーライドを定義します。以下に例を示します。

[admin@server ~]$ ipa idoverrideuser-add 'Default Trust View' ad_user@ad.example.com

関連資料

第7章 ワンタイムパスワードを使用して、Identity Management Web UI にログイン

IdM Web UI へのアクセスは、いくつかの方法を使用して保護できます。基本的なものはパスワード認証です。

パスワード認証のセキュリティーを許可するために、2 つ目の手順を追加して、自動生成ワンタイムパスワード (OTP) を要求できます。最も一般的な使用方法は、ユーザーアカウントに関連付けられたパスワードと、ハードウェアまたはソフトウェアのトークンにより生成された期限付きワンタイムパスワードを組み合わせることです。

以下のセクションでは、次のことができます。

  • IdM で OTP 認証がどう機能するかを理解する。
  • IdM サーバーで OTP 認証を設定する。
  • OTP トークンを作成し、そのトークンを、電話の FreeOTP アプリと同期する。
  • ユーザーパスワードとワンタイムパスワードの組み合わせで、IdM Web UI に対して認証する。
  • Web UI でトークンを再同期する。

7.1. 前提条件

7.2. Identity Management におけるワンタイムパスワード (OTP) 認証

ワンタイムパスワードにより、認証セキュリティーに関するステップが追加されます。認証では、自分のパスワード、および自動生成されたワンタイムパスワードが使用されます。

ワンタイムパスワードを生成するには、ハードウェアまたはソフトウェアのトークンを使用できます。IdM は、ソフトウェアトークンとハードウェアトークンの両方をサポートします。

Identity Management には、以下にある、2 つの標準 OTP メカニズムをサポートしています。

  • HMAC ベースのワンタイムパスワード (HOTP) アルゴリズムは、カウンターに基づいています。HMAC は、Hashed Message Authentication Code (ハッシュメッセージ認証コード) を表しています。
  • 時間ベースのワンタイムパスワード (TOTP) アルゴリズムは、時間ベースの移動要素をサポートする HOTP の拡張機能です。
重要

IdM は、Active Directory 信頼ユーザーに対する OTP ログインに対応しません。

7.3. Web UI でワンタイムパスワードの有効化

IdM Web UI を使用すると、ワンタイムパスワードを生成できるように、ハードウェアデバイスまたはソフトウェアデバイスを設定できます。

ワンタイムパスワードは、ログインダイアログの専用フィールドで、通常のパスワードの直後に入力されます。

ユーザー設定で、OTP 認証を有効にできるのは管理者だけです。

前提条件

  • 管理権限

手順

  1. ユーザー名およびパスワードを使用して IdM Web UI にログインします。
  2. Identity → Users → Active users タブを開きます。

    web ui users

  3. ユーザー名をクリックして、ユーザー設定を開きます。
  4. User authentication types で、Two factor authentication (password + OTP) を選択します。
  5. Save をクリックします。

この時点で、OTP 認証は IdM サーバーで有効になります。

新しいトークン ID をユーザーアカウントに割り当てて、ハードウェアトークンまたは FreeOTP を設定します。

7.4. Web UI での OTP トークンの追加

次のセクションは、IdM Web UI およびソフトウェアトークンジェネレーターに、トークンを追加するのに役立ちます。

前提条件

  • IdM サーバーにおけるアクティブなユーザーアカウント。
  • 管理者が、IdM Web UI の特定のユーザーアカウントに対して OTP を有効にしている。
  • OTP トークンを生成するソフトウェアデバイス。

    ワンタイムパスワードを生成するには、FreeOTP アプリ (FreeOTP) を携帯電話にダウンロードします。

手順

  1. ユーザー名とパスワードを使用して IdM Web UI にログインします。
  2. Authentication → OTP Tokens タブを開いて、携帯電話でトークンを作成します。
  3. Add をクリックします。

    web ui tokens tab

  4. Add OTP token ダイアログボックスに何も入力せず、Add をクリックします。

    この段階で、IdM サーバーはデフォルトパラメーターを使用してトークンを作成し、QR コード付きページを開きます。

  5. QR コードを携帯電話にコピーします。
  6. OK をクリックして QR コードを閉じます。

これで、ワンタイムパスワードを生成して、IdM Web UI にログインできます。

freeotp token

7.5. ワンタイムパスワードで Web UI にログイン

この手順では、ワンタイムパスワード (OTP) を使用した IdM Web UI への最初のログインを説明します。

前提条件

  • ユーザーアカウントに対して Identity Management サーバーで有効になっている OTP 設定が OTP 認証を使用している。ユーザーおよび管理者は、OTP を有効にできます。

    OTP 設定を有効にするには、「Web UI でワンタイムパスワードの有効化」 を参照してください。

  • 設定された OTP トークンを生成するハードウェアまたはソフトウェアのデバイス

手順

  1. Identity Management ログイン画面で、自身のユーザー名、または IdM サーバー管理者アカウントのユーザー名を入力します。
  2. 上記で入力したユーザーのパスワードを追加してください。
  3. デバイスでワンタイムパスワードを生成します。
  4. パスワードの直後にワンタイムパスワードを入力します (スペースなし)。
  5. Log in をクリックします。

    認証に失敗した場合は、OTP トークンを同期します。

    CA が自己署名証明書を使用する場合は、ブラウザーに警告が表示されます。証明書を確認し、セキュリティー例外を許可してから、ログインを続行します。

    IdM Web UI が開かない場合は、Identity Management サーバーの DNS 設定を確認してください。

ログインが成功すると、IdM Web UI が表示されます。

web ui users

7.6. Web UI を使用した OTP トークンの同期

OTP (ワンタイムパスワード) でのログインに失敗した場合、OTP トークンは正しく同期しません。

以下のテキストは、トークンの再同期を説明します。

前提条件

  • ログイン画面を開いている。
  • 設定した OTP トークンを生成するデバイス。

手順

  1. IdM Web UI ログイン画面で、Sync OTP Token をクリックします。

    web ui login otp link

  2. ログイン画面で、ユーザー名と、Identity Management パスワードを入力します。
  3. ワンタイムパスワードを生成し、First OTP フィールドに入力します。
  4. ワンタイムパスワードをもう一度生成し、Second OTP フィールドに入力します。
  5. 必要に応じて、トークン ID を入力してください。

    web ui login otp configuration

  6. Sync OTP Token をクリックします。

同期に成功したら、IdM サーバーにログインできます。

7.7. 期限切れパスワードの変更

Identity Management の管理者は、ユーザが次回ログインする時にパスワードの変更を強制できます。パスワードを変更しないと IdM Web UI にログインできないことを意味します。

パスワードの有効期限は、Web UI に初めてログインしたときに発生する可能性があります。

有効期限パスワードのダイアログが表示されたら、手順の指示に従ってください。

前提条件

  • ログイン画面を開いている。
  • IdM サーバーへのアクティブなアカウント。

手順

  1. パスワード有効期限のログイン画面に、ユーザー名を入力します。
  2. 上記で入力したユーザーのパスワードを追加してください。
  3. ワンタイムパスワード認証を使用する場合は、OTP フィールドにワンタイムパスワードを生成します。

    OTP 認証を有効にしていない場合は、このフィールドを空白のままにします。

  4. 確認のために新しいパスワードを 2 回入力します。
  5. Reset Password をクリックします。

    web ui passwd expiration

パスワード変更が成功すると、通常のログインダイアログが表示されます。新しいパスワードでログインします。

第8章 Identity Management の公開鍵証明書

この章では、Identity Management (IdM) で、ユーザー、ホスト、およびサービスを認証するために使用する X.509 公開鍵証明書を紹介します。認証に加えて、X.509 証明書は、デジタル署名と暗号化も可能にし、プライバシー、完全性、否認不可を実現します。

証明書には、以下の情報が含まれます。

  • 証明書が認証するサブジェクト
  • 証明書に署名 (検証) した人、つまり発行者
  • 証明書の有効性の開始と終了
  • 証明書の有効な用途
  • サブジェクトの公開鍵

公開鍵により暗号化したメッセージは、対応した秘密鍵により複号できます。証明書と、それに含まれる公開鍵は、自由に利用できるようにできますが、ユーザー、ホスト、またはマシンは、その秘密鍵を秘密にしておく必要があります。

8.1. IdM の認証局

認証局は信頼の階層で機能します。内部認証局 (CA) がある IdM 環境では、CA が署名しているすべての証明書を、すべての IdM ホスト、ユーザー、およびサービスが信頼します。このルート CA とは別に、IdM は、ルート CA から証明書に署名する権限を付与されたサブ CA にも対応します。多くの場合、そのようなサブ CA が署名できる証明書は、特定の種類の証明書 (たとえば VPN 証明書) です。

証明書の観点からは、自己署名 IdM CA と、外部署名の間に違いがありません。

CA のロールは次のとおりです。

  • デジタル証明書を発効し、検証します。
  • 証明書に署名して、証明書がそれを提示するユーザー、ホスト、またはサービスに属することを証明します。
  • 内部 CA を使用する IdM 環境では、証明書の更新マスターであり、証明書失効リスト (CRL) を維持する CA が最高権限になります。

8.2. 証明書および Kerberos の比較

Kerberos は、安全ではないネットワークを介して通信するノードが、安全な方法で互いに ID を証明できるように、チケットに基づいて作用するコンピューターネットワーク認証プロトコルです。

表8.1 証明書および Kerberos の比較

特徴

Kerberos

X.509

Authentication

はい

はい

Privacy

オプション

はい

Integrity

オプション

はい

関係する暗号の種類

対称

非対称

デフォルトの有効性

短い (1 日)

長い (2 年)

デフォルトでは、Identity Management の Kerberos は、通信相手の ID のみを保証します。

8.3. IdM でユーザーを認証する証明書を使用する利点と問題点

IdM でユーザーを認証する証明書を使用する利点は次のとおりです。

  • 通常、スマートカードの秘密鍵を保護する PIN は、通常のパスワードよりも簡単で覚えやすいです。
  • デバイスによっては、スマートカードに保存されている秘密鍵をエクスポートできません。これによりセキュリティーが強化されます。
  • スマートカードはログアウトを自動化できます。IdM は、ユーザーがリーダーからスマートカードを取り外すとユーザーをログアウトするように設定できます。
  • 秘密鍵を盗むには、スマートカードへの物理的なアクセスが必要で、スマートカードはハッキング攻撃に対して安全になります。
  • スマートカード認証は二要素認証です。つまり、所有しているもの (カード) と、知っているもの (PIN) の両方が必要です。
  • スマートカードは、電子メールの暗号化など、他の目的に使用できる鍵を提供するため、パスワードよりも柔軟性があります。
  • IdM クライアントである共有マシンでスマートカードを使用しても、通常、システム管理者に対して追加で発生する問題はありません。実際、スマートカード認証は共有マシンにとって理想的な選択肢です。

IdM のユーザーを認証する証明書を使用する問題点は次のとおりです。

  • ユーザーは、スマートカードまたは証明書を紛失したり忘れたりして、実質的にロックアウトされる可能性があります。
  • PIN を複数回誤入力すると、カードがロックされる可能性があります。
  • 一般に、リクエストと、セキュリティー担当者または承認者による承認との間にステップがあります。IdM で、セキュリティー担当者または管理者は、ipa cert-request コマンドを実行する必要があります。
  • スマートカードとリーダーはベンダーやドライバーに固有のものになる傾向があります。多数のリーダーがさまざまなカードに使用できますが、特定のベンダーのスマートカードは、他のベンダーやリーダーの種類によっては機能しない場合があります。
  • 証明書とスマートカードの学習曲線は、この分野の経験がない場合には難しく聞こえるかもしれません。

第9章 IdM クライアントのデスクトップに保存されている証明書を使用した認証の設定

Identity Management (IdM) を設定すると、IdM システム管理者は、認証局 (CA) がユーザーに発行した証明書を使用して、IdM Web UI とコマンドラインインターフェース (CLI) に対してユーザーを認証できます。

Web ブラウザーは、IdM ドメイン外のシステムで実行できます。

このユーザーストーリーの手順では、IdM クライアントのデスクトップに保存された証明書を使用して、Identitiy Management の Web UI と CLI へのログインを効果的に設定およびテストする方法を説明します。このユーザーストーリーでは、以下の点に注意してください。

注記

Identity Management ユーザーのみが、証明書を使用して Web UI にログインできます。Active Directory ユーザーは、ユーザー名とパスワードを使用してログインできます。

9.1. Web UI の証明書認証に対する Identity Management サーバーの設定

Identity Management (IdM) 管理者は、ユーザーが、証明書を使用して IdM 環境で認証できるように設定できます。

手順

Identity Management 管理者が、以下を行います。

  1. Identity Management サーバーで管理者特権を取得し、サーバーを設定するシェルスクリプトを作成します。

    1. ipa-advise config-server-for-smart-card-auth コマンドを実行し、その出力をファイル (例: server_certificate_script.sh) に保存します。

      # kinit admin
      # ipa-advise config-server-for-smart-card-auth > server_certificate_script.sh
    2. chmod ユーティリティーを使用して、実行パーミッションをファイルに追加します。

      # chmod +x server_certificate_script.sh
  2. Identity Management ドメインの全サーバーで、server_certificate_script.sh スクリプトを実行します。

    1. 証明書認証を有効にするユーザーの証明書を発行した唯一の認証局が IdM CA である場合は、IdM Certificate Authority 証明書のパス (/etc/ipa/ca.crt) を使用します。

      # ./server_certificate_script.sh /etc/ipa/ca.crt
    2. 証明書認証を有効にするユーザーの証明書を外部の複数の CA が署名した場合は、関連する CA 証明書のパスを使用します。

      # ./server_certificate_script.sh /tmp/ca1.pem /tmp/ca2.pem
注記

トポロジー全体でユーザーの証明書認証を有効にする場合は、今後新たにシステムに追加する各レプリカに対してスクリプトを実行することを忘れないでください。

9.2. 新しいユーザー証明書を要求し、クライアントにエクスポート

Identity Management (IdM) 管理者として、IdM 環境でユーザーの証明書を作成し、作成した証明書を、ユーザーの証明書認証を有効にする IdM クライアントにエクスポートできます。

注記

証明書を使用して認証するユーザーがすでに証明書を持っている場合は、本セクションを飛ばして次に進みます。

手順

  1. 必要に応じて、一時的な証明書データベースにする新しいディレクトリー (~/certdb/ など) を作成し、後続の手順で生成される証明書へのキーを暗号化する NSS 証明書の DB パスワードを要求された場合は作成します。

    # mkdir ~/certdb/
    # certutil -N -d ~/certdb/
    Enter a password which will be used to encrypt your keys.
    The password should be at least 8 characters long,
    and should contain at least one non-alphabetic character.
    
    Enter new password:
    Re-enter password:
  2. 証明書署名要求 (CSR) を作成し、その出力をファイルにリダイレクトします。たとえば、IDM.EXAMPLE.COM レルムの idm_user ユーザーの 4096 ビット証明書に対して、certificate_request.csr という名前の CSR を作成する場合は、判別を簡単にするために、証明書の秘密鍵のニックネームを idm_user に設定し、サブジェクトを CN=idm_user,O=IDM.EXAMPLE.COM に設定します。

    # certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
  3. プロンプトが表示されたら、certutil を使用して一時データベースを作成したときに入力したパスワードを入力します。その後、止めるように言われるまで、ランダムにタイピングし続けます。

    Enter Password or Pin for "NSS Certificate DB":
    
    A random seed must be generated that will be used in the
    creation of your key.  One of the easiest ways to create a
    random seed is to use the timing of keystrokes on a keyboard.
    
    To begin, type keys on the keyboard until this progress meter
    is full.  DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!
    
    
    Continue typing until the progress meter is full:
  4. 証明書要求ファイルをサーバーに送信します。新しく発行した証明書に関連付ける Kerberos プリンシパルと、証明書を保存する出力ファイルを指定し、必要に応じて証明書のプロファイルを指定します。たとえば、IECUserRoles プロファイルの証明書(idm_user@IDM.EXAMPLE.COM プリンシパルに追加したユーザーロール拡張) を取得して、それを ~/idm_user.pem ファイルに保存するには、次のコマンドを実行します。

    # ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pem
  5. 証明書を NSS データベースに追加します。証明書が NSS データベースの秘密鍵に一致するように、CSR を作成する際に使用したニックネームを設定するには、-n オプションを使用します。-t オプションは信頼レベルを設定します。詳細は、man ページの certutil(1) を参照してください。-i オプションは、入力証明書ファイルを指定します。たとえば、idm_user ニックネームを持つ証明書を NSS データベースに追加するには、以下のコマンドを実行します。~/certdb/ データベースの ~/idm_user.pem ファイルに保存されます。

    # certutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pem
  6. NSS データベースの鍵で、ニックネームが (orphan) と表示されていないことを確認します。たとえば、~/certdb/ データベースに保存されている証明書で、対応する鍵が存在することを確認するには、以下のコマンドを実行します。

    # certutil -K -d ~/certdb/
    < 0> rsa      5ad14d41463b87a095b1896cf0068ccc467df395   NSS Certificate DB:[replaceable]idm_user
  7. 証明書を、NSS データベースから PKCS12 形式にエクスポートするには、pk12util コマンドを使用します。たとえば、/root/certdb NSS データベースから ~/idm_user.p12 ファイルへ、idm_user ニックネームを持つ証明書をエクスポートするには、以下のコマンドを実行します。

    # pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user
    Enter Password or Pin for "NSS Certificate DB":
    Enter password for PKCS12 file:
    Re-enter password:
    pk12util: PKCS12 EXPORT SUCCESSFUL
  8. idm_user の証明書認証を有効にするホストに、証明書を転送します。

    # scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/
  9. セキュリティー上の理由から、証明書が転送されたホストの、.pkcs12 ファイルが格納されているディレクトリーに、「other」グループがアクセスできないようにします。

    # chmod o-rwx /home/idm_user/
  10. セキュリティー上の理由から、一時 NSS データベースおよび .pkcs12 ファイルを、サーバーから削除します。

    # rm ~/certdb/
    # rm ~/idm_user.p12

9.3. 証明書とユーザーが互いにリンクしていることを確認

注記

ユーザーの証明書が IdM CA により発行されている場合は、本セクションを飛ばして先に進みます。

証明書が機能するには、証明書が、それを使用して Identity Management (IdM) に認証を受けるユーザーにリンクされていることを確認する必要があります。

9.4. ブラウザーで証明書認証の有効化

Identity Management の Web UI で証明書認証を機能させるには、証明書認証を有効にするホストで実行している Mozilla Firefox または Google Chrome のブラウザーに、ユーザー証明書および認証局 (CA) 証明書をインポートする必要があります。ホストが IdM ドメインに含まれている必要はありません。

Identity Management では、以下のブラウザーを使用して、Web UI に接続できます。

  • Mozilla Firefox 38 以降
  • Google Chrome 46 以降

次の手順は、Mozilla Firefox 57.0.1 ブラウザーを設定する方法を説明します。

手順

  1. Firefox を開き、設定プライバシーとセキュリティ に移動します。

    privacy and security
  2. 証明書を表示 をクリックします。

    view certificates
  3. あなたの証明書 タブで、インポート をクリックします。PKCS12 形式のユーザー証明書を見つけて開きます。OK をクリックし、OK をクリックします。
  4. Identity Management 認証局が、Firefox で信頼できる認証局として認識されていることを確認します。

    1. IdM CA 証明書をローカルに保存します。

      • Firefox アドレスバーに IdM サーバーの名前を入力し、IdM の Web UI に移動します。接続が安全ではないことを警告するページで、詳細 をクリックします。

        connection not secure idm
      • 例外を追加 します。表示 をクリックします。

        view ca certificate idm
      • 詳細 タブで、認証局 フィールドを強調表示します。

        exporting ca cert idm
      • エクスポート をクリックします。CA 証明書を、CertificateAuthority.crt ファイルとして保存し、閉じる をクリックして、キャンセル をクリックします。
    2. IdM CA 証明書を、信頼できる認証局の証明書として Firefox にインポートします。

      • Firefox を起動し、設定に移動して、プライバシーおよびセキュリティに移動します。

        privacy and security
      • 証明書を表示 をクリックします。

        view certificates
      • 認証機関 タブで、インポート をクリックします。CertificateAuthority.crt ファイルで、上の手順で保存した CA 証明書を見つけて開きます。証明書を信頼し、Web サイトを識別したら、OK をクリックし、OK をクリックします。
  5. 「Identity Management ユーザーとして証明書を使用して Identity Management の Web UI で認証」に進みます。

9.5. Identity Management ユーザーとして証明書を使用して Identity Management の Web UI で認証

次の手順では、Identity Management クライアントのデスクトップに保存されている証明書を使用して、ユーザーが Identity Management (IdM) の Web UI を認証する方法を説明します。

手順

  1. ブラウザーで、Identity Management の Web UI (例: https://server.idm.example.com/ipa/ui) に移動します。
  2. Login Using Certificate をクリックします。

    smart card login
  3. ユーザーの証明書が選択されているため、Remember this decision のチェックをはずして OK をクリックします。

証明書に対応するユーザーとして認証されました。

関連資料

9.6. 証明書を使用して CLI への認証を可能にするように IdM クライアントを設定

IdM クライアントのコマンドラインインターフェース (CLI) で、IdM ユーザーに対して証明書認証を有効にするには、IdM ユーザーの証明書および秘密鍵を IdM クライアントにインポートします。ユーザー証明書の作成および転送の詳細は「新しいユーザー証明書を要求し、クライアントにエクスポート」を参照してください。

手順

IdM クライアントにログインし、ユーザーの証明書と秘密鍵を含む .p12 ファイルを用意します。Kerberos TGT (Ticket Granting Ticket) ファイルを取得してキャッシュを取得するには、-X オプションに値 X509_username:/path/to/file.p12 を使用し、ユーザーのプリンシパルで kinit コマンドを実行して、ユーザーの X509 識別情報の場所を指定します。たとえば、~/idm_user.p12 ファイルに保存されている識別情報を使用して idm_user の TGT を取得するには、次のコマンドを実行します。

$ kinit -X X509_idm_user='PKCS12:~/idm_user.p12' idm_user
注記

このコマンドは、.pem ファイル形式 (kinit -X X509_username='FILE:/path/to/cert.pem,/path/to/key' user_principal) にも対応しています。

第10章 IdM を管理する AD ユーザーを有効化

10.1. AD ユーザーの ID のオーバーライド

Red Hat Enterprise Linux (RHEL) 7 では、System Security Services Daemon (SSSD) で外部グループメンバーシップを使用して、AD ユーザーとグループが POSIX 環境の IdM リソースに アクセスするのを許可します。

IdM LDAP サーバーには、アクセスコントロールを付与する独自のメカニズムがあります。RHEL 8 には、AD ユーザーに対する ID ユーザーのオーバーライドを IdM グループのメンバーとして追加する更新が導入されました。ID オーバーライドは、特定の Active Directory ユーザーまたはグループのプロパティーが特定の ID ビュー (この場合は Default Trust View) 内でどのように見えるかを記述するレコードです。この更新により、IdM LDAP サーバーは、IdM グループのアクセス制御ルールを AD ユーザーに適用できます。

AD ユーザーは、IdM UI のセルフサービス機能 (SSH キーのアップロード、個人のデータの変更など) を使用できるようになりました。AD 管理者は、異なるアカウントおよびパスワードを 2 つ使用しなくても、IdM を完全に管理できるようになります。

注記

IdM の一部の機能は、AD ユーザーには現在利用できません。たとえば、IdM の admins グループに所属する AD ユーザーが、IdM ユーザーのパスワードを設定することはできません。

10.2. IdM を管理する AD ユーザーを有効にする ID オーバーライドの使用

前提条件

  • IdM サーバーで idm:DL1 ストリームが有効になっていて、このストリームで配信される RPM に切り替えている。

    # yum module enable idm:DL1
    # yum distro-sync
  • idm:DL1/adtrust プロファイルが IdM サーバーにインストールされている。

    # yum module install idm:DL1/adtrust

    このプロファイルには、ipa-idoverride-memberof パッケージなど、Active Directory と信頼関係を結ぶ IdM サーバーのインストールに必要なパッケージがすべて含まれている。

  • Identity Management 環境が設定され動作している。詳細は『Installing Identity Management』を参照してください。
  • Identity Management 環境と Active Directory との間の信頼関係が設定され動作している。

手順

この手順では、Active Directory (AD) ユーザーの ID オーバーライドを作成して使用し、Identity Management (IdM) ユーザーと同じ権限を付与する方法を説明します。この手順は、信頼コントローラーまたは信頼エージェントとして設定した IdM サーバーで行ってください。信頼サーバーおよび信頼エージェントの詳細は『Planning Identity Management』「Trust controllers and trust agents」を参照してください。

  1. IdM 管理者として、デフォルトの信頼ビューで AD ユーザーの ID オーバーライドを作成します。たとえば、 ad_user@ad.example.com ユーザーの ID オーバーライドを作成するには、次のコマンドを実行します。

    # kinit admin
    # ipa idoverrideuser-add 'default trust view' ad_user@ad.example.com
  2. デフォルトの信頼ビューから IdM グループに、ID オーバーライドをメンバーとして追加します。問題のグループが IdM ロールのメンバーである場合に、ID オーバーライドで示した AD ユーザーは、IdM API (コマンドラインインターフェース、IdM の Web UI など) を使用する場合に、ロールにより付与されたすべての権限を取得します。たとえば、ad_user@ad.example.com ユーザーの ID オーバーライドを admins グループに追加するには、次のコマンドを実行します。

    # ipa group-add-member admins --idoverrideusers=ad_user@ad.example.com

10.3. AD ユーザーとして IdM コマンドラインインターフェース (CLI) の管理

Active Directory ユーザーが Identity Management CLI にログインし、自分のロールに適したコマンドを実行できることを確認します。

  1. IdM 管理者の、現在の Kerberos チケットを破棄します。

    # kdestroy -A
    注記

    MIT Kerberos の GSSAPI 実装が優先的にターゲットサービスの領域 (この場合は IdM レルム) から認証情報を選択するため、Kerberos チケットの破棄が必要です。認証情報のキャッシュコレクション (つまり KCM:、KEYRING:、または DIR: のタイプの認証情報キャッシュ) が使用されている場合は、IdM API へのアクセスに、AD ユーザーの認証情報ではなく、取得しておいた admin またはその他の IdM プリンシパルの認証情報が使用されます。

  2. ID オーバーライドが作成された AD ユーザーの Kerberos 認証情報を入手します。

    # kinit ad_user@AD.EXAMPLE.COM
    Password for ad_user@AD.EXAMPLE.COM:
  3. AD ユーザーの ID オーバーライド使用する、IdM グループのメンバーシップから生じるパーミッションが、そのグループ内の任意の IdM ユーザーと同じものであることをテストします。AD ユーザーの ID オーバーライドが admins グループに追加されている場合、AD ユーザーは、たとえば IdM にグループを作成できます。

    # ipa group-add some-new-group
    ----------------------------
    Added group "some-new-group"
    ----------------------------
      Group name: some-new-group
      GID: 1997000011

法律上の通知

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.