Azure-Sql-Database
使用 SSMS 對象資源管理器從伺服器登錄中刪除使用者後,如何從主數據庫中刪除使用者
我正在使用 Azure SQL 數據庫。在我看到漏洞評估報告中提到他們後,我從 Azure SQL 數據庫中刪除了一些使用者。以下是我刪除它們的方法:
- 登錄 SSMS
- 展開對象資源管理器樹
- 展開“安全”文件夾
- 展開“登錄”文件夾
- 突出顯示使用者
- 右鍵點擊並選擇“刪除”
我回到漏洞評估刀片並執行了新的“掃描”,但我刪除的使用者仍然顯示在列表中。該列表包含 SQL 程式碼以顯示我的使用者仍然存在。我在主數據庫的 SSMS 中執行該程式碼並確認我的使用者仍然存在。以下是相關程式碼:
SELECT * FROM sys.database_principals
當我執行以下程式碼時,我收到一條錯誤消息,指出使用者不存在(“或者您沒有權限” - 但我是伺服器管理員,所以我排除了這一點):
DROP LOGIN <username>
**注意:**我已經從伺服器上的所有數據庫中刪除了使用者。
如何擺脫這些登錄?
這裡有兩個與安全有關的概念,以及 SQL Server 的工作原理。有Logins和Users,在這個StackOverflow 答案中進一步討論了它們的區別。您已經刪除了伺服器級別的登錄,但與這些登錄關聯的****使用者仍然存在於數據庫級別,它有自己的安全節點,您可以展開它,然後在它下面有一個使用者節點。
每當您將登錄名映射到數據庫(以授予數據庫權限)時,它都會在該數據庫中創建一個使用者。
例子: