我想使用发布到Azure Service Bus VSTS服务器任务,并在接收端验证VSTS 用户、项目和account (发布消息的来源)。根据task.json,相关信息被发布到服务总线上,但就我的目的而言,这是不安全的,因为我想保护自己不受客户端欺骗信息的影响。多个不同的VSTS用户、项目和帐户将使用该任务。一旦任务的客户端拥有了提交到服务总线的凭据,她就可以伪造数据。
VSTS是否提供消息发布者的防篡改身份设置?该消息具有auth令牌,但它似乎具有不同的用途:它用于对VSTS进行身份验证,其中没有身份声明。
发布于 2018-06-26 05:34:00
正如Aseem所指出的,The Publish To Azure Service Bus VSTS服务器任务有一个新特性:Signing properties。可以提供一个Certificate Variable,它是发送方(VSTS扩展)和菜谱(服务消耗来自服务总线的消息)之间的共享秘密。此类变量的值应保留为秘密变量。这解决了这个问题,因为任何欺骗尝试都可以通过检查服务总线消息中是否存在共享秘密来阻止(接收方必须保持映射,哪些发件人应该知道哪些秘密)。谁知道秘密的范围可以由谁可以查看VSTS构建/发布定义的秘密变量以及从给定定义提交构建/发布来控制。我相信VSTS对它有相当细粒度的控制,可以控制特定用户的级别.
发布于 2018-06-22 09:14:53
您可以在消息正文中包含必要的信息,否则,需要自定义发布任务。
{"requestUserId":"$(Release.RequestedForId)","requestUser":"$(Release.RequestedFor)"}https://stackoverflow.com/questions/50976537
复制相似问题