隐藏风暴UI的配置值

时间:2016-10-05 21:03:48

标签: java apache-storm

Storm UI显示所有配置值,包括blowfish加密密钥。有没有办法隐藏公开的一些配置值?

1 个答案:

答案 0 :(得分:1)

不,开箱即用的选项没有。

如果你只需要从UI中隐藏一些值,就会有一个简单的黑客攻击。只需编辑:

<强> [storm_home] /public/index.html

在代码的底部有一个配置参数调用。您只需要在此处进行一些小更改即可隐藏UI中的参数。例如,我想隐藏此参数 - dev.zookeeper.path

index.html (用户界面/来源)

enter image description here

$.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 属性。

index.html (UI /来源) enter image description here

$.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