2

给定从 Azure 门户创建的 Azure CosmosDB 数据库实例,可以使用以下命令从 shell 连接创建多个数据库:

use someNewDbName;
db.someNewCollectionName.insert({});

对于公开 MongoDB API 的其他数据库提供程序,可以在数据库或集合级别(对于存在于同一数据库实例上的用户)配置用户角色。

例如,对于自托管的 MongoDB,db.createUser()允许roles接受db选项的参数。MongoDB Atlas 允许通过其 UI 执行类似的操作。

是否可以对 CosmosDB 做同样的事情?在 Azure 门户中,选择 CosmosDB,然后Access control (IAM)转到Roles内置角色列表以及说明可以定义自己的角色但没有说明如何执行此操作的文本。

4

2 回答 2

0

我可以使用 Powershell 通过以下方法创建自定义角色此角色显示在“添加角色分配”选项卡下的可用角色列表中

这些链接可能会对您有所帮助

https://docs.microsoft.com/en-us/azure/role-based-access-control/tutorial-custom-role-powershell

https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles

于 2019-02-01T09:16:53.033 回答
0

我还尝试使用 MongoDB 界面为 Azure CosmosDB 创建用户和角色,并遵循此文档:https ://docs.microsoft.com/en-GB/azure/cosmos-db/secure-access-to-data?tabs =使用主键

然而,MongoDB 接口似乎根本不支持这一点。我使用基于角色的访问控制方法遵循上述文档,并最终在执行以下命令时遇到以下问题:

az cosmosdb sql role definition create --account-name <some-account> --resource-group <some-resource-group> --body @role-definition.json

(BadRequest) 数据库帐户 [<some-database>] 的 API 类型 [MongoDB] 对处理 SQL 角色定义无效。

以上也是基于(资源)令牌方法的确认文档:https ://docs.microsoft.com/en-us/rest/api/cosmos-db/permissions (见第一行):

Azure Cosmos DB 是一个全球分布式多模型数据库,支持文档、图形和键值数据模型。本节内容用于通过 REST 使用 SQL API 管理权限资源

希望这会有所帮助。

于 2021-09-24T14:20:37.023 回答