第 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 的值,例如:此例中为 90000 秒,客户端代表 user_name 请求该值。kinit user_name -l 90000
$ kinit user_name -l 90000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 否则,如果没有将 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
$ ipa krbtpolicy-mod --maxlife=80000 Max life: 80000 Max renew: 604800
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将全局 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
$ ipa krbtpolicy-mod admin --maxlife=160000 Max life: 80000 Max renew: 604800
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 可选。使用 ipa krbtpolicy-show user_name 命令显示指定用户的当前值。
新策略会立即对用户请求的下一个 Kerberos 票据(如使用
kinit
工具时)生效。
要重置用户特定的 Kerberos 票据策略,请使用 ipa krbtpolicy-reset user_name 命令。命令清除特定于用户的值,之后身份管理应用全局策略值。
有关 ipa krbtpolicy-mod 和 ipa krbtpolicy-reset 的详细信息,请使用它们传递
--help
选项。