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