佇列元件安全性

當用戶端對佇列對佇列物件進行方法呼叫時,會實際對錄製器進行呼叫,這會將它封裝為訊息給伺服器的一部分。 接聽程式會從佇列讀取訊息,並將它傳遞給播放機。 播放機會叫用實際的伺服器元件,並進行相同的方法呼叫。 當玩家進行方法呼叫時,伺服器元件必須觀察用戶端的安全性呼叫內容(不是玩家的安全性呼叫內容)。 錄製器會將用戶端的安全性呼叫內容封送處理到訊息中,而玩家在進行方法呼叫之前,先將它解除封送處理至伺服器。 就伺服器物件而言,從用戶端直接呼叫與播放機的間接呼叫之間,安全性內容沒有任何差異。 特別是,叫用的方法會以傳送者的許可權執行。

COM+ 佇列元件支援角色型安全性語意,就像建置用於 COM+ 應用程式的其他元件一樣。 因此,佇列應用程式的元件可以使用程式設計介面來探索其呼叫者的角色成員資格(ISecurityCallContext::IsCallerInRole)或特定使用者(ISecurityCallContext::IsUserInRole)。 建議任何具有潛在安全性影響的佇列元件都使用這些介面來明確檢查發件人的認證。

呼叫端身分識別是與方法呼叫相關聯的身分識別。 呼叫端身分識別是由角色型安全性所使用,且存在於安全性呼叫內容中。 在佇列元件中,呼叫端身分識別會以消息佇列訊息中的數據表示。 消息佇列會驗證訊息傳送者身分識別。 當呼叫端身分識別和訊息傳送者身分識別相同時,消息佇列會同時驗證訊息和呼叫端。 這是一般情況。

注意

COM+ 佇列元件不支援模擬樣式安全性,這可讓伺服器取得對應至用戶端身分識別的存取令牌,並使用它來執行訪問控制檢查,或根據用戶端安全性內容採取行動。

 

當佇列元件的呼叫端透過跨進程錄製器與元件互動時,來電者和訊息傳送者(錄製器)的身分識別可能會不同。 在此情況下,COM+ 佇列元件會驗證訊息傳送者是否為伺服器上的 QC 信任使用者角色成員。 此外,跨進程錄製器需要驗證憑證,因為它正由消息佇列進行驗證。

允許 QC 信任的使用者角色成員指定任意身分識別,這表示惡意成員可以執行具有更高許可權的佇列元件呼叫。 因此,建議將這類用戶的數目保持在絕對最小值。

由於與透過網路傳播身分識別的任何機制相關聯的複雜攻擊風險,以及透過將無法執行的要求大量佇列填入佇列,因此建議您只在受信任的主機網路上部署 COM+ 佇列元件服務,例如 在專用網或虛擬專用網上,或位於適當設定的防火牆後方。

COM+ 佇列元件會透過 DCOM 執行,因此您可以選取 [封包隱私權] 作為佇列應用程式 [屬性] 工作表的 [安全性] 索引卷標上的 [呼叫驗證層級] 設定,協助保護佇列方法呼叫的完整性和秘密。

COM+ 安全性

工作組模式中的安全性限制

指定驗證通訊協定