第 29 章 管理 Kerberos 域
本章论述了管理身份管理服务器的 Kerberos 密钥分发中心(KDC)组件。
重要
不要使用
kadmin
或 kadmin.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 天。
在服务器端
服务器端进行一个双阶段评估:
- 如果存在这些策略,客户端请求的值将与 user_name- 特定 Kerberos ticket 策略的
--maxlife
设置进行比较,并选择这两个策略的较低值。如果 user_name- 特定的 Kerberos ticket 策略不存在,客户端发送的值将与全局 Kerberos ticket 策略的--maxlife
设置进行比较,并选择两者的较低值。有关全局和用户特定 Kerberos ticket 策略的详情,请参考 第 29.1.2 节 “全局和特定于用户的 Kerberos 票据策略”。 - 上一步中选择的值与两个其他值进行比较:
/var/kerberos/krb5kdc/kdc.conf
文件中的max_life
设置的值- LDAP 条目的
krbMaxTicketLife
属性中设置的值带有可分辨名称(DN): krbPrincipalName=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 策略,您可以使用:
- Identity Management web UI: see “Web UI:配置全局 Kerberos 票据策略”一节
- 命令行:请查看 “命令行:配置全局 Kerberos 票据策略”一节
属性 | 介绍 | 示例 |
---|---|---|
最大续订数 |
用户可在 Kerberos 票据到期后续订 Kerberos 票据的时间(以秒为单位)。续订期后,用户必须使用
kinit 工具登录才能获取新的票据。
要续订票据,请使用 kinit -R 命令。
|
最大续订 = 604800
票据到期后,用户可以在接下来的 7 天(604,800 秒)内续订。
|
最大生命周期 | Kerberos 票据的生命周期(以秒为单位)。Kerberos ticket 处于活动状态的时间段。 |
最大生命周期 = 86400
票据在签发后 24 小时(86,400 秒)过期。
|
Web UI:配置全局 Kerberos 票据策略
- 选择
。 - 定义所需的值:
- 在 Max renew 字段中,输入 Kerberos 票据的最大续订周期。
- 在 Max Life 字段中,输入 Kerberos 票据的最大生命周期。
图 29.1. 配置全局 Kerberos 票据策略
- 点击。
命令行:配置全局 Kerberos 票据策略
修改全局 Kerberos ticket 策略:
- 使用 ipa krbtpolicy-mod 命令,并至少传递以下选项之一:
--maxrenew
定义 Kerberos 票据的最大续订周期--maxlife
定义 Kerberos ticket 的最长生命周期
例如,要更改最长生命周期:$ ipa krbtpolicy-mod --maxlife=80000 Max life: 80000 Max renew: 604800
将全局 Kerberos ticket 策略重置为原始默认值:
- 使用 ipa krbtpolicy-reset 命令。
- 可选。使用 ipa krbtpolicy-show 命令验证当前的设置。
有关 ipa krbtpolicy-mod 和 ipa krbtpolicy-reset 的详细信息,请使用它们传递
--help
选项。
29.1.4. 配置用户特定的 Kerberos 票据策略
要修改特定用户的 Kerberos ticket 策略:
- 使用 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
- 可选。使用 ipa krbtpolicy-show user_name 命令显示指定用户的当前值。
新策略会立即对用户请求的下一个 Kerberos 票据(如使用
kinit
工具时)生效。
要重置用户特定的 Kerberos 票据策略,请使用 ipa krbtpolicy-reset user_name 命令。命令清除特定于用户的值,之后身份管理应用全局策略值。
有关 ipa krbtpolicy-mod 和 ipa krbtpolicy-reset 的详细信息,请使用它们传递
--help
选项。