第 29 章 管理 Kerberos 域


本章论述了管理身份管理服务器的 Kerberos 密钥分发中心(KDC)组件。
重要
不要使用 kadminkadmin.local 工具来管理身份管理 Kerberos 策略。按照本指南所述,使用原生身份管理命令行工具。
如果您尝试使用上述 Kerberos 工具管理身份管理策略,其中一些操作不会影响其 Directory 服务器实例中存储的身份管理配置。

29.1. 管理 Kerberos 票据策略

身份管理中的 Kerberos ticket 策略设置对票据持续时间和续订的限制。使用以下步骤,您可以为在身份管理服务器上运行的 Kerberos 密钥分发中心(KDC)配置 Kerberos ticket 策略。

29.1.1. 确定 Kerberos Ticket 的生命周期

当身份管理服务器确定身份管理客户端代表 user_name 请求 Kerberos 票据后授予的票据生命周期时,会考虑几个参数。首先,客户端评估发生,它根据 /etc/krb5.conf 文件中的 kinit 命令和 ticket_lifetime 设置计算要请求的值。然后,该值将发送到进行服务器端评估的身份管理服务器。如果请求的生命周期低于全局设置允许的范围,则会授予请求的生命周期。否则,授予的生命周期是全局设置允许的值。
客户端代表 user_name 请求的生命周期,如下所示:

在客户端

  • 如果您使用 -l 选项在 kinit 命令本身中显式状态 user_name 的值,例如:
    $ kinit user_name -l 90000
    此例中为 90000 秒,客户端代表 user_name 请求该值。
  • 否则,如果没有将 lifetime 值作为 kinit user_name命令的参数 传递,客户端 /etc/krb5.conf 文件中的 ticket_lifetime 设置的值供客户端代表 user_name 使用。如果在 /etc/krb5.conf 文件中没有指定值,则使用初始票据请求的默认 IdM 值,即 1 天。

在服务器端

服务器端进行一个双阶段评估:
  1. 如果存在这些策略,客户端请求的值将与 user_name- 特定 Kerberos ticket 策略的 --maxlife 设置进行比较,并选择这两个策略的较低值。如果 user_name- 特定的 Kerberos ticket 策略不存在,客户端发送的值将与全局 Kerberos ticket 策略的 --maxlife 设置进行比较,并选择两者的较低值。有关全局和用户特定 Kerberos ticket 策略的详情,请参考 第 29.1.2 节 “全局和特定于用户的 Kerberos 票据策略”
  2. 上一步中选择的值与两个其他值进行比较:
    • /var/kerberos/krb5kdc/kdc.conf 文件中的 max_life 设置的值
    • LDAP 条目的 krbMaxTicketLife 属性中设置的值带有可分辨名称(DN): krb PrincipalName=krbtgt/REALM_NAME@ REALM_NAME @REALM_NAME,cn=REALM_NAME,cn=kerberos,domain_name
    在授予 user_name 的 Kerberos ticket 的生命周期内,最终选择了三个值中最低的值。

29.1.2. 全局和特定于用户的 Kerberos 票据策略

您可以重新定义全局 Kerberos ticket 策略,并针对个人用户定义其他策略。
全球 Kerberos ticket 策略
全局策略适用于身份管理 Kerberos 域内发布的所有票据。
用户特定的 Kerberos ticket 策略
特定于用户的策略仅应用到关联的用户帐户。例如,特定于用户的 Kerberos 票据策略可为 admin 用户定义较长的最大票据生命周期。
特定于用户的策略优先于全局策略。

29.1.3. 配置全局 Kerberos 票据策略

要配置全局 Kerberos ticket 策略,您可以使用:
表 29.1. 支持的 Kerberos Ticket 策略属性
属性 介绍 示例
最大续订数
用户可在 Kerberos 票据到期后续订 Kerberos 票据的时间(以秒为单位)。续订期后,用户必须使用 kinit 工具登录才能获取新的票据。
要续订票据,请使用 kinit -R 命令。
最大续订 = 604800
票据到期后,用户可以在接下来的 7 天(604,800 秒)内续订。
最大生命周期 Kerberos 票据的生命周期(以秒为单位)。Kerberos ticket 处于活动状态的时间段。
最大生命周期 = 86400
票据在签发后 24 小时(86,400 秒)过期。

Web UI:配置全局 Kerberos 票据策略

  1. 选择 Policy Kerberos Ticket Policy
  2. 定义所需的值:
    1. Max renew 字段中,输入 Kerberos 票据的最大续订周期。
    2. Max Life 字段中,输入 Kerberos 票据的最大生命周期。

      图 29.1. 配置全局 Kerberos 票据策略

      配置全局 Kerberos 票据策略
  3. 点击 Save

命令行:配置全局 Kerberos 票据策略

修改全局 Kerberos ticket 策略:
  • 使用 ipa krbtpolicy-mod 命令,并至少传递以下选项之一:
    • --maxrenew 定义 Kerberos 票据的最大续订周期
    • --maxlife 定义 Kerberos ticket 的最长生命周期
    例如,要更改最长生命周期:
    $ ipa krbtpolicy-mod --maxlife=80000
    Max life: 80000
    Max renew: 604800
将全局 Kerberos ticket 策略重置为原始默认值:
  1. 使用 ipa krbtpolicy-reset 命令。
  2. 可选。使用 ipa krbtpolicy-show 命令验证当前的设置。
有关 ipa krbtpolicy-modipa krbtpolicy-reset 的详细信息,请使用它们传递 --help 选项。

29.1.4. 配置用户特定的 Kerberos 票据策略

要修改特定用户的 Kerberos ticket 策略:
  1. 使用 ipa krbtpolicy-mod user_name 命令,并至少传递以下选项之一:
    • --maxrenew 定义 Kerberos 票据的最大续订周期
    • --maxlife 定义 Kerberos ticket 的最长生命周期
    如果您仅定义其中一个属性,身份管理将对另一个属性应用全局 Kerberos ticket 策略值。
    例如,要更改 admin 用户的最大生命周期:
    $ ipa krbtpolicy-mod admin --maxlife=160000
    Max life: 80000
    Max renew: 604800
  2. 可选。使用 ipa krbtpolicy-show user_name 命令显示指定用户的当前值。
新策略会立即对用户请求的下一个 Kerberos 票据(如使用 kinit 工具时)生效。
要重置用户特定的 Kerberos 票据策略,请使用 ipa krbtpolicy-reset user_name 命令。命令清除特定于用户的值,之后身份管理应用全局策略值。
有关 ipa krbtpolicy-modipa krbtpolicy-reset 的详细信息,请使用它们传递 --help 选项。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.