安全化 Ozone
Kerberos
Ozone 在这方面与 HDFS 保持一致,但不久之后将 默认启用安全机制 。目前,Ozone 集群启用安全机制需要将配置 ozone.security.enabled 设置为 true ,以及将 hadoop.security.authentication 设置为 kerberos 。
Tokens
Ozone 使用 token 的方法来防止 Kerberos 服务器负载过重,当每秒处理上千个请求时,Kerberos 可能无法很好地工作。所以,每次当用户完成一次认证之后,Ozone 会向用户颁发代理 token 和块 token,应用程序可以使用这些 token 来对集群进行特定的操作,就像它们持有 kerberos 凭据一样,Ozone 支持以下类型的 token。
代理 token 允许应用模拟用户的 kerberos 凭据,它基于 kerberos 的身份认证,由 OM 颁发,当集群启用安全机制时,代理 token 功能默认启用。
块 Token
S3 使用了一种不一样的共享秘密的安全机制,Ozone 支持 AWS Signature Version 4 协议,从用户的角度来看,Ozone 的 s3 感觉与 AWS S3 无异。
S3 token 功能在启用安全机制的情况下也默认开启。
Ozone 的每个服务进程都需要一个 Kerberos 服务主体名和对应的 文件。
Storage Container Manager
SCM 需要两个 Kerberos 主体,以及两个对应的 keytab 文件。
和 SCM 一样,OM 也需要两个 Kerberos 主体和对应的 keytab 文件。
S3 网关
S3 网关只需要一个服务主体,配置如下: