WSO2 APIM加密多个网关的凭证

时间:2019-03-28 15:07:12

标签: wso2 wso2-am

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),也会导致密码无法解析。 您知道别名的命名规则是什么吗?

为发布者定义多个网关时-我们如何区分多个网关的秘密别名?它肯定以某种方式适用于数据源。我可以在密码工具和密码文本中定义别名,凭据已正确加密,但显然无法解析

甚至可能为多个网关加密凭据吗?我是否错过/误解了任何命名规则?还是应该在配置中搜索拼写错误?

0 个答案:

没有答案