在previous question之后-具有带有多个网关(内部,dmz)的WSO2 APIM 2.6.0,我们希望对网关的凭据进行加密。
我的想法是实现以下目标:
api-manager.xml
<Environment api-console="true" type="hybrid">
<Name>Internal</Name>
<Description>Internal GW</Description>
<ServerURL>https://localhost:${mgt.transport.https.port}${carbon.context}services/</ServerURL>
<Username>admin</Username>
<Password svns:secretAlias="APIGateway.Internal.Password>password</Password>
<GatewayEndpoint>https://internal-host:8243</GatewayEndpoint>
<GatewayWSEndpoint>ws://${carbon.local.ip}:9099</GatewayWSEndpoint>
</Environment>
<Environment api-console="true" type="hybrid">
<Name>External</Name>
<Description>DMZ GW</Description>
<ServerURL>https://dmz-host:9444${carbon.context}services/</ServerURL>
<Username>admin</Username>
<Password svns:secretAlias="APIGateway.External.Password">password</Password>
<GatewayEndpoint>https://dmz-host:8244</GatewayEndpoint>
<GatewayWSEndpoint>ws://${carbon.local.ip}:9099</GatewayWSEndpoint>
</Environment>
cipher-tool.properties
APIGateway.Internal.Password=repository/conf/api-manager.xml//APIManager/APIGateway/Environments/Environment[Name='Internal']/Password,false
APIGateway.External.Password=repository/conf/api-manager.xml//APIManager/APIGateway/Environments/Environment[Name='External']/Password,false
使用单个网关,这非常简单并且可以正常工作-我们可以定义与{em> ciphertool 一起使用的APIGateway.Password
属性。该属性已经在cipher-tool.properties中进行了预定义(默认情况下已注释掉)
对于我来说,奇怪的是别名的名称某种程度上取决于XML路径,我们不能使用任何别名。即使将别名重命名为APIGateway.Environment.Password
(或APIGateway.Internal.Password),也会导致密码无法解析。 您知道别名的命名规则是什么吗?
为发布者定义多个网关时-我们如何区分多个网关的秘密别名?它肯定以某种方式适用于数据源。我可以在密码工具和密码文本中定义别名,凭据已正确加密,但显然无法解析
甚至可能为多个网关加密凭据吗?我是否错过/误解了任何命名规则?还是应该在配置中搜索拼写错误?