我有一个调用逻辑应用程序的数据工厂管道。逻辑应用设计器提供的 URL 在 URL 中包含签名。在数据工厂管道中,我有一个使用 POST 方法调用逻辑应用程序的 Web 活动。这有效,应用被调用。
我更愿意将此签名与 URL 分开并将其存储在 Azure Key Vault 中,或者使用身份验证。数据工厂中的身份验证选项包括;基本、托管身份或客户端证书。我尝试follow this article to enable authentication via Azure Active Directory OAuth,但目前看不到这将如何与 Azure 数据工厂配合使用。
我知道可以启用 API 管理网关以对 API(包括逻辑应用)启用更复杂的身份验证,但目前我不认为我需要这样做。
我在 Logic App 界面中注意到的另一件事是您无法发出执行授权。这与其他 Azure 服务(例如 Data Lake)不同,例如,您可以发出“类似使用”的授权来读取容器。只有授权窗格可用于定义声明。我做了一些尝试,但我缺少关键信息。
最终我不希望签名暴露给包括我自己在内的开发人员。
答案 0 :(得分:0)
我相信您可以将 Managed Identity of the Web Activity 与 Azure AD OAuth feature for Logic Apps 配对。
所需的声明需要在 Authorization
刀片上为 setup 以验证令牌。
答案 1 :(得分:0)
我个人喜欢将 PostURL 存储在 Azure KeyVault 中,然后在 ADF 中执行 Azure KeyVault GET API 调用,然后将 ADF 中的输出安全地传递给触发逻辑应用程序的请求。这是两个独一无二的活动,它是一种安全方法,可以仅使用 ADF 中原生的托管身份验证。
以下是如何从 AKV 获取值的示例:
从 AKV 中获取价值
这是 Azure KeyVault 示例机密的 URL:
https://kv-ccok-ops-@{pipeline().globalParameters.Environment}.vault.azure.net//secrets/FILESERVER-UserName?api-version=7.1
使用来自 AKV 的价值
这个例子应该非常容易理解。