azure - 使用用户分配的托管标识连接到 Azure Databricks

标签 azure authentication azure-active-directory azure-databricks azure-managed-identity

TL;DR:由于 token 中的受众声明错误,使用托管身份对 Databricks 进行身份验证失败。

技术细节:当使用托管身份(使用 http://169.254.169.254/metadata/identity/oauth2/token API)获取访问数据 block 的 token 时,返回的 token 受众为“spn:2ff814a6-3304-4ab8-85cb-cd0e6f879c1d”,而不是“2ff814a6-3304-4ab8-” 85cb-cd0e6f879c1d'。

当尝试使用获取的 token 时,出现以下错误: 错误 400 io.jsonwebtoken.In CorrectClaimException:预期的 aud 声明为:2ff814a6-3304-4ab8-85cb-cd0e6f879c1d,但实际为:spn:2ff814a6-3304-4ab8-85cb-cd0e6f879c1d。

如果资源是 guid 而不是 url,受众似乎总是以“spn:”为前缀。

我还尝试使用 databricks 应用程序 URL('https://azuredatabricks.net/')作为资源,但此处也不接受 token 。

这是一个已知问题吗?是否有任何解决方法(除了使用服务主体方法之外)?

谢谢!

最佳答案

我还可以重现您的问题,它看起来像一个错误,using managed identity with Azure Container Instance仍然是预览功能。

enter image description here

我还使用相同的curl命令在Linux VM上测试了相同的用户分配的托管身份,它工作得很好。

enter image description here

关于azure - 使用用户分配的托管标识连接到 Azure Databricks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64341919/

相关文章:

azure - Azure 应用服务中的 .NET Core WebJob 配置

reactjs - 错误 : idpiframe_initialization_failed while implementing OAuth 2. 0

Azure - 更新服务主体范围

database - 如何通过数据库更新实现 Azure Web 应用程序的零停机部署?

azure - 我们如何在 Azure Bash 中一起运行多个 CLI 命令?

python - 无法将数据推送到 Azure 事件中心

java - 使用构造函数创建帐户并登录

authentication - Gitlab:无法为电子邮件设置中继地址(state=SSLv2/v3 read server hello A: unknown protocol”)

javascript - 是否可以将 microsoft-graph 客户端 secret 放入源代码中?

c# - EF Core 通过托管标识连接到 Azure SQL