【问题标题】:Azure Cosmos DB Mongo - Resource tokensAzure Cosmos DB Mongo - 资源令牌
【发布时间】:2020-08-03 13:08:57
【问题描述】:

我正在研究用于项目的 NoSQL 技术,Azure Cosmos Mongo API 已作为一种选择出现。作为 Microsoft 推荐架构的一部分,有一个资源代理组件中间件,它保留 CosmosDB 主访问密钥的所有权,并且可以生成/分发资源令牌,以便对消费客户端进行更细粒度的访问。

文档似乎在任何地方都没有提到 Mongo API,但是我在任何地方都找不到有关它的信息,这种模式是否不适用于 Cosmos Mongo API 数据库?如果是这种情况,而 Cosmos Mongo API 只需要访问主密钥,那么细粒度的访问控制和最低权限访问将如何发挥作用?

在 Stackoverflow 上还有一个关于创建资源令牌的替代问题,但我想使用诸如 mongoose 之类的 ORM 以便使用资源令牌连接到 CosmosDB,以避免将主密钥分发给许多服务。

任何答案都非常感谢!

【问题讨论】:

  • “Cosmos DB Mongo”不是一个东西。有 MongoDB 和 Cosmos DB。两种行为不同的独立产品。
  • 编辑状态 mongo api

标签: mongodb azure azure-cosmosdb azure-cosmosdb-mongoapi


【解决方案1】:

对于 Cosmos DB 的 MongoDB API,资源令牌是不可能的,因为 MongoDB 客户端不知道如何处理这些。如果您正在考虑将 Cosmos DB 用作托管 NoSQL 数据库,我建议您使用 Core (SQL) API。

有关这方面的更多信息,请参阅Resource Tokens。令牌代理也有两个参考实现,一个Xamarin sample app 和另一个由Citrix 构建。

希望这有帮助。

【讨论】:

  • 谢谢 - 这最终是否意味着从安全角度来看,Mongo API 似乎缺少一些关键功能。这可能超出了我的使用范围,SQL API 似乎更加成熟。
  • 这不是 Mongo API 缺少功能的问题。更多的是 MongoDB 本身本身不支持资源令牌的功能,我们受到限制,因为我们必须实现那里的内容。但是,从我们的核心 API 最强大的角度来看,您的观察是正确的,因为它“是”Cosmos DB 本身。我的建议是,如果您正在编写一个新应用程序并且可以选择 Cosmos DB 来使用它。您将获得最佳性能和功能,以及 SDK 的选择。希望对您有所帮助。
  • 谢谢马克,感激不尽。
猜你喜欢
  • 2018-10-28
  • 2023-02-21
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2019-06-05
  • 2021-11-02
  • 2019-03-30
  • 1970-01-01
相关资源
最近更新 更多