Настройка портов WCF в развертывании BTDF

В настоящее время для настройки портов WCF в BizTalk я даю имя пользователя и пароль в файле PortBindingsMaster, который может видеть каждый. Это серьезная дыра в безопасности. Я хочу, чтобы мое имя пользователя и пароль были зашифрованы, а также во время развертывания BTDF он должен настроить соответствующие порты WCF с соответствующим именем пользователя и паролем.

Моя текущая конфигурация для CustomProps одного из портов WCF приведена ниже:

     <CustomProps>
       <OrderedProcessing vt="11">0</OrderedProcessing>
       <BindingConfiguration vt="8">
         <binding   name="oracleDBBinding" pollWhileDataFound="true"/>
       </BindingConfiguration>
       <InboundBodyPathExpression vt="8" />
       <OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>
       <AffiliateApplicationName vt="8" />
       <BindingType vt="8">oracleDBBinding</BindingType>
       <DisableLocationOnFailure vt="11">0</DisableLocationOnFailure>
       <InboundBodyLocation vt="8">UseBodyElement</InboundBodyLocation>
       <OutboundXmlTemplate vt="8">
         <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml" />
       </OutboundXmlTemplate>
       <IncludeExceptionDetailInFaults vt="11">0</IncludeExceptionDetailInFaults>
       <InboundNodeEncoding vt="8">Xml</InboundNodeEncoding>
       <CredentialType vt="8">UserAccount</CredentialType>
       <UserName vt="8">Adminxyz</UserName>
       <Password vt="8">angf123#%</Password>             
       <SuspendMessageOnFailure vt="11">0</SuspendMessageOnFailure>
     </CustomProps>

Как видите, я указываю имя пользователя и пароль в файле PortBindingsMaster. Я не хочу добавлять это в файл PortBindingsMaster. Любая помощь будет оценена.

Примечание. У меня есть еще одно ограничение: я не могу даже добавить имя пользователя и пароль в файл настроек среды.


person Siddharth Singh    schedule 19.05.2017    source источник


Ответы (2)


Для одного конкретного клиента я написал расширение WCF (MessageInspector), которое извлекает имя пользователя и пароль из SSO и вставляет их в запрос.

Это расскажет вам больше об инспекторах сообщений WCF: https://msdn.microsoft.com/en-us/library/aa717047(v=vs.110).aspx

Это именно то, что вам нужно для хранения/получения данных из SSO: https://seroter.wordpress.com/2007/09/21/biztalk-sso-configuration-data-storage-tool/

Что вам нужно сделать, так это сохранить значения в SSO с помощью инструмента. Затем ваш инспектор сообщений извлечет их и поместит в запрос перед отправкой. Они даже не будут отображаться в отслеживании BizTalk, так как они добавляются только после отслеживания! (тогда это было требованием и для меня).

Они могут быть разными в каждой среде, в которой вам нужно выполнить развертывание. Он также предлагает администраторам возможность сворачивать/изменять пароли без необходимости настраивать или изменять что-либо в ваших привязках!

Надеюсь, это поможет, Питер.

person Pieter Vandenheede    schedule 19.05.2017

Другой вариант — тоже SSO, но использовать настройки SSO Affiliate на порту, если он есть в адаптере. См. ответ, который я сделал для Как я могу установить Безопасно ли использовать учетные данные адаптера SB-Messaging?

При таком подходе вы сохраняете учетные данные в SSO как партнерское приложение и сопоставляете учетные данные BizTalk с вашими целевыми учетными данными. Вам также необходимо создать билет единого входа, но это легко сделать с помощью BRE Pipeline Framework.

Одним из преимуществ этого подхода является то, что вам нужно создать и установить учетные данные только один раз для каждой среды, и они сохраняются даже при отмене развертывания и повторном развертывании с использованием BTDF.

person Dijkgraaf    schedule 21.05.2017