c# - CosmosDB 的 MongoDB api 限制访问

标签 c# mongodb azure

我正在使用数据库编写应用程序。为了满足我的需求,我需要使用 MongoDB for CosmosDB。

我是数据库和 Web 应用程序世界的初学者。我需要影响用户的权限,以便它们仅限于某些集合或某些数据库。

起初我以为我需要一个经纪人,但更多的是为了身份验证。 阅读了大量内容后,我的印象是我需要与 CosmosDB MongoDB API 和 Rest Request 进行讨论。

有人可以帮助我走向正确的方向吗? 我没有发布代码,因为我已经测试了很多东西,但我不满意。

最佳答案

我假设您想要一个可以从 cosmosdb 获取数据的应用程序,但您也希望使您的应用程序的某些用户无法访问某些数据。

所以首先,我认为了解 cosmosdb mongo api 也很重要,就像它 adds some great features到mongodb,比如全局分布、弹性伸缩等

那么我们应该知道,如果我们想实现你的目标,首先就是让你的应用程序谁正在使用它,这样它就可以知道他是否可以访问数据库/集合。在这里,cosmosdb provides options使用主键的方法是,集成 azure ad 来分配自定义角色并使用资源 token 。

让我们来一个简单的场景(你希望某些用户无法访问所有数据库),可以让你的应用程序集成azure ad来实现身份验证,你可以创建一个安全组,添加所有可以访问你的数据库的用户数据库,并且您将数据库主键和端点 url 存储在 azure key Vault 中。您可以在 Azure Key Vault 访问策略中添加该组,以便这些用户可以获得 key 和端点来实例化“DocumentClient”,并且他们现在可以访问数据库,而其他用户则不能。

CosmosClient client = new CosmosClient(endpointUrl, authorizationKey);

这是doc讲述如何使用资源 token 。

到目前为止,我已经发布了我所知道的所有内容,但如果存在进一步的问题,请随时告诉我。

关于c# - CosmosDB 的 MongoDB api 限制访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66435713/

相关文章:

javascript - 我应该把这行代码放在 Meteor 新的文件结构中的什么位置呢?

Java MongoDB异常: can't authenticate twice on the same database

MongoDB:删除名称与字符串匹配的所有集合

windows - 有没有更好的方法对 Windows 桌面应用程序进行代码签名

时间:2019-03-17 标签:c#WPFProgressBarUpdate

c# - 如何修复从不同网络登录网站帐户时出现的错误

c# - 以编程方式更改 IIS 网站的 SSL 设置

c# - 删除 ../在相对路径的中间

azure - 函数无法绑定(bind)到输出参数

ios - 来自 iOS 设备的 Azure Blob 存储 : Server failed to authenticate the request