我想使用Publish To Azure Service Bus VSTS server task并在收件人端验证发布的消息来自的VSTS user , project 和 account . 根据task.json相关信息被发布到服务总线上,但出于我的目的,这是不安全的,因为我想保护自己免受客户欺骗信息 . 多个不同的VSTS用户,项目和帐户将使用该任务 . 一旦任务的客户端具有发布到服务总线的凭证,她就可以欺骗数据 .
VSTS是否提供消息发布者的防篡改身份配置?该消息具有auth token,但它似乎有不同的用途:它用于向VSTS进行身份验证,并且其中没有身份声明 .
2 回答
您可以在Message body中包含必要的信息,否则,您需要自定义发布任务 .
正如Aseem Bansal所指出的,
The Publish To Azure Service Bus
VSTS服务器任务有一个新功能:Signing properties
. 可以提供Certificate Variable
,它是发送方(VSTS扩展)和recipent(服务消费来自服务总线的消息)之间的共享密钥 . 此变量的值应保持为secret variable . 这解决了这个问题,因为可以通过检查服务总线消息中是否存在共享密钥来阻止任何欺骗尝试(接收者必须保持发送者应该知道哪些秘密的映射) . 知道秘密的人的范围可以由谁可以查看VSTS构建/发布定义秘密变量并从给定定义提交构建/发布来控制 . 我相信VSTS对其具有相当细粒度的控制,达到特定用户的水平 .