Sql-Server

Azure SQL |授予安全組數據庫角色權限

  • March 12, 2021

我正在嘗試在我們公司的 Azure 環境中授予一個安全組,該環境位於 Azure AD 中。我已成功授予使用者對 db_datareader、writer、owner 角色的權限。但是我正在嘗試將一個組添加到其中一個角色中,並且出現下面的錯誤。

我是 Azure 中 SQL Server 的 AD 管理員,我確認安全組已同步並在我們的 Azure AD 環境中找到。我還確認針對實際數據庫和主數據庫執行以下命令。

我知道在 Azure SQL 中,您可以執行 T-SQL 命令通過其 UPN 添加使用者,這很好用:

CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER;
ALTER ROLE [db_datawriter] ADD MEMBER [bob@contoso.com];

但是當執行下面它提供了一個錯誤

ALTER ROLE [db_datawriter] ADD MEMBER [groupname@contoso.com];

消息 15151,級別 16,狀態 1,第 1 行無法添加主體 ‘groupname@contoso.com’,因為它不存在或您沒有權限。

我是否還需要為 Sec Group 創建一個 Group?如:

CREATE GROUP [groupname@contoso.com] FROM EXTERNAL PROVIDER; -- "GROUP" is not correct syntax.

或者

CREATE USER [groupname@contoso.com] FROM EXTERNAL PROVIDER;

這篇文章沒有提供我能找到的關於這個主題的任何細節,但是添加了使用者。

在對這個問題進行了更多審查之後,我發現在 Azure SQL 中添加安全組的語法如下

CREATE USER [Group Display Name] FROM EXTERNAL PROVIDER;

您可以通過Microsoft 的一篇文章進行確認

若要創建表示 Azure AD 或聯合域的包含數據庫使用者,請提供安全組的顯示名稱

創建使用者$$ ICU Nurses $$來自外部供應商;

這是涵蓋該主題的第二篇文章。沒有 CREATE GROUP 語法。要添加 Sec Group,可以使用 CREATE USER 語法來完成。

之後,您可以繼續執行 ALTER ROLE 命令並使用組的顯示名稱將組添加到數據庫角色。

引用自:https://dba.stackexchange.com/questions/286826