如何从 Azure 数据工厂安全地调用 Azure 逻辑应用

时间:2021-05-18 11:52:59

标签: authentication azure-data-factory azure-logic-apps

我有一个调用逻辑应用程序的数据工厂管道。逻辑应用设计器提供的 URL 在 URL 中包含签名。在数据工厂管道中,我有一个使用 POST 方法调用逻辑应用程序的 Web 活动。这有效,应用被调用。

我更愿意将此签名与 URL 分开并将其存储在 Azure Key Vault 中,或者使用身份验证。数据工厂中的身份验证选项包括;基本、托管身份或客户端证书。我尝试follow this article to enable authentication via Azure Active Directory OAuth,但目前看不到这将如何与 Azure 数据工厂配合使用。

Data Factory Web activity authentication options

我知道可以启用 API 管理网关以对 API(包括逻辑应用)启用更复杂的身份验证,但目前我不认为我需要这样做。

我在 Logic App 界面中注意到的另一件事是您无法发出执行授权。这与其他 Azure 服务(例如 Data Lake)不同,例如,您可以发出“类似使用”的授权来读取容器。只有授权窗格可用于定义声明。我做了一些尝试,但我缺少关键信息。

最终我不希望签名暴露给包括我自己在内的开发人员。

2 个答案:

答案 0 :(得分:0)

我相信您可以将 Managed Identity of the Web ActivityAzure AD OAuth feature for Logic Apps 配对。

所需的声明需要在 Authorization 刀片上为 setup 以验证令牌。

答案 1 :(得分:0)

我个人喜欢将 PostURL 存储在 Azure KeyVault 中,然后在 ADF 中执行 Azure KeyVault GET API 调用,然后将 ADF 中的输出安全地传递给触发逻辑应用程序的请求。这是两个独一无二的活动,它是一种安全方法,可以仅使用 ADF 中原生的托管身份验证。

以下是如何从 AKV 获取值的示例:

从 AKV 中获取价值

Getting Value from AKV

这是 Azure KeyVault 示例机密的 URL:

https://kv-ccok-ops-@{pipeline().globalParameters.Environment}.vault.azure.net//secrets/FILESERVER-UserName?api-version=7.1

使用来自 AKV 的价值

Using AKV Value

这个例子应该非常容易理解。