Storm UI显示所有配置值,包括blowfish加密密钥。有没有办法隐藏公开的一些配置值?
答案 0 :(得分:1)
不,开箱即用的选项没有。
如果你只需要从UI中隐藏一些值,就会有一个简单的黑客攻击。只需编辑:
<强> [storm_home] /public/index.html 强>
在代码的底部有一个配置参数调用。您只需要在此处进行一些小更改即可隐藏UI中的参数。例如,我想隐藏此参数 - dev.zookeeper.path 。
index.html (用户界面/来源)
$.getJSON("/api/v1/cluster/configuration",function(response,status,jqXHR) {
var formattedResponse = formatConfigData(response);
$.get("/templates/index-page-template.html", function(template) {
config.append(Mustache.render($(template).filter("#configuration-template").html(),formattedResponse));
$('#nimbus-configuration-table td').jsonFormatter()
//key, value
dtAutoPage("#nimbus-configuration-table", {});
$('#nimbus-configuration [data-toggle="tooltip"]').tooltip();
});
});
现在我添加了代码来隐藏此参数并重新加载页面。没有显示 dev.zookeeper.path 属性。
$.getJSON("/api/v1/cluster/configuration",function(response,status,jqXHR) {
delete response["dev.zookeeper.path"];
var formattedResponse = formatConfigData(response);
$.get("/templates/index-page-template.html", function(template) {
config.append(Mustache.render($(template).filter("#configuration-template").html(),formattedResponse));
$('#nimbus-configuration-table td').jsonFormatter()
//key, value
dtAutoPage("#nimbus-configuration-table", {});
$('#nimbus-configuration [data-toggle="tooltip"]').tooltip();
});
});
注意:这种方式不安全,只是在UI上隐藏属性,但该属性仍可通过直接HTTP调用获得: http://[host_name]:[port]/api/v1/cluster/configuration
如果您需要真正安全的解决方案,则必须阅读安全运行Apache Storm - UI / Logviewer 部分。 http://storm.apache.org/releases/2.0.0-SNAPSHOT/SECURITY.html