Red Hat Training

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

第16章 サービスの管理

ホスト上で実行されるサービスには、IdM ドメインに属するものもあります。Kerberos プリンシパルまたは SSL 証明書のいずれか (またはこれら両方) を保存することができるサービスは、IdM サービスとして設定することができます。IdM ドメインにサービスを追加すると、そのサービスはドメインから SSL 証明書や keytab を要求することができます。(証明書の公開鍵のみがサービスレコードに保存されます。秘密鍵はサービスのローカルになります。)
An IdM ドメインは、共通の ID 情報、ポリシー、共有 サービスで、マシン間に共通性を確立します。あるドメインに所属しているマシンは、そのドメインのクライアントとして機能するので、そのドメインが提供するサービスを使用できます。(1章Red Hat Identity Management について の説明にあるように) An IdM ドメインは特に、以下の 3 つの主要サービスをマシンに提供します。
  • DNS
  • Kerberos
  • 証明書管理

16.1. サービスエントリーおよび Keytab の追加と編集

ホストエントリーの場合と同様に、ホストのサービスエントリー (およびドメインに属するホスト上のサービス) は手動で IdM ドメインに追加する必要があります。これは 2 段階のプロセスで、最初にサービスエントリーを作成し、次にそのサービスがドメインへのアクセスに使用する keytab を作成します。
デフォルトでは、Identity Management は HTTP keytab を /etc/httpd/conf/ipa.keytab に保存します。

注記

この keytab は Web UI に使用します。キーが ipa.keytab に保存されその keytab ファイルが削除された場合、元のキーも削除されてしまうので、IdM Web UI は機能しなくなります。
Kerberos 対応とする必要のある各サービスで、同様の場所を指定することができます。特定の場所を使用する必要はありませんが、ipa-getkeytab を使用する場合は、/etc/krb5.keytab を避けてください。このファイルにはサービス固有の keytab を含めるべきではありません。各サービスは keytab を特定の場所に保存し、そのサービスのみが keytab にアクセスできるようにアクセス権限 (および場合によっては SELinux ルール) を設定します。

16.1.1. Web UI でのサービスと Keytab の追加

  1. Identity タブを開き、Services サブタブを選択します。
  2. サービス一覧の上部にある Add ボタンをクリックします。
  3. ドロップダウンメニューからサービスタイプを選択し、名前を付けます。
  4. サービスが実行される IdM ホストのホスト名を選択します。ホスト名を使用して、完全なサービスプリンシパル名を構成します。
  5. Add ボタンをクリックして、新しいサービスプリンシパルを保存します。
  6. ipa-getkeytab コマンドを使用して、サービスプリンシパルの新規 keytab を生成、割り当てます。
    [root@ipaserver ~]# # ipa-getkeytab -s ipaserver.example.com -p HTTP/server.example.com -k /etc/httpd/conf/krb5.keytab -e aes256-cts
    • レルム名はオプションです。IdM サーバーは、設定される Kerberos レルムを自動的に追加します。別のレルムを指定することはできません。
    • Kerberos と連携させるには、DNS A レコードに対してホスト名を解決する必要があります。必要な場合は、--force フラグを使用して強制的にプリンシパルを作成することができます。
    • -e 引数では、keytab に含める暗号タイプの一覧を提供します。これはデフォルトの暗号化タイプに優先します。エントリーのリストは、同一コマンドでオプションを複数回使用するか、--option={val1,val2,val3} のように中括弧内にオプションをコンマ区切りの一覧で記載します。

    警告

    新たなキーを作成すると、指定されたプリンシパルの秘密がリセットされます。つまり、そのプリンシパルの他の keytab すべてが無効になります。

16.1.2. コマンドラインでのサービスと Keytab の追加

  1. サービスプリンシパルを作成します。サービスは、service/FQDN といった名前で認識されます。
    # ipa service-add serviceName/hostname
    例を示します。
    $ ipa service-add HTTP/server.example.com
    -------------------------------------------------------
    Added service "HTTP/server.example.com@EXAMPLE.COM"
    -------------------------------------------------------
      Principal: HTTP/server.example.com@EXAMPLE.COM
      Managed by: ipaserver.example.com
  2. ipa-getkeytab コマンドでサービス keytab ファイルを作成します。このコマンドは、IdM ドメイン内のクライアント上で実行します。(実際には、IdM サーバーまたはクライアント上でコマンドを実行して、キーを適切なマシンにコピーすることが可能です。ただし、サービスが作成されるマシン上でこのコマンドを実行することが最もシンプルな方法です。)
    このコマンドでは、Kerberos サービスプリンシパル (-p)、IdM サーバー名 (-s)、書き込みファイル (-k)、および暗号化方法 (-e) が必要になります。keytab をサービスの適切なディレクトリーにコピーしてください。
    例を示します。
    # ipa-getkeytab -s server.example.com -p HTTP/server.example.com -k /etc/httpd/conf/krb5.keytab -e aes256-cts
    • レルム名はオプションです。IdM サーバーは、設定される Kerberos レルムを自動的に追加します。別のレルムを指定することはできません。
    • Kerberos と連携させるには、DNS A レコードに対してホスト名を解決する必要があります。必要な場合は、--force フラグを使用して強制的にプリンシパルを作成することができます。
    • -e 引数では、keytab に含める暗号タイプをコンマ区切りのリストで提供します。これはデフォルトの暗号化タイプに優先します。エントリーのリストは、同一コマンドでオプションを複数回使用するか、--option={val1,val2,val3} のように中括弧内にオプションをコンマ区切りの一覧で記載します。

    警告

    ipa-getkeytab コマンドは、指定されたプリンシパルの秘密をリセットします。つまり、そのプリンシパルの他の keytab すべてが無効になります。