0

我想使用发布到 Azure 服务总线 VSTS 服务器任务并在接收方验证发布消息的来源VSTS用户项目帐户。根据task.json ,相关信息已发布到服务总线上,但出于我的目的,这并不安全,因为我想保护自己免受客户端欺骗信息的影响。多个不同的 VSTS 用户、项目和帐户将使用该任务。一旦任务的客户端拥有了可以发布到服务总线的凭据,她就可以欺骗数据。

VSTS 是否提供消息发布者的防篡改身份配置?该消息具有auth token,但它似乎用于不同的目的:它用于向 VSTS 进行身份验证,并且其中没有身份声明。

4

2 回答 2

0

您可以在消息正文中包含必要的信息,否则,您需要自定义发布任务。

{"requestUserId":"$(Release.RequestedForId)","requestUser":"$(Release.RequestedFor)"}
于 2018-06-22T09:14:53.690 回答
0

Aseem Bansal 指出,The Publish To Azure Service BusVSTS 服务器任务有一个新特性:Signing properties. 可以提供一个Certificate Variable在发送者(VSTS 扩展)和recipent(来自服务总线的服务消费消息)之间共享的秘密。此类变量的值应作为秘密变量保存。这解决了这个问题,因为可以通过检查服务总线消息中是否存在共享密钥来阻止任何欺骗尝试(收件人必须保留一个映射,哪些发件人应该知道哪些秘密)。谁知道秘密的范围可以由谁可以查看 VSTS 构建/发布定义秘密变量并从给定定义提交构建/发布来控制。我相信 VSTS 对它有相当细粒度的控制,达到特定用户的水平。

于 2018-06-26T05:34:00.793 回答