繁体   English   中英

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

[英]Connecting to Azure Databricks with user assigned managed identity

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

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

尝试使用获取的令牌时,出现以下错误: Error 400 io.jsonwebtoken.IncorrectClaimException: Expected aud claim to be: 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d, but was: spn:2ff814a6-3304-4ab8-85cb-cd0e6f879c1d.

在资源是 guid 而不是 url 的情况下,观众似乎总是以“spn:”为前缀。

我还尝试使用 databricks 应用程序 url ('https://azuredatabricks.net/') 作为资源,但这里也不接受令牌。

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

谢谢!

我也可以重现您的问题,它看起来像一个错误, 将托管标识与 Azure 容器实例一起使用仍然是一个预览功能。

在此处输入图片说明

我还使用具有相同 curl 命令的 Linux VM 测试了相同的用户分配的托管标识,它工作正常。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM