Share via


CLR 整合安全性

SQL Server 與 .NET Framework Common Language Runtime (CLR) 的整合安全性模型可管理及保護在 SQL Server 內執行之不同類型 CLR 及非 CLR 物件的存取權。這些物件可由 Transact-SQL 陳述式或在伺服器中執行的其他 CLR 物件呼叫。這些物件之間的呼叫稱為連結。針對這些物件所執行的安全性檢查類型會因所涉及的連結類型而不同。

CLR 整合安全性模型具有下列目標:

  • 根據預設,在 SQL Server 上執行 Managed 使用者程式碼不應該危害 SQL Server 的完整性和穩定性。執行可能危害 SQL Server 健全性的作業應該透過適當的高層級權限保護。

  • Managed 使用者程式碼不應該取得資料庫中使用者資料或其他使用者程式碼的未經授權存取權。使用者定義程式碼應該在叫用它之使用者工作階段的安全性內容底下執行,而且使用該安全性內容的正確權限執行。

  • 應該要有一些控制項來限制使用者程式碼存取伺服器外部的任何資源,並且針對本機資料存取和計算嚴格使用。

  • 使用者定義程式碼不應該透過在 SQL Server 處理序中執行,取得系統資源的未經授權存取權。

SQL Server 現在會整合 SQL Server 以使用者為基礎的安全性模型與 CLR 以程式碼存取權為基礎的安全性模型。本節將討論這種結合方法對於安全性的一些優點。

下表列出本節的主題。

請參閱

概念