安全化 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 网关只需要一个服务主体,配置如下: