簡體   English   中英

Azure Cosmos DB 使用基於角色的訪問控制讀取數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM