Nifi 基本身份验证实现



>Objective

NifiListenHTTP/HandleHTTPRequest处理器不支持基本身份验证,因此正如此答案所建议的那样 - 您可以使用带有RouteOnAttribute的ListenHTTP/HandleHTTPRequest处理器来验证用户名和密码。就我而言,Nifi接受纯HTTP请求,因为Nifi隐藏在Api Gateway SSL终止下。如果准确地说,Nifi会获得HTTP授权标头,由于基本身份验证客户端协议,它等于base64(username + ':' + password)

问题

如果 Nifi 以纯文本形式获得授权 HTTP 标头,那么将凭据作为敏感参数存储在 Nifi 端是否有意义?

如果是,如何根据预期的对安全地验证 HTTP 请求凭据?

如果没有,是否有其他安全的方法可以在Nifi端存储密码并实现基本身份验证?

A. 问题

我必须将预期的用户名-密码对存储在参数上下文敏感参数中。这意味着我无法从UpdateAttributeRouteOnAttribute处理器访问这些参数 = 我不知道如何验证/授权请求。

当您使用基本身份验证向HandleHttpRequest处理器发送请求时,您可以访问http.headers.Authorization属性。看起来username:passwordBasic dXNlcm5hbWU6cGFzc3dvcmQ=. 因此,您可以使用RouteOnAttribute此值是否与您的凭据匹配。您还可以从数据库中获取值进行比较。 您应该在HandleHttpResponse处理器之前评估该值。

相关内容

  • 没有找到相关文章

最新更新