允许从托管服务身份到Azure功能的无密钥授权

时间:2019-01-18 16:59:57

标签: azure azure-active-directory azure-web-sites azure-functions

想象我有:

一个公开了http终结点( api1 )的Azure函数( func
配置了托管服务身份( msi1

的Azure应用服务( service1

我想以如下方式配置所有内容: service1 可以向 api1 发出HTTP请求,并且 api1 知道该请求来自 msi1 。此外,我希望能够在Azure门户中配置 service1 以允许或禁止访问 api1

基本上,我想配置哪些应用程序服务可以在Azure门户中尽可能访问哪些功能(反之亦然),而不必在应用程序设置中创建和管理API令牌或键。

我想强调一下,这是服务到服务- service1 不会从其用户请求任何登录信息。

我相信这是有可能的,但是我所遇到的大多数文档都描述了用户通过Microsoft / Facebook / Google / Whatever登录并以此方式获得访问令牌的情况。我知道我可以在应用程序注册中使用客户端凭据来创建有效的承载令牌;但这不是必需的,因为 service1 是在 msi1 的安全性上下文下执行的。

1 个答案:

答案 0 :(得分:0)

正如juunas所说,您可以参考他的article以使用托管身份从应用程序服务中保护azure功能。

将您的api1注册为AAD中的应用,并使用powershell为service1 MSI分配权限。在Portal上似乎不支持向MSI分配权限,因此您可以使用powershell进行分配。这是一个类似的thread,您可以向MSI分配权限。