安全性原則管理

重要事項重要事項

在 .NET Framework 4 版 中,Common Language Runtime (CLR) 不會為電腦提供安全性原則。Microsoft 建議您使用 Windows 軟體限制原則做為 CLR 安全性原則的取代項目。本主題中的資訊適用於 .NET Framework 3.5 (含) 以前版本,而不適用於 4 (含) 以後版本。如需這項變更和其他變更的詳細資訊,請參閱 .NET Framework 4 中的安全性變更

安全性原則是 Common Language Runtime 在決定要授與程式碼的使用權限時所遵照的一組可設定規則。 程式碼是以其組件檔來識別,而這個組件檔不是可執行檔 (.exe) 就是程式庫 (.dll)。 執行階段會檢查組件的可辨識特性 (例如程式碼來源的網站或區域),然後決定程式碼對資源的存取權限。 這些特性是定義成與組件關聯的 System.Security.Policy.Evidence。 組件的常見 Evidence 包括 UrlZoneStrongNameHash。 在執行期間,執行階段會使用 Evidence 確保程式碼只存取已授與它存取權限的資源。

安全性原則會定義幾個程式碼群組,並將每個群組與一組使用權限相關聯。 安全性系統會使用 Evidence 來判斷組件所屬的程式碼群組。 在考慮完所有的辨識項 (Evidence) 之後,組件會與一個或多個程式碼群組產生關聯,而授與給此組件的使用權限,包括所有與相符程碼群組關聯的使用權限。

根據預設,如果執行組件的電腦就是存放組件的電腦,這些組件就會位於 MyComputer 區域中。 MyComputer 區域辨識項會將程式碼放在 My_Computer_Zone 程式碼群組中,並授與它完全信任的使用權限。 完全信任的使用權限集合會略過安全性檢查,並授與程式碼存取所有受保護資源的權限。 因此,您只能在自己的電腦安裝來自您完全信任之來源的應用程式,這一點非常重要。 在 .NET Framework 3.5 版 Service Pack 1 (SP1) 中,完全信任已擴充到您從內部網路及從自己的電腦執行的組件。 同樣地,您也只能執行自己完全信任的內部網路應用程式。 安全性原則管理員可以選擇將內部網路應用程式的原則,還原到先前所授與的部分信任狀態。

雖然預設安全性原則適用於大部分的情況,但是系統管理員仍可依據組織的特定需求來修改或自訂安全性原則。 Runtime 會根據安全性原則,將使用權限同時授與組件 (Assembly) 和應用程式定義域。

在本節中

相關章節