程式碼群組屬性的管理

重要事項重要事項

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

假設您是負責管理多部工作站安全性原則的企業管理員。 在一般的企業網域中,網路系統管理員擁有每一個伺服器和每一位用戶端的管理權限。 但是,個別的使用者也經常擁有一部工作站的管理權限。 因此,網路系統管理員會擁有企業原則層級的管理權限,工作站管理員則會擁有電腦原則層級的管理權限。 在這種情況下,由於會先評估企業原則,而且不允許電腦原則減弱企業層級管理員所做的安全性決定,因此,網路系統管理員似乎對原則具有較多的控制權。 但是,電腦層級的管理員仍然可以增強安全性,因此可能會阻擋原本可以執行的受信任應用程式。 基於這個原因,較高的原則層級可以選擇排除評估較低層級原則的決定。

若要這麼做,可以使用其中一個安全性原則工具,將 LevelFinal 或 Exclusive 屬性套用於程式碼群組。

LevelFinal 屬性

如果將 LevelFinal 屬性套用於程式碼群組,它會排除評估低於目前層級的任何原則層級。 例如,如果您在企業層級將 LevelFinal 屬性套用於近端內部網路程式碼群組,即使電腦層級的管理員已做過變更,也不會評估電腦層級的任何程式碼群組。 套用 LevelFinal 屬性可保證,和標記這個屬性的程式碼群組關聯的組件將不會因為較低原則層級管理員所做的決定而收到較少的使用權限。 如需在預設或自訂程式碼群組上設定 LevelFinal 屬性的詳細資訊,請參閱 .NET Framework 組態工具 (Mscorcfg.msc)程式碼存取安全性原則工具 (Caspol.exe)

Exclusive 屬性

如果將 Exclusive 屬性套用於程式碼群組,當執行階段為獨佔程式碼群組中的組件計算使用權限時,不會考慮相同原則層級中的其他程式碼群組。 不過,仍然會評估目前層級上下的原則層級。 這個屬性允許一個特定的程式碼群組,針對要將哪些使用權限授與符合該群組的組件,單獨為目前的原則層級做決定。 當您想要將特定的使用權限集合授與特定的組件,但是又不想授與相同原則層級中的其他程式碼群組的使用權限時,這麼做就很有用。

請注意,如果組件屬於多個標記為獨佔的程式碼群組,就不允許它執行。 因此,在管理自訂安全性原則時,請謹慎使用 Exclusive 屬性。 如需在內建或自訂程式碼群組上設定 Exclusive 屬性的詳細資訊,請參閱 .NET Framework 組態工具 (Mscorcfg.msc)程式碼存取安全性原則工具 (Caspol.exe)

請參閱

概念

程式碼群組屬性

程式碼群組

其他資源

一般安全性原則管理

安全性原則的最佳作法