在用于 Azure SQL 数据库 JDBC 连接的 Fabric 笔记本中获取 Azure Key Vault 机密时出错

问题描述 投票:0回答:1

我目前正在执行一项任务,需要从 Fabric 笔记本中的 Azure Key Vault 检索机密。此秘密对于验证我的 Azure SQL 数据库 JDBC 连接至关重要。然而,我在秘密检索过程中遇到了错误。

这是我一直在使用的代码片段: 从 trident_token_library_wrapper 导入 PyTridentTokenLibrary as tl access_token = mssparkutils.credentials.getToken("keyvault") pwd = tl.get_secret_with_token("Keyvault URL","密码",access_token)

在我的 Azure Key Vault 设置中,我已禁用公共访问并允许受信任的 Microsoft 服务绕过防火墙。

尽管进行了这些设置,我还是收到以下错误消息:“客户端地址未经授权,调用者不是受信任的服务。”

不幸的是,我无法选择允许公众访问我的保管库。有什么解决方法可以绕过此错误吗?任何帮助将不胜感激。

我尝试通过将 IP 地址列入白名单来解决该问题。然而,由于IP地址的动态特性,这个解决方案被证明是无效的

azure-keyvault fabric
1个回答
0
投票

当您禁用密钥保管库的公共访问时,上述要求可能无法实现。唯一可能的解决方案可能是启用公共访问并指定 IP 地址范围。

您可以看到,即使我选择了允许受信任的 Microsoft 服务绕过此防火墙选项,当公共访问被禁用时我也遇到了相同的错误。

enter image description here

当启用公共访问时,同样会给出预期的结果。

enter image description here

我也尝试过使用 REST API 来获取秘密。但这在禁用公共访问的情况下也给出了相同的结果。

如果您不想启用公共访问,那么您需要获取您的IP地址范围并将其添加到IP地址范围中是另一种选择。

enter image description here

您的 IP 地址需要在此范围内才能获得所需的结果。

© www.soinside.com 2019 - 2024. All rights reserved.