是否可以使用Azure托管身份访问带有实体框架的Cosmos DB



我正试图弄清楚是否可以将EF与Cosmos DB一起使用,并使用Azure托管身份进行身份验证。我知道你可以为SQL数据库添加一个拦截器来进行身份验证,但我无法让它与Cosmos DB一起使用,也找不到任何关于这方面的文档。

这是否意味着这是不可能的?

计划支持EF Core 7.0,并在此跟踪:Cosmos:通过ClientSecretCredential 支持AAD RBAC

目前计划在下一个版本中使用;这就是将于明年11月发布的EF Core 7.0。

如果你想让它与托管身份一起工作,你可以做一个快速调整(如果你不想等到11月的EF 7(。你可以看看我的要点,你需要做什么来创建一个自定义扩展并使其工作。

https://gist.github.com/wkoeter/4ed90c7c8f61e3b3a52d2667d5a7c856

...
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCosmosCustom<CosmosContext>(
endpoint: "https://westus22.documents.azure.com:443/",
databaseName: "MyDb",
managedIdentityClientId: "90df9398-990d-459f-8833-bfa4d762a4d7");
...

这里的github问题https://github.com/dotnet/efcore/issues/26491

最新更新