gpt4 book ai didi

hadoop - Flume-ng hdfs 安全

转载 作者:可可西里 更新时间:2023-11-01 15:36:53 28 4
gpt4 key购买 nike

我是 hadoop 和 Flume NG 的新手,我需要一些帮助。我不明白 hdfs 安全性是如何实现的。

以下是 Flume 用户指南中的配置行:

# hdfs-Cluster1-sink 的属性
agent_foo.sinks.hdfs-Cluster1-sink.type = hdfs
agent_foo.sinks.hdfs-Cluster1-sink.hdfs.path = hdfs://namenode/flume/webdata

这是否意味着任何知道我的 hdfs 路径的人都可以向我的 hdfs 写入任何数据?

最佳答案

这个问题是很久以前的,但我会尝试为任何其他处理 Flume 和 HDFS 安全性的开发人员回答这个问题。

Flume 的 HDFS sink 只需要endpoint 数据将被持久化。无论这样的端点是否安全,它完全取决于 Hadoop,而不是 Flume。

Hadoop 生态系统有多种工具和系统来实现安全性,但我们将重点放在那些原生 元素上,讨论身份验证和授权方法。

身份验证基于 Kerberos,与任何其他身份验证机制一样,它是确定某人或某物是否确实是其声明的人或物的过程。因此,通过使用 auth 仅知道 HDFS 用户名是不够的,但您必须通过先前针对 Kerberos 进行身份验证并获取票证来证明您拥有这样的用户。身份验证可以基于密码或基于 key 表;您可以将 key 表视为包含身份验证 key 的“证书文件”。

授权可以在文件系统上实现,通过决定哪些权限拥有HDFS中的任何文件夹或文件。因此,如果某个文件只有 600 个权限,那么只有它的所有者才能读取或写入它。可以使用 Hadoop ACL 等其他授权机制。

话虽这么说,如果你看看 Flume sink ,您会看到有几个关于 Kerberos 的参数:

  • hdfs.kerberosPrincipal – 用于访问安全 HDFS 的 Kerberos 用户主体
  • hdfs.kerberosKeytab – 用于访问安全 HDFS 的 Kerberos key 表

在 Kerberos 术语中,委托(delegate)人是 Kerberos 可以为其分配票证的唯一身份。因此,对于 HDFS 的每个启用用户,您将需要一个在 Kerberos 中注册的主体。如前所述,keytab 是某个主体拥有的身份验证 key 的容器。

因此,如果您想保护 HDFS,请安装 Kerberos,为每个启用的用户创建主体和 key 表,并正确配置 HDFS 接收器。此外,适当更改 HDFS 中的权限。

关于hadoop - Flume-ng hdfs 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23757875/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com