43.10. 委托对主机和服务的访问
通过委托对 IdM 域中主机和服务的访问权限,您可以为另一个主机或服务检索 keytab 和证书。
每个主机和服务都有一个 managedby
条目,其列出了哪些主机和服务可以管理它。默认情况下,主机可以管理自身及其所有服务。您可以配置一个主机来管理其他主机,或者管理 IdM 域中其他主机上的服务。
通过 managedby
条目将主机的授权委托给其他主机时,它不会自动为该主机上的所有服务授予管理权限。您必须独立执行每个委托。
主机和服务委托
43.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.com
Copy 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.keytab
Copy 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
43.10.2. 委托主机管理 复制链接链接已复制到粘贴板!
您可以使用 host-add-managedby
工具为主机委托授权,来管理其他主机。这会创建一个 managedby
条目。创建 managedby
条目后,管理主机可以检索它管理的主机的 keytab。
流程
以 admin 用户身份登录:
kinit admin
[root@server ~]# kinit admin
Copy 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.com
Copy 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.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索 client2 的 keytab:
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.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
43.10.3. 访问委派的服务 复制链接链接已复制到粘贴板!
当客户端委托授权时,可以为服务和主机的本地计算机上的主体获取 keytab。
使用 kinit
命令,使用 -k
选项来加载 keytab 和 a -t
选项来指定 keytab。主体格式为 < principal>/hostname@REALM
。对于服务,将 & lt;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.COM
Copy 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.COM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow