【问题标题】:Using Managed Identity with Cosmos Db Table Api将托管标识与 Cosmos Db Table Api 一起使用
【发布时间】:2021-12-29 07:52:02
【问题描述】:

我正在尝试使用托管标识连接到 cosmos db 表 api。根据文档here,cosmos db 支持托管身份。我找不到任何说明有关 table api 的任何特定内容的文档。我正在使用.Net standark SDK,但它似乎不支持托管身份。

是否可以将托管标识与 Cosmos Db 表 api 一起使用?

如果是,我应该怎么做才能使用 CosmosDb 表 api 的托管标识?

谢谢。

【问题讨论】:

    标签: azure azure-cosmosdb azure-cosmosdb-sqlapi azure-managed-identity azure-cosmosdb-tables


    【解决方案1】:

    当前使用 CosmosDB 数据平面托管的身份仅适用于 SQL API

    是否可以将托管标识与 Cosmos Db 表 api 一起使用?

    【讨论】:

      【解决方案2】:

      我会做以下事情:

      1. 确保您使用的是最新版本的 Microsoft.Azure.Cosmos 软件包
      2. 确保您使用的是 Azure.Identity (MSAL),而不是 Microsoft.Azure.Services.AppAuthentication(ADAL,已弃用)
      3. 确保您已为您的应用启用托管标识
      4. 确保您已在 Cosmos 数据库中为该托管标识的对象/应用程序 ID 创建角色分配(只读或读/写)
      5. 获取CosmosClient 与类似的内容 var cosmosClient = new CosmosClient('yourCosmosClientDBUrl', new DefaultAzureCredential());

      DefaultAzureCredential 是 Azure.Identity 获取服务访问令牌的方式 - 它尝试按以下顺序查找身份验证信息:

      1. 环境变量
      2. 注入环境的托管身份
      3. 共享令牌缓存凭据
      4. Visual Studio 凭据
      5. Visual Studio 代码凭据
      6. AZ CLI 凭据
      7. Powershell Az 凭据
      8. 交互式凭据(弹出浏览器窗口)

      【讨论】:

      • 感谢您的回复。这适用于 SQL api,但不适用于 Table API。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-04
      • 2022-06-14
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2015-01-20
      相关资源
      最近更新 更多