将托管身份与 Cosmos Db 结合使用 Table Api
Using Managed Identity with Cosmos Db Table Api
我正在尝试使用托管身份连接到 cosmos db table api。根据文档 here, cosmos db supports Managed Identity. I couldn't find any documentation that says anything specific about table api. I am using .Net standark SDK 但它似乎不支持托管身份。
是否可以将托管身份与 Cosmos Db 一起使用 table api?
如果是,我应该如何使用 CosmosDb 的托管身份 table api?
谢谢。
我会做以下事情:
- 确保您使用的是最新版本的
Microsoft.Azure.Cosmos
程序包
- 确保您使用的是 Azure.Identity (MSAL) 而不是 Microsoft.Azure.Services.AppAuthentication(ADAL,已弃用)
- 确保您已为您的应用启用托管身份
- 确保您已在 Cosmos 数据库中为该托管身份的 object/application ID 创建角色分配(只读或 read/write)
- 得到一个
CosmosClient
类似的东西
var cosmosClient = new CosmosClient('yourCosmosClientDBUrl', new DefaultAzureCredential());
DefaultAzureCredential
是获取服务访问令牌的 Azure.Identity 方式 - 它会尝试按以下顺序查找身份验证信息:
- 环境变量
- 注入环境的托管身份
- 共享令牌缓存凭据
- Visual Studio 凭据
- Visual Studio代码凭证
- AZ CLI 凭证
- Powershell Az 凭证
- 交互式凭据(弹出浏览器window)
CosmosDB 数据平面的当前托管身份仅适用于 SQL API。
是否可以将托管身份与 Cosmos Db 一起使用 table api?
否
我正在尝试使用托管身份连接到 cosmos db table api。根据文档 here, cosmos db supports Managed Identity. I couldn't find any documentation that says anything specific about table api. I am using .Net standark SDK 但它似乎不支持托管身份。
是否可以将托管身份与 Cosmos Db 一起使用 table api?
如果是,我应该如何使用 CosmosDb 的托管身份 table api?
谢谢。
我会做以下事情:
- 确保您使用的是最新版本的
Microsoft.Azure.Cosmos
程序包 - 确保您使用的是 Azure.Identity (MSAL) 而不是 Microsoft.Azure.Services.AppAuthentication(ADAL,已弃用)
- 确保您已为您的应用启用托管身份
- 确保您已在 Cosmos 数据库中为该托管身份的 object/application ID 创建角色分配(只读或 read/write)
- 得到一个
CosmosClient
类似的东西var cosmosClient = new CosmosClient('yourCosmosClientDBUrl', new DefaultAzureCredential());
DefaultAzureCredential
是获取服务访问令牌的 Azure.Identity 方式 - 它会尝试按以下顺序查找身份验证信息:
- 环境变量
- 注入环境的托管身份
- 共享令牌缓存凭据
- Visual Studio 凭据
- Visual Studio代码凭证
- AZ CLI 凭证
- Powershell Az 凭证
- 交互式凭据(弹出浏览器window)
CosmosDB 数据平面的当前托管身份仅适用于 SQL API。
是否可以将托管身份与 Cosmos Db 一起使用 table api?
否