2

我正在开发一个解决方案,该解决方案涉及使用 BizTalk SB-Messaging 适配器从 Azure 服务总线队列读取消息。我正在使用 BizTalk 部署框架来部署应用程序,而无需用户输入。

一些适配器可以选择使用单点登录数据库获取外部系统的凭据(选项“使用 SSO”)。SB-Messaging 适配器没有此功能,并且需要在 UI 中输入服务(在本例中为队列)的 ACS(访问控制服务)或 SAS(共享访问密钥)凭据。BTDF 也可以通过在绑定文件中输入它们来设置它们(这些特定属性上有一个属性vt="[number]"会导致它们被忽略,除非被覆盖,大概是为了阻止开发人员以明文形式存储凭据。

如何在不以明文形式保存服务总线凭据的情况下设置它们?对于这种情况,我认为写入磁盘或保存在源代码管理中的任何数据都是明文,这意味着创建包含这些凭据的绑定文件是不可接受的。

理想情况下,我希望它能够正常工作,就像支持 SSO 的适配器一样。这可能吗?

(顺便说一句,任何知道为什么微软显然没有费心实施这一点的人都欢迎发表他们的观点)

4

2 回答 2

3

是的,大多数适配器支持 SSO 附属应用程序或对用户名凭据使用单点登录,但是它们都不支持用于ACSSAS代理设置的 SSO 附属(见下表)

似乎不支持用户名凭据的 SSO 附属设置的是非常旧的适配器,奇怪的是最新的适配器。

没有 ACS、SAS 或代理设置的 SSO Affiliate 设置看起来是他们根本没想过要做的事情。

所以回答你的问题。不,看起来不可能将 SSO Affiliate 与此适配器一起使用,因为您甚至无法像使用 WCF 适配器那样添加自定义行为,这就是我们实现 oAuth 行为以使用 SSO 的方式附属公司获取 WCF-WebHttp 到 Salesforce 的凭据和机密。

另请参阅Technet 上的 BizTalk Server 2013 R2:没有单点登录功能的适配器和 BizTalk Server 2013 R2:没有单点登录功能适配器

使用单点登录或 SSO 附属 (BizTalk 2013R2)

+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| Adapter             | Receive |             |       |       |               | Send        |       |       |               |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
|                     | Use     | SSO         | ACS/  | Proxy | Endpoint      | SSO         | ACS/  | Proxy | Endpoint      |
|                     |   SSO   |   Affiliate |   SAS |       |   Behaviour   |   Affiliate |   SAS |       |   Behaviour   |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| File                | No      | No          | -     | -     | -             | No          | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| FTP                 | No      | Yes         | -     | No    | -             | Yes         | -     | No    | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| HTTP                | Yes     | -           | -     | -     | -             | Yes         | -     | No    | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| MQSeries            | No      | -           | -     | -     | -             | Yes         | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| MSMQ                | No      | No          | -     | -     | -             | No          | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| POP3                | No      | No          | -     | -     | -             | -           | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| SB-Messaging        | No      | -           | No    | -     | -             | -           | No    | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| SFTP                | No      | No          | -     | No    | -             | No          | -     | No    | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| SMTP                | -       | -           | -     | -     | -             | No          | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| SOAP                | Yes     | -           | -     | -     | -             | Yes         | -     | No    | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| SQL                 | No      | No          | -     | -     | -             | No          | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-BasicHttp       | Yes     | -           | -     | -     | in WCF-Custom | Yes         | No    | No    | in WCF-Custom |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-BasicHttpRelay  | No      | -           | No    | -     | No            | Yes         | No    | No    | No            |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-Custom          | Yes     | Yes         | -     | -     | Yes           | Yes         | No    | No    | Yes           |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-CustomIsolated  | Yes     | Yes         | -     | -     | -             | -           | -     | -     | -             |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-NetMsmq         | -       | -           | -     | -     | in WCF-Custom | Yes         | -     | -     | in WCF-Custom |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-NetNamedPipe    | Yes     | -           | -     | -     | in WCF-Custom | -           | -     | -     | in WCF-Custom |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-NetTcp          | Yes     | -           | -     | -     | in WCF-Custom | Yes         | -     | -     | in WCF-Custom |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-NetTcpRelay     | No      | -           | No    | -     | -             | Yes         | No    | -     | No            |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-OracleDB        | Yes     | Yes         | -     | -     | Yes           | Yes         | -     | No    | Yes           |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-OracleEBS       | Yes     | Yes         | -     | -     | Yes           | Yes         | -     | No    | Yes           |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-SQL             | Yes     | Yes         | -     | -     | Yes           | Yes         | -     | No    | Yes           |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-WebHttp         | Yes     | -           | -     | -     | Yes           | Yes         | No    | No    | Yes           |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| WCF-WSHttp          | Yes     | -           | -     | -     | in WCF-Custom | Yes         | No    | No    | in WCF-Custom |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
| Windows             | No      | No          | -     | -     | -             | No          | -     | -     | -             |
|   Sharepoint Server |         |             |       |       |               |             |       |       |               |
+---------------------+---------+-------------+-------+-------+---------------+-------------+-------+-------+---------------+
于 2016-05-11T22:29:09.843 回答
2

我很确定 SB-Messaging 使用 SSO,但请记住,适配器使用两种不同的模式。

有些,例如 WCF 包装器,使用 SSO 的凭据功能来仅存储用户名/密码组合。其他的,例如 FTP,将其整个配置(包括凭据)存储在 SSO 中。SB-Messaging 将遵循这种模式。

如果您有“不要存储密码”规则,那么您将不得不像 FTP 一样使用 SB-Messaging。执行部署的管理员必须在部署后输入目标特定凭据。这很常见,并且在任何工具中都不是一个空白。

另一种选择是为 BTFD 创建一个自定义 MSBuild 目标,该目标在 Deploy 之前修改绑定文件。自定义任务可以从 SSO 读取凭据。

于 2016-05-11T12:42:44.637 回答