保护来自 Azure 函数的 WCF (asmx) 调用
Posted
技术标签:
【中文标题】保护来自 Azure 函数的 WCF (asmx) 调用【英文标题】:Securing WCF (asmx) Call From Azure Function 【发布时间】:2021-09-24 17:55:16 【问题描述】:目前,代码从 Azure Function 调用 WCF 方法,一切正常。
现在的任务是 WCF 没有安全性。我需要保护 WCF,然后让客户端(Azure 函数)实现相同的安全性。
客户端和主机的语言都是 C#。
问题是; Azure Functions 没有要在终结点和安全性中添加的配置文件。我尝试通过代码添加它;
PortalServicesSoapClient psSoapClient = new PortalServicesSoapClient(new
PortalServicesSoapClient.EndpointConfiguration(), url);
psSoapClient.ClientCredentials.UserName.UserName = "MyUsername";
psSoapClient.ClientCredentials.UserName.Password = "MyPassword";
到主机.asmx
public class AuthHeader : SoapHeader
public string UserName;
public string Password;
导致 AuthHeader 为空。
使用 Postman 进行测试确实成功传递了用户名和密码,但不是来自 Azure 函数。
邮递员的部分脚本
<soap12:Header>
<AuthHeader xmlns="http://tempuri.org/">
<UserName>MyUsername</UserName>
<Password>MyPassword</Password>
</AuthHeader>
</soap12:Header>
【问题讨论】:
【参考方案1】:通常,Azure 函数是公共的。您部署它们,并且端点可通过函数上的地址公开使用。
因此您可以设置功能级别访问权限。这意味着您需要传递访问密钥。 还有一些其他方法可以保护 Azure Functions。您可以参考以下链接:
https://docs.microsoft.com/en-us/azure/azure-functions/security-concepts
谢谢。
【讨论】:
谢谢,但我已确保该功能;通过访问密钥。尝试保护从 Azure 函数对 WCF 的调用。 WCF 安全是问题所在。 如果此解决方案有其他问题,您可以阅读文档并尝试其他方式。以上是关于保护来自 Azure 函数的 WCF (asmx) 调用的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的受 AAD 保护的 Azure 函数在使用来自 UWP 应用的访问令牌调用时返回 401?
是否可以创建 WCF 服务端点来处理来自 Azure 服务总线的死信?