是否可以将本地 Python 应用程序连接到 Azure OIDC?

Posted

技术标签:

【中文标题】是否可以将本地 Python 应用程序连接到 Azure OIDC?【英文标题】:Is it possible to connect a local Python app to Azure OIDC? 【发布时间】:2021-12-08 10:32:45 【问题描述】:

我的设置如下: 我使用美妙的xlwings 从在 excel 中激活的 python 脚本进行 API 调用。 这使得复杂的数据提取和转换工作流可以用漂亮的 python 编码,而不是烦人的 VBA。它还使非编码用户只需单击嵌入式按钮即可使用这些工作流程。

我的问题: 我的 API 调用过去使用硬编码的 API 密钥。这是一个很大的安全禁忌。现在我的 API 调用需要通过 Azure AD 中的 OIDC (OAuth2) 身份验证。

我的问题:

    是否可以从本地 Python 脚本触发 OIDC 身份验证(在 Azure AD 中)? 在这样的设置中,我可以在哪里安全地存储我的客户端密码?

【问题讨论】:

【参考方案1】:

是的,您可以这样做。你没有说你正在调用哪些 API,但它们中的任何一个都是一样的。

有两种类型的身份验证:交互式和非交互式。您需要描述您想要的,但由于您关心的是硬编码键,我们假设您想要交互式。

这意味着当用户想要访问数据时,会在浏览器中提示用户输入凭据。访问令牌返回给应用程序,然后用于调用 API。没有使用硬编码的密钥,并且令牌会在一段时间后过期。

您可以参考此文档开始:https://docs.microsoft.com/en-us/azure/developer/python/azure-sdk-authenticate

【讨论】:

以上是关于是否可以将本地 Python 应用程序连接到 Azure OIDC?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Multi-AZ 将 Node Sequelize 连接到 Amazon RDS MySQL

是否可以将本地 Functions 模拟器连接到非本地 Firebase 实时数据库?

是否可以将subprocess.Popen的stdout重新连接到sys.stdout? (python3)

如何使用 Active Directory 集成身份验证通过 python SQL alchemy 连接到 Azure sql 数据库

是否可以将JS WebSocket连接到Python服务器?

如何将 plunker 连接到本地 Node.js 服务器?