共用方式為


CLR 整合安全性

.NET Framework Common Language Runtime 的安全性模型 (CLR) 管理及保護在 Transact-SQL 語句中執行之不同 CLR 類型和非 CLR 物件之間的存取,或是在伺服器中執行的另一個 CLR 物件。 這些物件之間的呼叫稱為連結。 針對這些物件所執行的安全性檢查類型會因所涉及的連結類型而不同。

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

  • 根據預設,在 SQL Server 上執行 Managed 使用者程式碼。 執行可能會危害SQL Server健全性的作業,應受到適當高階許可權的保護。

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

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

  • 使用者定義程式碼不應藉由在SQL Server進程中執行,來取得系統資源的未經授權存取權。

SQL Server CLR 的程式碼存取型安全性模型。 本節將討論這種結合方法對於安全性的一些優點。

下表列出本節的主題。

CLR 整合程式碼存取安全性
討論 Managed 程式碼的程式碼存取安全性 (CAS) 模型。

主機保護屬性和 CLR 整合程式設計
提供不允許在 SAFE 和 EXTERNAL_ACCESS 組件中使用之主機保護屬性 (HPA) 值的相關資訊。

CLR 整合安全性中的連結
描述使用者程式碼片段如何在SQL Server中彼此呼叫。

模擬和 CLR 整合安全性
討論 Managed 程式碼如何使用模擬來存取外部資源。

允許部分信任的呼叫端
討論 Managed 方法叫用其他組件所包含之類別中的方法時所引發的問題。

應用程式網域和 CLR 整合安全性
描述如何將組件載入應用程式網域中。

另請參閱

管理 CLR 整合組件