共用方式為


管理資料庫安全性角色

適用於: ✅Microsoft網狀架構Azure 數據總管

主體會透過角色型訪問控制模型授與資源的存取權,而其指派的安全性角色會決定其資源存取權。

在本文中,您將瞭解如何使用管理命令來 檢視現有的安全性角色 ,以及 新增和卸除資料庫層級上安全性角色 的主體關聯。

權限

您必須至少有 Database Admin 許可權才能執行這些命令。

注意

若要刪除資料庫,您至少 需要參與者 Azure Resource Manager (ARM) 許可權。 若要指派 ARM 許可權,請參閱使用 Azure 入口網站 指派 Azure 角色。

資料庫層級安全性角色

下表顯示資料庫層級上可能的安全性角色,並描述授與每個角色的許可權。

角色 權限
admins 檢視和修改資料庫和資料庫實體。
users 檢視資料庫並建立新的資料庫實體。
viewers 在未開啟 RestrictedViewAccess 的資料庫中檢視數據表。
unrestrictedviewers 檢視資料庫中的數據表,即使 RestrictedViewAccess 已開啟也一樣。 主體也必須具有 adminsviewersusers 許可權。
ingestors 將數據內嵌至資料庫,而無法存取查詢。
monitors 檢視資料庫元數據,例如架構、作業和許可權。

注意

無法只為資料庫中的某些數據表指派 viewer 角色。 如需如何將主體檢視存取權授與數據表子集的不同方法,請參閱 管理數據表檢視存取

顯示現有的安全性角色

新增或移除主體之前,您可以使用 .show 命令來查看數據表,其中包含已在資料庫上設定的所有主體和角色。

語法

若要顯示所有角色:

.showdatabase DatabaseName principals

若要顯示您的角色:

.showdatabase 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、、usersviewersunrestrictedviewersingestorsmonitors
主體 string ✔️ 一或多個主體或受控識別。 若要參考受控識別,請使用使用受控識別物件識別碼或受控識別用戶端(應用程式)標識碼的「應用程式」格式。 如需如何指定這些主體的指引,請參閱 參考Microsoft Entra 主體和群組
skip-results string 如果提供,此命令將不會傳回資料庫主體的更新清單。
說明 string 描述使用 命令時所顯示變更的 .show 文字。
名稱 類型​​ 必要 描述
動作 string ✔️ 指令 .add.drop.set
.add 會新增指定的主體、 .drop 移除指定的主體,並 .set 新增指定的主體,並移除所有先前的主體。
DatabaseName string ✔️ 要加入主體的資料庫名稱。
Role string ✔️ 要指派給主體的角色。 針對資料庫,這可以是admins、、usersviewersunrestrictedviewersingestorsmonitors
主體 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