搜索

41.12. 委托对主机和服务的访问

download PDF

通过委托对 IdM 域中主机和服务的访问权限,您可以为另一个主机或服务检索 keytab 和证书。

每个主机和服务都有一个 managedby 条目,其列出了哪些主机和服务可以管理它。默认情况下,主机可以管理自身及其所有服务。您可以配置一个主机来管理其他主机,或者管理 IdM 域中其他主机上的服务。

注意

通过 managedby 条目将主机的授权委托给其他主机时,它不会自动为该主机上的所有服务授予管理权限。您必须独立执行每个委托。

主机和服务委托

Diagram illustrates an IdM domain with three hosts: Host 1

41.12.1. 委托服务管理

您可以将权限委托给主机,以管理域中其他主机上的服务。

当您将权限委托给主机来管理其他主机时,它不会自动包含管理其服务的权限。您必须单独委托服务管理。

流程

  1. 使用 service-add-host 命令将服务管理委托给特定的主机:

    ipa service-add-host principal --hosts=<hostname>

    您必须使用 principal 参数指定服务主体,使用 --hosts 选项指定带有控制的主机。

    例如:

    [root@server ~]# ipa service-add HTTP/web.example.com
    [root@server ~]# ipa service-add-host HTTP/web.example.com --hosts=client1.example.com
  2. 主机委托授权后,主机主体可用于管理服务:

    [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
  3. 要为委托的服务生成证书,请使用委托的颁发机构在主机上创建一个证书请求:

    [root@client1]# kinit -kt /etc/krb5.keytab host/client1.example.com
    [root@client1]# openssl req -newkey rsa:2048 -subj '/CN=web.example.com/O=EXAMPLE.COM' -keyout /etc/pki/tls/web.key -out /tmp/web.csr -nodes
    Generating a 2048 bit RSA private key
    .............................................................+++
    ............................................................................................+++
    Writing new private key to '/etc/pki/tls/private/web.key'
  4. 使用 cert-request 工具来提交证书请求,并加载认证信息:

    [root@client1]# ipa cert-request --principal=HTTP/web.example.com web.csr
    Certificate: MIICETCCAXqgA...[snip]
    Subject: CN=web.example.com,O=EXAMPLE.COM
    Issuer: CN=EXAMPLE.COM Certificate Authority
    Not Before: Tue Feb 08 18:51:51 2011 UTC
    Not After: Mon Feb 08 18:51:51 2016 UTC
    Serial number: 1005

41.12.2. 委托主机管理

您可以使用 host-add-managedby 工具为主机委托授权,来管理其他主机。这会创建一个 managedby 条目。创建 managedby 条目后,管理主机可以检索它管理的主机的 keytab。

流程

  1. 以 admin 用户身份登录:

    [root@server ~]# kinit admin
  2. 添加 managedby 条目。例如,这通过 client2 将授权委托给 client1

    [root@server ~]# ipa host-add-managedby client2.example.com --hosts=client1.example.com
  3. 获取作为主机 client1 的票据:

    [root@client1 ~]# kinit -kt /etc/krb5.keytab host/client1.example.com
  4. 检索 client2 的 keytab:

    [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

41.12.3. 访问委托的服务

当客户端有委托的授权时,它可以在本地机器上为服务和主机的主体获取 keytab。

使用 kinit 命令,使用 -k 选项加载 keytab ,使用 -t 选项指定 keytab。主体格式为 <principal>/hostname@REALM。对于服务,将 <principal> 替换为服务名称,如 HTTP。对于主机,使用 host 作为主体。

流程

  • 要访问主机:

    [root@server ~]# kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM
  • 要访问服务:

    [root@server ~]# kinit -kt /etc/httpd/conf/krb5.keytab HTTP/ipa.example.com@EXAMPLE.COM
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.