[英]Azure Cosmos DB read data using role based access control
我在 Azure 中有一個 CosmosDB,我想授予用戶訪問權限以讀取各種 collections 中的數據。
我嘗試賦予他們“讀者”角色,讓他們確定存在 CosmosDB,並且他們可以看到一些元數據。 但他們無法訪問內部的數據
我為他們分配了“Cosmos DB 帳戶閱讀器”,結果更好。
但在我看來,“讀者”角色應該取代“Cosmos DB 帳戶讀者”角色。 還是我在這里走錯了路? 我相信“讀者”角色賦予了*所有讀取權限。
編輯:
在portal.azure.com上使用內置的“數據資源管理器”似乎沒有問題。
真正的問題是使用cosmos.azure.com和使用 ActiveDirectory 登錄 inn,並沒有讓用戶看到任何具有“Cosmos DB Account Reader”角色的內容。 可能需要用戶具有寫訪問權限。
為了從 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"
}
Microsoft.DocumentDB/databaseAccounts/readonlykeys/action
操作可以獲取只讀訪問密鑰,從而讀取數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.