HOW TO:使用 Caspol.exe 加入程式碼群組
加入群組命令範例
當您使用程式碼存取安全性原則工具 (Caspol.exe) 將程式碼群組加入至程式碼群組階層架構時,您必須同時為新程式碼群組定義成員資格條件和使用權限集合。 您也必須定義父程式碼群組 (您正要在其中加入新程式碼群組那一個) 的標記 (Label) 或名稱。 您也可以選擇性地在程式碼群組上設定其他旗標。 如需這些旗標的詳細資訊,請參閱程式碼存取安全性原則工具 (Caspol.exe)。
若要加入程式碼群組至程式碼群組階層架構
在命令提示字元中輸入下列命令:
caspol [-enterprise| -machine |-user] -addgroup {parentLabel|parentName} mship pset_name [-exclusive {on|off}][-levelfinal {on|off}] [-name name] [-description description text]
在 -addgroup 選項之前指定原則層級選項。 如果您省略原則層級選項,Caspol.exe 會將程式碼群組加入至預設原則層級。 對於電腦系統管理員而言,預設層級為電腦原則層級;對其他人而言,則為使用者原則層級。 在這個命令中:
parentLabel 引數為新程式碼群組的父程式碼群組標記。 此外,您也可以使用父代 (Parent) 的程式碼群組名稱 (parentName) 來代替 parentLabel。 若要取得此資訊,請按照 HOW TO:使用 Caspol.exe 檢視程式碼群組的說明,列出程式碼群組。
pset_name 引數是要和新程式碼群組產生關聯的使用權限集合的名稱。 在具名使用權限集合可以和程式碼群組產生關聯之前,它必須在您將要加入新程式碼群組的原則層級上為已知的。 例如,如果您想要使 MyPset 使用權限集合與使用者原則中的新程式碼群組產生關聯,您必須已經將 MyPset 使用權限集合加入至使用者原則。 使用權限集合不需事先加入的唯一時機是,當您使用 .NET Framework 所提供標準使用權限集合的其中之一時。 若要了解如何將使用權限集合加入原則層級,請參閱 HOW TO:使用 Caspol.exe 加入使用權限集合。
mship 引數為新程式碼群組的成員資格條件。 如需 mship 引數值的清單,請參閱程式碼存取安全性原則工具 (Caspol.exe)。
注意事項 |
---|
您不能使用 -addgroup 選項一次將程式碼群組加入至一個以上的層級。每一個這樣的加入都必須個別進行,因為不同程式碼群組標記和某些使用權限集合的可用性會造成混淆。 |
加入群組命令範例
下列程序描述如何執行一些最常見的程式碼群組加入工作。
若要加入以來自內部網路的程式碼為目標的程式碼群組
使用 -zone 選項,並指定 Intranet 做為成員資格值。
下列命令可使 Everything 使用權限集合與來自內部網路的程式碼產生關聯。 程式碼群組名稱也指定為 Intranet_CG。 您可以使用這個名稱來參考新建立的程式碼群組,而非使用其數值標記。
caspol –addgroup 1.1. –zone Intranet Everything –name "Intranet_CG"
若要加入以來自Internet Explorer 信任網站的程式碼為目標的程式碼群組
使用 -zone 選項,並指定 Trusted 做為成員資格值。
下列命令使 LocalIntranet 使用權限集合與來自受信任區域的程式碼產生關聯,並插入新程式碼群組當做程式碼群組階層架構的根 (Root) 的子系。
caspol -addgroup All_Code -zone Trusted LocalIntranet
若要加入以特定軟體發行者為目標的程式碼群組
使用 -pub 選項,並指定憑證檔、已簽名檔案,或 X.509 憑證的十六進位表示。
軟體發行者的檔案必須為這個成員資格條件妥善簽名才能運作。 成員資格條件可以在實際的憑證檔或簽名的 .exe 檔案其中之一的基礎上來建構。
假定有 FourthCoffee (FourthCoffee.cer) 的憑證檔可用。 下列命令會為 FourthCoffee 發行的程式碼在電腦原則中加入程式碼群組,並使 Nothing 使用權限集合與新群組產生關聯。 程式碼群組被當做根的子程式碼群組來加入。
caspol –machine –addgroup 1 –pub –cert FourthCoffee.cer Nothing
若要加入以來自特定網站程式碼為目標的程式碼群組
使用 -site 選項,並指定網站的 URL。
注意事項 由於會有 DNS 名稱冒用的可能,使用網站當做成員資格條件,並無法有效確定程式碼的識別 (Identity)。請盡可能使用強式名稱 (Strong Name) 成員資格條件、發行者成員資格條件或雜湊成員資格條件。
下列命令會使 Intranet 使用權限集合與來自 www.microsoft.com 的程式碼產生關聯。
caspol –addgroup 1 –site www.microsoft.com Intranet
若要加入以來自特定 URL 程式碼為目標的程式碼群組
使用 -url 選項,並指定網站的 URL。
URL 必須包括通訊協定,如 http://、http:// 或 ftp://。 此外,可以使用萬用字元 (*) 指定來自特定 URL 的多個組件。
注意事項 因為 URL 可以使用多個名稱來識別,所以將 URL 當做成員資格條件使用並不是確定程式碼識別的安全方法。請盡可能使用強式名稱 (Strong Name) 成員資格條件、發行者成員資格條件或雜湊成員資格條件。
caspol –user –addgroup 1 –url https://www.contoso.com/bin/* FullTrust caspol –user –addgroup 1 –url https://www.contoso.com/bin/MyAssembly.dll FullTrust
若要加入覆寫原則層級上其他使用權限的程式碼群組
設定新程式碼群組的 -exclusive 旗標。
下列命令會在 Intranet_cg 程式碼群組之下加入程式碼群組。 如果區域是受信任的,並且覆寫其他程式碼群組可能授與的任何其他使用權限的話,新程式碼群組將授與 Everything 使用權限集合。
caspol –addgroup "Intranet_cg" –zone Trusted Everything –exclusive on
若要加入具有自訂成員資格條件的程式碼群組
使用 -custom 選項,並指定含有自訂成員資格條件的 XML 序列化 (Serialization) 的 XML 檔。
Caspol.exe 在原則中支援自訂成員資格條件的使用,這原則使得原則系統的可擴充性大大提高。
下列命令會將新程式碼群組加入至使用者原則的根。 這個新程式碼群組包含存在於 NewMembershipCondition.xml 檔案的自訂成員資格條件,並對符合這個成員資格條件的組件授與完全信任。
caspol –user –addgroup All_Code –custom NewMembershipCondition.xml FullTrust
若要加入具有名稱和說明的程式碼群組
使用 -name 選項,並指定程式碼群組的名稱。 含有空格的名稱需要以雙引號 (" ") 括住。
使用 -description 選項,並指定程式碼群組的說明。
您可以稍後使用名稱來參考程式碼群組。 名稱為指令碼原則變更提供較數值標記為佳的支援。
預設原則將與預設名稱一起發行。 如果沒有被系統管理員明確變更,預設名稱會讓系統管理員在使用 Caspol.exe 來跨原則和電腦存取特定程式碼群組時,變得更為輕鬆。
下列命令會在電腦原則中的 All_Code 群組之下加入程式碼群組。 新程式碼群組將檢查 FourthCoffee 強式名稱 (Signed.exe 中所看到的),並將 FullTrust 授與所有如此簽名的程式碼。 程式碼群組被命名為 FouthCoffeeStrongName,並有適當說明指定給它。
caspol –machine –addgroup All_Code –strong –file signed.exe FullTrust –name FouthCoffeeStrongName –description "Code group granting trust to code signed by FourthCoffee"
注意事項 |
---|
如果相同名稱存在於一個以上的程式碼群組,Caspol.exe 將解析至可以使用指定名稱找到的第一個程式碼群組。它會在搜尋同層級 (Sibling) 群組之前搜尋程式碼群組的所有子程式碼群組。 |