主體會透過角色型訪問控制模型授與資源的存取權,而其指派的安全性角色會決定其資源存取權。
當主體嘗試作業時,系統會執行授權檢查,以確保主體與至少一個授與許可權以執行作業的安全性角色相關聯。 授權檢查失敗會中止作業。
本文所列的管理命令可用來管理資料庫、數據表、外部數據表、具體化檢視和函式上的主體及其安全性角色。
備註
的安全性角色AllDatabasesAdminAllDatabasesViewer無法使用安全性角色管理命令來設定。 它們分別由 Admin 工作區中的 和 Viewer 角色繼承。
備註
、 AllDatabasesViewer和 AllDatabasesMonitor 的AllDatabasesAdmin三個叢集層級安全性角色無法使用安全性角色管理命令來設定。
若要瞭解如何在 Azure 入口網站中設定它們,請參閱 管理叢集許可權。
管理命令
下表描述用來管理安全性角色的命令。
| 指令 | 說明 |
|---|---|
.show |
列出具有指定角色的主體。 |
.add |
將一或多個主體新增至角色。 |
.drop |
從角色中移除一或多個主體。 |
.set |
將角色設定為特定的主體清單,移除所有先前的主體清單。 |
安全角色
下表描述針對每個角色授與的存取層級,並顯示是否可以在指定物件類型內指派角色的檢查。
| 角色 | 權限 | 資料庫 | 資料表 | 外部數據表 | 具象化視圖 | Functions |
|---|---|---|---|---|---|---|
admins |
檢視、修改和移除物件和子物件。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
users |
檢視 物件並建立新的子物件。 | ✔️ | ||||
viewers |
檢視未開啟 RestrictedViewAccess 的物件。 | ✔️ | ||||
unrestrictedviewers |
檢視物件,即使 RestrictedViewAccess 開啟也一樣。 主體也必須具有 admins、 viewers 或 users 許可權。 |
✔️ | ||||
ingestors |
將數據擷取至物件,而無法存取查詢。 | ✔️ | ✔️ | |||
monitors |
檢視元數據,例如架構、作業和許可權。 | ✔️ |
如需每個範圍安全性角色的完整描述,請參閱 Kusto 角色型訪問控制。
備註
無法只為資料庫中的某些數據表指派 viewer 角色。 如需如何將主體檢視存取權授與數據表子集的不同方法,請參閱 管理數據表檢視存取。
常見場景
顯示您的主體角色
若要查看叢集上您自己的角色,請執行下列命令:
若要在 eventhouse 上查看您自己的角色,請執行下列命令:
.show cluster principal roles
在資源上顯示您的角色
若要檢查在特定資源上指派給您的角色,請在包含資源的相關資料庫或資料庫內執行下列命令:
// For a database:
.show database DatabaseName principal roles
// For a table:
.show table TableName principal roles
// For an external table:
.show external table ExternalTableName principal roles
// For a function:
.show function FunctionName principal roles
// For a materialized view:
.show materialized-view MaterializedViewName principal roles
顯示資源上所有主體的角色
若要查看指派給特定資源之所有主體的角色,請在相關資料庫或包含資源的資料庫內執行下列命令:
// For a database:
.show database DatabaseName principals
// For a table:
.show table TableName principals
// For an external table:
.show external table ExternalTableName principals
// For a function:
.show function FunctionName principals
// For a materialized view:
.show materialized-view MaterializedViewName principals
小提示
使用 where 運算符,依特定主體或角色篩選結果。
這很重要
如果主體與用戶位於相同的租使用者中,則其完整名稱 (FQN) 會顯示。
如果主體位於與使用者不同的租使用者中:
- 顯示名稱不會顯示 FQN。
- 顯示名稱表示主體來自不同租使用者。 格式為
[User/Group/Application] from AAD tenant [Tenant Id]。 - 若要新增識別資訊,請在其租使用者中指派角色,並使用
Description參數來新增識別詳細數據。 會顯示Description在輸出的 Notes 資料行中。
修改角色指派
如需如何在資料庫和數據表層級修改角色指派的詳細資訊,請參閱 管理資料庫安全性角色 和管理 數據表安全性角色。