Sql-Server
Azure SQL |授予安全組數據庫角色權限
我正在嘗試在我們公司的 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 命令並使用組的顯示名稱將組添加到數據庫角色。