Azure Cosmos DB Mongo - 资源令牌

3
我正在调查适用于项目的NoSQL技术,Azure Cosmos Mongo API是其中一种选择。作为微软推荐的架构的一部分,有一个资源代理组件中间件可以保留CosmosDB主访问密钥的所有权,并且可以生成/分发资源令牌以实现对使用客户端的更细粒度的访问控制。
然而,文档似乎没有提到Mongo API,我找不到关于它的任何信息,这种模式是否不适用于Cosmos Mongo API数据库?如果是这样的话,如果Cosmos Mongo API只需要访问主密钥,如何实现细粒度的访问控制和最小权限访问?
在Stackoverflow上有一个关于创建资源令牌的备选问题,但我想使用像mongoose这样的ORM来连接到CosmosDB,以便使用资源令牌而无需将主密钥分发给许多服务。
非常感谢任何答案!

"Cosmos DB Mongo" 不是一个东西。有MongoDB和Cosmos DB两个不同的产品,它们具有不同的行为。 - D. SM
已编辑以说明Mongo API。 - watdo
1个回答

1

由于MongoDB客户端不知道如何处理资源令牌,因此在Cosmos DB的MongoDB API中不支持资源令牌。如果您想使用Cosmos DB作为托管的NoSQL数据库,我建议使用Core(SQL)API。

有关此信息的更多信息,请参见Resource Tokens。还有两个令牌代理的参考实现,一个是Xamarin样例应用程序,另一个是由Citrix构建的。

希望这有所帮助。


谢谢 - 从安全角度来看,Mongo API似乎缺少一些关键功能。这可能使其不适用于我,而SQL API似乎更加成熟。 - watdo
这不是Mongo API缺少功能的问题。更多的是因为MongoDB本身没有本地支持资源令牌,我们受限于必须实现已有的功能。然而,从我们核心API的角度来看,你的观察是正确的,因为它“就是”Cosmos DB本身。我的建议是,如果你正在编写一个新应用程序,并且可以选择使用Cosmos DB,请使用它。你将获得最佳性能和功能,以及SDK的选择。希望这有所帮助。 - Mark Brown
谢谢你,马克。感激不尽。 - watdo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接