ssl - 以二进制模式与 Spark Thrift 服务器的通信是否安全传输?
问题描述
在我的组织中,我们有一个使用 HTTP 和 SSL 的 Spark Thrift 服务器设置,因为有一个基本假设是二进制模式没有通过网络安全加密,因此可能会泄露凭据或敏感查询数据。
我已经用Google搜索过,扫描阅读了一篇研究论文并查看了 Thrift 协议规范以寻找明确的答案,但无济于事。似乎完全没有提及身份验证和加密意味着它应该由一个封装的网络层来处理?
二进制模式下的 Spark Thrift 服务器传输未加密或其他不安全数据的假设是否正确?
解决方案
Thrift 协议确实包括低级传输:
在 Spark Thrift 服务器的上下文中,这可以在hive-site.xml
文件中启用,如下所示:
<property>
<name>hive.server2.use.SSL</name>
<value>true</value>
</property>
结合默认的 TCP Thrift 协议,这确实加密了 thrift 协议流量。这方面没有很多明确的文档,但由于 Spark Thrift 服务器是 Hive2 服务器的一个分支,我发现这是关于设置 Hive2 服务器的,这意味着这是可能的:
最后一个问题似乎是某些工具,尤其是 Power BI 似乎无法将 SSL 用于“标准”(TCP Thrift 协议)连接。
推荐阅读
- ios - How to keep updating a constant value in Swift
- razor-pages - ASP.NET Core 3.1 Razor 页面:如何从索引页面自动重定向到登录页面?
- azure - 如何在 ADF V2 的复制活动中替换 foreach 循环内的数组值
- c# - C# WPF 全局样式在代码的某些部分不起作用
- api - CORS - Api 网关、lambda 和 vue.js
- python - 如何获得乌龟应该移动的角度?
- python - Sublime Text 3 Python3 构建不起作用?
- apache-kafka - 在 nifi 集群优化上使用KafkaRecord
- macos - 使用 dtrace、lldb 或 gdb 查找哪个文件或代码行负责 stdout 或 stderr 中的一行输出?
- angular - 浏览器列表:caniuse-lite 已过时 - Microsoft.AspNetCore.SpaServices[0]