在 SQL Server 中使用 Windows 使用者組的一些詭異問題

來源:互聯網
上載者:User

最近,在SQLServer中使用Windows使用者組時,發現了一些比較詭異的問題。

SQL Server版本:SQL Server 2008 R2

問題1:Login failed for user 'xx\xx'

操作描述:

         在SQL Server中添加一個Windows使用者,並且使用該使用者串連SQLServer(Windows身分識別驗證),登入失敗,日誌中出現如下錯誤:

Login failed for user 'xx\xx'. 原因:
基於令牌的伺服器訪問驗證失敗,出現基礎結構錯誤。請檢查以前的錯誤。 [用戶端: <xxxx>]

         檢查許可權分配沒有任何異常,後來屬性,該使用者屬於一個Windows使用者組,這個使用者組也是SQL Server的Login,並且顯式拒絕了CONNECT
SQL許可權,嘗試去掉Windows組上的拒絕許可權,發現可以正常登入。

         反覆測試後發現,如果Windows使用者和它所屬的Windows使用者組都是SQLServer的Login的話,則Windows使用者的許可權為其自身的許可權+所屬Windows組的許可權,並且拒絕許可權優先。也就是說,只要Windows使用者所屬的使用者組具有某個對象的存取權限,那麼Windows使用者也會有這個許可權;而如果其所屬的使用者組設定了拒絕許可權,則即使顯式給Windows使用者權限,也會出現許可權拒絕的現象。我所遇到的問題,就是因為使用者所屬Windows使用者組設定了拒絕串連SQL
Server,所以不管我是否授予使用者串連SQL Server的許可權,均無法串連SQL Server。

 

問題2:孤立使用者???

操作描述:

         這個是在測試問題1的過程中發現的。當我為Windows使用者組授予了某個資料庫的許可權之後,這個使用者組所屬的使用者也獲得了這個許可權(沒有為使用者顯式授權),這個在問題1中已經結案了。

         現在的問題是,當我把Windows使用者組對應的Login(是執行個體層級的Login,不是資料庫層級的User)刪除後,發現這個組對應的Windows使用者(在SQLServer中有對應的Login)還是具有所屬Windows使用者組的許可權。

       看起來在刪除Windows使用者組的時候要小心,不但要刪除Login,還要刪除資料庫層級的User。否則可能會因為這個而產生安全性漏洞。

註:

        
刪除Login的時候,資料庫層級的User不會自動刪除,這種User稱之為孤立使用者。(線上說明上的原文“如果刪除了對應的 SQL Server
登入名稱,則資料庫使用者可能會變為孤立使用者”)。
    孤立使用者由於沒有Login,無法產生與之相關的登入,所以一般情況下我們會認為孤立使用者不會影響到安全性。但對於Windows使用者組,看起來就危險了。

 

問題3:還是孤立使用者???

操作描述:

         在問題2的基礎上,發現了一個列有趣的問題。可以直接通過CREATE
USER [xx\xx]
FOR LOGIN [xx\xx]語句,在DB層級上,為Windows使用者組建立User,並且可以授權。這似乎就是人為建立孤立使用者了。  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.