管理數據表安全性角色
適用於: ✅Microsoft網狀架構✅Azure 數據總管
主體會透過角色型訪問控制模型授與資源的存取權,而其指派的安全性角色會決定其資源存取權。
在本文中,您將瞭解如何使用管理命令來 檢視現有的安全性角色 ,以及在 數據表層級新增和移除安全性角色 。
注意
主體必須具有資料庫層級的存取權,才能獲指派數據表特定的安全性角色。
權限
您必須至少有 資料表管理員 許可權才能執行這些命令。
數據表層級安全性角色
下表顯示數據表層級上可能的安全性角色,並描述授與每個角色的許可權。
角色 | 權限 |
---|---|
admins |
檢視、修改及移除數據表和數據表實體。 |
ingestors |
將數據擷取至數據表,而無法存取查詢。 |
注意
若要瞭解如何授與資料庫內數據表子集的主體檢視存取權,請參閱 管理數據表檢視存取。
顯示現有的安全性角色
新增或移除主體之前,您可以使用 .show
命令來查看數據表,其中包含已在數據表上設定的所有主體和角色。
語法
若要顯示所有角色:
.show
table
TableName principals
若要顯示您的角色:
.show
table
TableName principal
roles
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
TableName | string |
✔️ | 要列出主體的數據表名稱。 |
範例
下列命令會列出具有數據表存取 StormEvents
權的所有安全性主體。
.show table StormEvents principals
範例輸出
角色 | PrincipalType | PrincipalDisplayName | PrincipalObjectId | PrincipalFQN |
---|---|---|---|---|
數據表 StormEvents 管理員 | Microsoft Entra 使用者 | 艾比·阿特金斯 | cd709aed-a26c-e3953dec735e | aaduser=abbiatkins@fabrikam.com |
新增和卸除安全性角色
本節提供新增和移除主體的語法、參數和範例。
語法
Action TableName 角色 (
主體 [ ,
Principal...] )
[skip-results
] [ Description ] table
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
動作 | string |
✔️ | 指令 .add 、 .drop 或 .set 。.add 會新增指定的主體、 .drop 移除指定的主體,並 .set 新增指定的主體,並移除所有先前的主體。 |
TableName | string |
✔️ | 要加入主體的數據表名稱。 |
Role | string |
✔️ | 要指派給主體的角色。 對於資料表,這可以是 admins 或 ingestors 。 |
主體 | string |
✔️ | 一或多個主體。 如需如何指定這些主體的指引,請參閱 參考安全性主體。 |
skip-results |
string |
如果提供,此命令將不會傳回已更新的數據表主體清單。 | |
說明 | string |
描述使用 命令時所顯示變更的 .show 文字。 |
注意
.set
具有 none
的 命令,而不是主體清單,將會移除指定角色的所有主體。
範例
在下列範例中,您將瞭解如何 新增安全性角色、 移除安全性角色,以及 在同一個命令中新增和移除安全性角色。
使用 .add 新增安全性角色
下列範例會將主體新增至 admins
數據表上 StormEvents
的角色。
.add table StormEvents admins ('aaduser=imikeoein@fabrikam.com')
下列範例會將應用程式新增至 ingestors
數據表上 StormEvents
的角色。
.add table StormEvents ingestors ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com')
使用 .drop 移除安全性角色
下列範例會從 admins
數據表上 StormEvents
的角色中移除群組中的所有主體。
.drop table StormEvents admins ('aadGroup=SomeGroupEmail@fabrikam.com')
新增安全性角色,並使用 .set 移除舊的
下列範例會移除現有的 ingestors
,並將提供的主體新增為 ingestors
資料表上的 StormEvents
。
.set table StormEvents ingestors ('aaduser=imikeoein@fabrikam.com', 'aaduser=abbiatkins@fabrikam.com')
使用 .set 移除所有安全性角色
下列命令會移除資料表上StormEvents
所有現有的 ingestors
。
.set table StormEvents ingestors none