Ale*_*olo 6 azure role-based-access-control azure-cosmosdb
我在 Azure 中有一个 CosmosDB,我想授予用户访问权限来读取各种集合内的数据。
我尝试给他们“读者”角色,这让他们知道存在 CosmosDB,并且他们可以看到一些元数据。但他们无法访问其中的数据
我为他们分配了“Cosmos DB 帐户阅读器”,这取得了更好的结果。
但在我看来,“读者”角色应该取代“Cosmos DB 帐户读者”角色。或者我在这里走错了路?我相信“读者”角色授予*所有读取权限。
编辑:使用Portal.azure.com
上内置的“数据资源管理器”似乎没有问题。
真正的问题是使用cosmos.azure.com和使用 ActiveDirectory 登录,没有让用户看到任何具有“Cosmos DB 帐户读取者”角色的内容。可能需要用户具有写入权限。
为了从 Cosmos DB 帐户读取数据,用户应该具有允许获取访问密钥的角色。角色Reader不具备此能力。但是,
Cosmos DB Account Reader角色能够获取read-only access keys该角色中的用户可以读取数据(但不能对该数据进行任何更改)的权限。
由此link,角色的定义如下Cosmos DB Account Reader:
{
"assignableScopes": [
"/"
],
"description": "Can read Azure Cosmos DB Accounts data",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/fbdf93bf-df7d-467e-a4d2-9458aa1360c8",
"name": "fbdf93bf-df7d-467e-a4d2-9458aa1360c8",
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.DocumentDB/*/read",
"Microsoft.DocumentDB/databaseAccounts/readonlykeys/action",
"Microsoft.Insights/MetricDefinitions/read",
"Microsoft.Insights/Metrics/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Support/*"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
"roleName": "Cosmos DB Account Reader Role",
"roleType": "BuiltInRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
Run Code Online (Sandbox Code Playgroud)
Microsoft.DocumentDB/databaseAccounts/readonlykeys/action操作可以获取只读访问密钥,从而读取数据。
| 归档时间: |
|
| 查看次数: |
7733 次 |
| 最近记录: |