16.4. 複数のサーバー向けの既存のキータブ取得

クラスターの環境などのシナリオでは、共通のホスト名を使用するサービスに対して、異なるマシンで同じキータブファイルが必要な場合があります。各ホストで同じキータブを取得するには、IdM コマンドを使用することができます。
共通のホスト名とサービスプリンシパルを準備するには、IdM サーバーで以下のコマンドを実行します。
  1. admin ユーザーとして認証を行います。
    [root@ipaserver ~]# kinit admin
  2. このホスト名を共有する全 IP アドレスに対して、共通の正引き DNS レコードを追加します。
    [root@ipaserver ~]# ipa dnsrecord-add idm.example.com cluster --a-rec={192.0.2.40,192.0.2.41}
      Record name: cluster
        A record: 192.0.2.40, 192.0.2.41
  3. 共通の DNS 名に対して新規ホストエントリーオブジェクトを作成します。
    [root@ipaserver ~]# ipa host-add cluster.idm.example.com
    ------------------------------------
    Added host "cluster.idm.example.com"
    ------------------------------------
      Host name: cluster.idm.example.com
      Principal name: host/cluster.idm.example.com@IDM.EXAMPLE.COM
      Password: False
      Keytab: False
      Managed by: cluster.idm.example.com
  4. ホストのサービスプリンシパルを追加します。
    [root@ipaserver ~]# ipa service-add HTTP/cluster.idm.example.com
    ------------------------------------------------------------
    Added service "HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM"
    ------------------------------------------------------------
      Principal: HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM
      Managed by: cluster.idm.example.com
  5. IdM からキータブを取得できるようにサービスにホストを追加します。
    [root@ipaserver ~]# ipa service-allow-retrieve-keytab HTTP/cluster.idm.example.com --hosts={node01.idm.example.com,node02.idm.example.com}
      Principal: HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM
      Managed by: cluster.idm.example.com
      Hosts allowed to retrieve keytab: node01.idm.example.com, node02.idm.example.com
    -------------------------
    Number of members added 2
    -------------------------
  6. 新規キータブ作成パーミッションをホスト 1 台に割り当てます。
    [root@ipaserver ~]# ipa service-allow-create-keytab HTTP/cluster.idm.example.com --hosts=node01.idm.example.com
    Principal: HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM
    Managed by: cluster.idm.example.com
    Hosts allowed to retrieve keytab: node01.idm.example.com, node02.idm.example.com
    Hosts allowed to create keytab: node01.idm.example.com
    -------------------------
    Number of members added 1
    -------------------------
クライアントで以下の手順を実行します。
  1. ホストの Kerberos キータブで認証を行います。
    # kinit -kt /etc/krb5.keytab
    1. 適切なパーミッションを割り当てたクライアントで、新規キータブを生成して、ファイルに保存します。
      [root@node01 ~]# ipa-getkeytab -s ipaserver.idm.example.com -p HTTP/cluster.idm.example.com -k /tmp/client.keytab
    2. このコマンドに -r オプションを追加して、IdM サーバーから既存のキータブを取得します。
      [root@node02 ~]# ipa-getkeytab -r -s ipaserver.idm.example.com -p HTTP/cluster.idm.example.com -k /tmp/client.keytab

      警告

      -r オプションを省略すると、新しいキータブが生成される点に注意してください。これにより、このサービスプリンシパル用に以前に取得したキータブはすべて無効になります。