请阐述 Hadoop 安全机制的总体设计布局,并重点说明 Kerberos 在 Hadoop 安全体系中具体承担了哪些功能与职责?
考察说明
考察对 Hadoop 安全架构的整体理解以及对 Kerberos 认证核心作用的认识。
回答思路
- 【回答框架 1】Hadoop 安全机制的核心目标是解决认证、授权、审计三大问题。认证通过 Kerberos 实现用户与服务之间的双向身份确认,授权由 HDFS 文件权限和 YARN 队列 ACL 等实现,审计依赖日志记录。
- 【回答框架 2】Kerberos 在 Hadoop 中扮演认证中心角色,采用票据方式。客户端首先向 KDC 申请 TGT,然后凭借 TGT 获取访问各服务(如 NameNode、ResourceManager)的服务票据,完成单点登录与安全认证。
- 【回答框架 3】Hadoop 各组件通过 SASL 集成 Kerberos,例如 RPC 层使用 GSSAPI 机制对通信双方进行身份验证。启用安全模式后,所有 RPC 调用都必须经过 Kerberos 认证。
- 【回答框架 4】Kerberos 只解决认证问题,不负责授权。授权由 Hadoop 自身基于用户身份进行,如 HDFS 的 POSIX 权限模型和基于 ACL 的扩展,以及 YARN 中的队列访问控制列表。
- 【回答框架 5】此外,Hadoop 还通过 Token 机制(如 Delegation Token)在 Kerberos 基础上提供长时运行的作业访问服务的能力,减少频繁与 KDC 交互的开销。
- 【关键点 1】Hadoop 安全机制涵盖认证、授权、审计三层,Kerberos 主要用于认证。
- 【关键点 2】Kerberos 通过 TGT 和服务票据实现双向认证与单点登录。
- 【关键点 3】Hadoop 使用 SASL/GSSAPI 集成 Kerberos,保护 RPC 通信。
- 【关键点 4】授权由 Hadoop 自身负责,与 Kerberos 无关。
- 【关键点 5】Delegation Token 等机制在 Kerberos 基础上优化性能。
- 【易错点 1】误将 Kerberos 视为授权机制,实际它仅负责身份认证。
- 【易错点 2】忽略 Hadoop 安全需要配置多个组件(如 HDFS、YARN)以及对应的 keytab 和 principal,否则认证失败。
- 【易错点 3】认为启用 Kerberos 后就能防止所有攻击,实际上数据加密、权限控制等仍需额外配置。