动态(变量)身份断言在 apache knox



我想以特定用户(userX(的身份通过knox连接到HiveServer2,并且不需要任何身份验证。为此,我将"身份断言"与"匿名身份验证提供程序"一起使用。

在我的沙箱中.xml(存在于拓扑中(,我使用了以下代码:

<provider>
<role>authentication</role>
<name>Anonymous</name>
<enabled>true</enabled>
</provider>
<provider>
<role>identity-assertion</role>
<name>Default</name>
<enabled>true</enabled>
<param>
<name>principal.mapping</name>
<value>anonymous=userX;</value>
</param>
</provider>

这工作正常,但我希望 userX 是一个变量,我想通过 jdbc url 命令接收这个变量。

我正在使用的命令:

beeline -u "jdbc:hive2://GATEWAY-HOST:GATEWAY-PORT/;ssl=true;sslTrustStore={gateway.jks location};trustStorePassword={master-key};transportMode=http;httpPath=gateway/sandbox/hive"

假设我想以"UserABC"的身份建立连接,我该如何实现? 如何在 jdbc url 中传递这个 UserABC 以及沙箱中需要哪些更改.xml以选择该变量 userId。

为此,您可以使用 HeaderPreAuth 联合身份验证提供程序,我还要回应文档中表达的警告,即您需要配置适当的网络安全,否则此提供程序将使网关暴露给身份欺骗。

最新更新