首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理在每个API调用中使用头部身份验证的自定义连接器?

如何处理在每个API调用中使用头部身份验证的自定义连接器?
EN

Stack Overflow用户
提问于 2021-06-25 20:59:39
回答 1查看 177关注 0票数 1

我有一个Azure逻辑应用程序,它使用我从导入邮递员集合中创建的自定义连接器。连接器调用的RESTful API需要在每个请求中包含3个身份验证头:UserNameSecretApiIntegrationCode。因为它需要三个特别命名的参数,所以我不相信任何身份验证预设都能为我工作。

我知道我可以保护各种连接器的输入和输出。我一直在考虑将敏感信息存储在每次运行时查询的SQL表中,并将值存储在传递给每个自定义连接器的API调用的变量中。

这是一种保护敏感数据不被可能访问我的逻辑应用程序的人看到的可行方法吗?在每次调用中传递这些标头的最安全方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-29 22:55:45

在这方面,(消费)逻辑应用程序中没有太多的选项。

逻辑应用程序的选项

迈向正确方向的第一步是将敏感信息放入Azure Key Vault中,并使用Logic App中的the corresponding connector从那里检索数据。这比为此目的查询SQL表更容易实现,也更安全。

您可以做的第二件事是为进行secure inputs调用的连接器激活API。这确保了传递到这些连接器的敏感信息在逻辑应用程序的运行历史记录和连接的服务(如Azure Log Analytics )中被混淆。

这种方法的问题是,任何对您的Logic App拥有更多读取权限的人都可以继续并停用secure inputs设置,或者创建一个步骤来转储Key Vault的内容。您可以使用RBAC来控制对您的Logic App的访问,但这当然意味着管理开销。

替代方案: API管理服务

如果您希望通过各种方式允许其他开发人员在不向他们暴露API秘密的情况下更改Logic App,您可以考虑使用某种类型的中间层来与API通信。Azure API Management Service就是其中一个选择。

您将在Key Vault中管理您的敏感信息,并通过“命名值”将它们注入到您的APIM实例中。然后,您可以将您的API作为后端添加到APIM中,并将其公开给您的Logic App。

这里的优点是,您可以使用APIM来保护对subscription keys的访问,您可以频繁地循环。您还可以限制对原始API的访问,仅限于逻辑应用程序需要可用的那些调用。

APIM是否适合你取决于你的用例,因为它是有代价的。即使是开发者计划也要花费大约50美元/月:https://azure.microsoft.com/en-us/pricing/details/api-management/

替代方案: Azure函数

您可以使用一个简单的Azure Function作为您的Logic App和您的API之间的中间层。此功能可以配置为从密钥库中提取敏感数据,也可以通过function access key进行保护,您可以定期续费。

如果你在一个消费计划上运行函数,这是一个非常便宜的选择:https://azure.microsoft.com/en-us/pricing/details/functions/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68131395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档