Хобрук: Ваш путь к мастерству в программировании

WSO2 APIM шифрует учетные данные для нескольких шлюзов

После предыдущего вопроса - наличие WSO2 APIM 2.6.0 с несколькими шлюзами (внутренними, dmz) мы хотели бы зашифровать учетные данные для шлюзов.

Моя идея - добиться чего-то вроде:

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

С одним шлюзом это довольно просто, и это работает - мы можем определить свойство APIGateway.Password, которое будет использоваться с ciphertool. Свойство уже предопределено в cipher-tool.properties (по умолчанию закомментировано)

Для меня странно, что имя псевдонима так или иначе зависит от пути XML, мы не можем использовать какое-либо имя псевдонима. Даже переименование псевдонима в APIGateway.Environment.Password (или APIGateway.Internal.Password) приводит к тому, что пароль не разрешается. Есть идеи, каковы правила именования псевдонимов?

Если для издателя определено несколько шлюзов - как мы можем различить секретные псевдонимы для нескольких шлюзов? Это определенно работает для источников данных. Я могу определить псевдонимы в cipher-tool и cipher-text, учетные данные правильно зашифрованы, но, по-видимому, не разрешены

Возможно ли вообще зашифровывать учетные данные для нескольких шлюзов? Я пропустил / неправильно понял какие-либо правила именования? Или мне просто поискать опечатки в моем конфиге?

28.03.2019

  • вы должны установить псевдоним в двух файлах: cipher-text.properties и cipher-tool.properties 28.03.2019
  • @daggett Я сделал, он работает для одного шлюза с определенным псевдонимом. Если я использую разные псевдонимы для 2 шлюзов, я не могу опубликовать какой-либо API (неудачная аутентификация) 28.03.2019
  • вы изменили оба файла? если да, пожалуйста, добавьте к своему вопросу изменения в cipher-text.properties 28.03.2019

Новые материалы

Как симулировать серию пенальти на Python с помощью симуляции Монте-Карло, часть 1: генерация функций
Серия пенальти была огромным испытанием во время чемпионата мира по футболу. Они вызвали много споров в социальных сетях и новостных агентствах. Даже финальный матч турнира решался по..

AST для разработчиков JavaScript
TL; DR Эта статья - мое выступление на недавно состоявшейся конференции Stockholm ReactJS Meetup. Вы можете посмотреть слайды здесь..

5 проектов на Python, которые нужно создать прямо сейчас!
Добро пожаловать! Python — один из моих любимых языков программирования. Если вы новичок в этом языке, перейдите по ссылке ниже, чтобы узнать о нем больше:

Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..

«Очень простой» эволюционный подход к обучению с подкреплением
В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..

Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

Фишинг — Упаковано и зашифровано
Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..