共用方式為


適用於 NoSQL 的 Azure Cosmos DB 資料平面安全性參考

適用於 NoSQL 的 Azure Cosmos DB 會在其原生角色型存取控制實作中公開一組唯一的數據動作和角色。 本文包含這些動作和角色的清單,以及針對每個資源授與哪些權限的說明。

警告

適用於 NoSQL 的 Azure Cosmos DB 原生角色型存取控制不支援 notDataActions 屬性。 任何未指定為允許 dataAction 的動作都會自動排除。

內建動作

以下是可在角色定義中個別設定的資料動作清單。

Description
Microsoft.DocumentDB/databaseAccounts/readMetadata 從帳戶讀取數據平面作業所需的元數據
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create 建立新專案
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read 使用分割區索引鍵和唯一標識符執行點讀取來讀取特定專案
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace 取代現有的專案
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/upsert 如果新專案不存在或取代現有的專案,請建立新專案
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/delete 刪除專案
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery 執行 NoSQL 查詢
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed 從容器的變更摘要讀取
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeStoredProcedure 執行預存程式
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/manageConflicts 使用衝突摘要管理帳戶的衝突

備註

若要使用軟體開發工具組執行 NoSQL 查詢,您必須同時擁有 Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQueryMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed 許可權。

資料動作萬用字元

容器和專案層級都支援通配符。

Description
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/* 執行所有容器特定的作業,例如執行查詢、讀取變更摘要、管理衝突,以及執行預存程式
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/* 執行所有專案特定的作業,例如建立、讀取、更新、取代和刪除專案

內建角色

適用於 NoSQL 的 Azure Cosmos DB 會定義數據平面特定的角色定義。 這些角色與 Azure 角色型存取控制角色定義不同。

Cosmos DB 內建資料讀者

編號00000000-0000-0000-0000-000000000001

  • 包含的動作
    • Microsoft.DocumentDB/databaseAccounts/readMetadata
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed

Cosmos DB 內建資料參與者

編號00000000-0000-0000-0000-000000000002

  • 包含的動作
    • Microsoft.DocumentDB/databaseAccounts/readMetadata
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*

必要的元數據

Azure Cosmos DB 軟體開發套件 (SDK) 會在初始化期間發出唯讀中繼資料要求,並提供特定的資料要求。 這些要求會擷取各種組態詳細資料,例如:

  • 帳戶的全域設定,包括帳戶可用的 Azure 區域
  • 容器的分割區索引鍵或其索引政策
  • 建立容器的實體分割區清單及其位址
  • 他們不會擷取儲存在您帳戶中的任何資料

為確保權限模式的最佳透明度,資料動作會明確 Microsoft.DocumentDB/databaseAccounts/readMetadata 涵蓋這些中繼資料要求。 在透過其中一個 Azure Cosmos DB SDK 存取 Azure Cosmos DB 帳戶的每種情況下,都必須允許此動作。

您可以在 Azure Cosmos DB 帳戶階層中的任何層級指派動作,包括帳戶、資料庫或容器。 允許的實際中繼資料請求取決於範圍:

  • 帳戶
    • 列出帳戶下的資料庫
    • 針對帳戶下的每個資料庫,資料庫範圍中允許的動作
  • 資料庫
    • 讀取資料庫元數據
    • 列出資料庫底下的容器
    • 針對資料庫下的每個容器,容器範圍中允許的動作
  • 容器
    • 讀取容器中繼資料
    • 列出容器底下的實體分割區
    • 解析每一個實體分割區的位址

這很重要

您無法使用資料動作來 Microsoft.DocumentDB/databaseAccounts/readMetadata 管理輸送量。