41.10. ホストとサービスへのアクセスの委譲
IdM ドメイン内のホストとサービスへのアクセスを委譲することで、別のホストまたはサービスのキータブと証明書を取得できます。
各ホストとサービスには managedby エントリーがあります。このエントリーには、そのホストまたはサービスを管理できるホストとサービスがリストされます。デフォルトでは、ホストはホスト自体とそのサービスすべてを管理できます。ホストは、IdM ドメイン内の他のホストまたは他のホスト上のサービスを管理するように設定できます。
managedby エントリーを通じてホストの権限を別のホストに委譲しても、そのホスト上のすべてのサービスに対する管理権限が自動的に付与されるわけではありません。それぞれの委譲を個別に実行する必要があります。
ホストとサービスの委譲
41.10.1. サービス管理の委譲 リンクのコピーリンクがクリップボードにコピーされました!
ドメイン内の別のホスト上のサービスを管理する権限をホストに委譲できます。
別のホストを管理する権限をホストに委譲しても、そのホストのサービスを管理する権限はホストに自動的に追加されません。サービス管理は個別に委譲する必要があります。
手順
service-add-hostコマンドを使用して、サービスの管理を特定のホストに委譲します。ipa service-add-host principal --hosts=<hostname>
ipa service-add-host principal --hosts=<hostname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow principal引数を使用してサービスプリンシパルを指定し、--hostsオプションを使用して制御権を付与するホストを指定する必要があります。以下に例を示します。
ipa service-add HTTP/web.example.com ipa service-add-host HTTP/web.example.com --hosts=client1.example.com
[root@server ~]# ipa service-add HTTP/web.example.com [root@server ~]# ipa service-add-host HTTP/web.example.com --hosts=client1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホストに権限が委譲されると、ホストプリンシパルを使用してサービスを管理できます。
kinit -kt /etc/krb5.keytab host/client1.example.com ipa-getkeytab -s server.example.com -k /tmp/test.keytab -p HTTP/web.example.com
[root@client1 ~]# kinit -kt /etc/krb5.keytab host/client1.example.com [root@client1 ~]# ipa-getkeytab -s server.example.com -k /tmp/test.keytab -p HTTP/web.example.com Keytab successfully retrieved and stored in: /tmp/test.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 委譲されたサービス用の証明書を生成するために、委譲された権限を持つホスト上で証明書要求を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cert-requestユーティリティーを使用して証明書要求を送信し、証明書情報をロードします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
41.10.2. ホスト管理の委譲 リンクのコピーリンクがクリップボードにコピーされました!
host-add-managedby ユーティリティーを使用すると、別のホストを管理する権限をホストに委譲できます。これにより、managedby エントリーが作成されます。managedby エントリーが作成されると、管理ホストが管理対象ホストのキータブを取得できるようになります。
手順
管理者ユーザーとしてログインします。
kinit admin
[root@server ~]# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow managedbyエントリーを追加します。たとえば、以下は client2 から client1 に権限を委譲します。ipa host-add-managedby client2.example.com --hosts=client1.example.com
[root@server ~]# ipa host-add-managedby client2.example.com --hosts=client1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホスト client1 としてチケットを取得します。
kinit -kt /etc/krb5.keytab host/client1.example.com
[root@client1 ~]# kinit -kt /etc/krb5.keytab host/client1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow client2 のキータブを取得します。
ipa-getkeytab -s server.example.com -k /tmp/client2.keytab -p host/client2.example.com
[root@client1 ~]# ipa-getkeytab -s server.example.com -k /tmp/client2.keytab -p host/client2.example.com Keytab successfully retrieved and stored in: /tmp/client2.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow
41.10.3. 委譲されたサービスへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
クライアントに権限が委譲されている場合、そのクライアントは、サービスとホストの両方について、ローカルマシンでプリンシパルのキータブを取得できます。
kinit コマンドで、-k オプションを使用してキータブをロードし、-t オプションを使用してキータブを指定します。プリンシパルの形式は <principal>/hostname@REALM です。サービスの場合は、<principal> をサービス名 (HTTP など) に置き換えます。ホストの場合は、host をプリンシパルとして使用します。
手順
ホストにアクセスするには、以下を実行します。
kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM
[root@server ~]# kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスにアクセスするには以下のコマンドを実行します。
kinit -kt /etc/httpd/conf/krb5.keytab HTTP/ipa.example.com@EXAMPLE.COM
[root@server ~]# kinit -kt /etc/httpd/conf/krb5.keytab HTTP/ipa.example.com@EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow