【共用】Principal、Keytab 与账号审计
# 共用一套账号与凭据入口
不论认证中心是平台托管还是外置 MIT KDC,启用后的账号和 Keytab 都从 权限与审计 → Kerberos 管理 进入。认证中心来源只影响 KDC 的安装、备份和进程维护,不改变服务消费 Principal 与 Keytab 的方式。
# 查看账号清单
点击 账号凭据审计 → 查看账号清单。页面按用途、账号分类、主机和凭据状态筛选,同时给出服务账号、人员账号与待处理数量。


| 类型 | 认证方式 | 典型场景 |
|---|---|---|
| 人机账号 | 密码 | 运维人员执行 kinit,不下发服务 Keytab。 |
| 机机账号 | Keytab | 服务、脚本、外部应用长期运行。 |
| 服务运行账号 | Keytab | Ambari Stack 自动创建并分发。 |
| 管理账号 | 密码或受控凭据 | KDC 管理和平台内部维护。 |
打开任意账号详情,可以查看覆盖主机、运行用户、Keytab 路径和最近操作。页面显示“凭据已下发”后,还要继续核对主机上的文件权限。
账号清单顶部会分别统计服务账号、人员账号和待处理项;过滤某个 Principal 后再打开详情,避免把服务模板账号与人工创建账号混在一起。
# 新增账号
点击 新增账号,先选择用途:

- 人机账号必须在本次页面填写密码并完成校验。
- 机机账号要填写运行用户、目标主机和 Keytab 路径。
- 不要在 Stack、脚本或正式文档里给管理密码和账号密码设置默认值。
- Principal 的 Realm 应与当前认证域一致,例如
[email protected]。
创建完成后重新打开详情页,确认账号已经纳入集群身份管理。
# 检查 Keytab 分发
从 Kerberos 管理页进入 凭据文件管理,按主机、服务、组件和分发状态筛选。

需要批量轮换时,先在页面选择凭据范围和轮换策略。当前页面采用双 KVNO 过渡,点击执行前应确认维护窗口、覆盖主机和回退条件。

主机侧可以抽查:
keytab=/etc/security/keytabs/airflow.headless.keytab
sudo stat -c '%U %G %a %n' "$keytab"
sudo klist -kte "$keytab"
sudo -u airflow kinit -kt "$keytab" [email protected]
sudo -u airflow klist
sudo -u airflow kdestroy
1
2
3
4
5
6
7
2
3
4
5
6
7
验收时同时满足:
- 页面显示已分发,目标主机数量正确。
- 文件属主、属组和权限符合服务运行用户要求。
klist -kte中的 Principal 与页面一致。- 服务运行用户可以取票,普通无关用户不能读取 Keytab。
注意
Keytab 是长期凭据。不要复制到文档目录、聊天工具或公共制品中;修复缺失凭据时使用页面提供的重新下发或轮换入口。