【问题标题】:Regarding Hadoop Security via Kerberos关于通过 Kerberos 的 Hadoop 安全性
【发布时间】:2013-02-28 03:14:30
【问题描述】:

我正在尝试了解如何在 Hadoop 中实现 Kerberos。
我已经浏览了这个文档https://issues.apache.org/jira/browse/HADOOP-4487
我也经历过基本 Kerberos 的东西 (https://www.youtube.com/watch?v=KD2Q-2ToloE)

1) Apache 文档使用词"Token",而互联网上的一般文档使用词"Ticket"

Token 和 Ticket 一样吗?

2) Apache 文档还“DataNodes 不会对其数据块的访问执行任何访问控制。

这使得未经授权的客户端可以将数据块读取为 只要她能提供它的区块ID。任何人都可以写 任意数据块到 DataNodes。"

我对此的看法:-

我可以使用以下命令从文件路径中获取块 ID:-

hadoop@Studio-1555:/opt/hadoop/hadoop-1.0.2/bin$ ./hadoop fsck /hadoop/mapred/system/jobtracker.info -files -blocks

FSCK 由 hadoop 从 /127.0.0.1 开始,路径 /hadoop/mapred/system/jobtracker.info 于 2012 年 7 月 9 日星期一 06:57:14 EDT /hadoop/mapred/system/jobtracker.info 4 个字节,1 个块:OK 0. blk_-9148080207111019586_1001 len=4 repl=1

由于我被授权访问此文件 jobtracker.info,我能够使用上述命令找到它的 blockID。
我认为如果我向这个块 ID 添加一些偏移量并写入那个数据节点。

如何在将文件写入 HDFS 时明确提及 blockID。(命令是什么?)
还有其他方式可以将任意数据块写入 DataNodes 吗?

如果我的方法有问题,请告诉我?

【问题讨论】:

  • 你有没有找到任何适当的完整方法来保护 hadoop 集群?

标签: hadoop kerberos


【解决方案1】:

Token 和 Ticket 一样吗?

没有。票证由 Kerberos 发出,然后 Hadoop 中的服务器(NameNode 或 JobTracker)发出令牌以在 Hadoop 集群内提供身份验证。例如,Hadoop 不依赖 Kerberos 来验证正在运行的任务,而是使用自己的令牌,这些令牌是基于 Kerberos 票证颁发的。

Apache 文档还“DataNodes 不会对其数据块的访问执行任何访问控制。

我猜你是从通过 BlockAccessTokens 提供访问控制 (https://issues.apache.org/jira/browse/HADOOP-4359) 的 JIRA 中获取的。假设它已打开 - 它应该在一个安全的集群中 - 如果没有这样的令牌,则无法访问数据节点上的块,该令牌由 NameNode 在通过 Kerberos 和 HDFS 自己的文件系统权限进行身份验证和授权后颁发。

【讨论】:

  • 感谢 Jakob 帮助我,对于我的第二个问题“Apache 文档还说”Datanodes 不............ ......,当访问控制未打开时。我需要知道——如何访问Datanode并任意写入数据?
【解决方案2】:

如何访问Datanode并任意写入数据?

我不确定你在这里的意思。你的意思是当用户没有权限时?正如雅各布所说 除非用户具有基于文件系统权限访问数据的权限,否则您将不会获得有效的 BlockAccessToken,假设您拥有安全的 Hadoop 集群。

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多