2017-05-19 5 views
0

Actuellement, pour configurer les ports WCF dans BizTalk, je fournis un nom d'utilisateur et un mot de passe dans le fichier PortBindingsMaster que tout le monde peut voir. C'est un trou de sécurité majeur. Je veux garder mon nom d'utilisateur et mot de passe chiffré et également au moment du déploiement BTDF, il devrait configurer les ports WCF respectifs avec le nom d'utilisateur et mot de passe respectifs.Configuration des ports WCF dans le déploiement BTDF

Ma configuration actuelle pour CustomProps de l'un des ports WCF est donnée ci-dessous: -

 <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> 

Comme vous pouvez le voir, je fournirai le nom d'utilisateur et mot de passe dans le fichier PortBindingsMaster. Je ne veux pas ajouter cela dans le fichier PortBindingsMaster. Toute aide serait appréciée.

Remarque: - J'ai une contrainte de plus que je ne peux même pas ajouter le nom d'utilisateur et mot de passe dans mon fichier de paramètres d'environnement.

Répondre

1

Pour un client particulier, j'ai écrit une extension WCF (MessageInspector), qui récupérait le nom d'utilisateur et le mot de passe de SSO et les insérait dans la requête.

Cela vous dira plus sur les inspecteurs de message WCF: https://msdn.microsoft.com/en-us/library/aa717047(v=vs.110).aspx

C'est exactement ce dont vous avez besoin pour stocker/récupérer les données de SSO: https://seroter.wordpress.com/2007/09/21/biztalk-sso-configuration-data-storage-tool/

Ce que vous devez faire est de stocker les valeurs dans SSO en utilisant l'outil. Votre inspecteur de messages va ensuite les récupérer et les mettre dans la requête avant de les envoyer. Ils n'apparaîtront même pas dans le suivi BizTalk, car ils ne sont ajoutés qu'après le suivi! (était une exigence pour moi aussi bien à l'époque).

Elles peuvent être différentes sur chaque environnement sur lequel vous devez déployer. Il offre également la possibilité aux administrateurs de rouler/changer les mots de passe sans avoir à configurer ou modifier quoi que ce soit dans vos fixations!

Hope this helps, Pieter

1

Une autre option est également l'authentification unique, mais d'utiliser les paramètres d'authentification unique d'affiliation sur le port si l'adaptateur a. Voir la réponse que j'ai faite pour How can I set SB-Messaging adapter credentials securely?

Avec cette approche, vous stockez les informations d'identification dans SSO en tant qu'application d'affiliation et mappez les informations d'identification BizTalk à vos informations d'identification cibles. Vous devez également créer un ticket SSO, mais cela peut facilement être fait via le framework BRE Pipeline. L'un des avantages de cette approche est qu'il suffit de créer et de définir les informations d'identification une fois par environnement, et qu'elles persistent même si vous les déployez et les redéployez à l'aide de BTDF.