保護發行者
下列複寫代理程式連接到「發行者」:
- 記錄讀取器代理程式
- 快照集代理程式
- 佇列讀取器代理程式
- 合併代理程式
我們建議您為這些代理程式提供適當的登入,遵循授與所需最小權限的原則,並保護所有密碼的儲存。如需有關管理登入和密碼的資訊,請參閱<管理複寫的登入與密碼>。如需有關各代理程式需要的權限資訊,請參閱<複寫代理程式安全性模型>。
除了適當地管理登入和密碼以外,您還必須瞭解發行集存取清單 (PAL) 的角色。PAL 是用來啟用登入以存取發行集資料,並同時限制在發行者端進行的資料庫特定存取。
發行集存取清單
PAL 是在發行者端保護發行集安全的主要機制。PAL 功能類似於 Microsoft Windows 存取控制清單。建立發行集之後,複寫便會建立此發行集的 PAL。PAL 可進行設定,使其包含已授與了對發行集存取權的登入與群組清單。當代理程式連接到「發行者」或「散發者」並要求存取發行集時,便會將 PAL 上的驗證資訊與代理程式提供的「發行者」登入進行比較。這項處理序藉由防止用戶端工具使用「發行者」與「散發者」登入在「發行者」上直接進行修改,為「發行者」提供了額外的安全性。
附註: |
---|
複寫會在「發行者」上為每個發行集建立角色,以強制賦予 PAL 成員資格。該角色的名稱格式為 Msmerge_<PublicationID> (合併式複寫) 及 MSReplPAL_<PublicationDatabaseID>_<PublicationID> (交易式複寫和快照式複寫)。 |
依預設,下列登入包含在 PAL 中:建立發行集時之系統管理員 (sysadmin) 固定伺服器角色的成員,以及用來建立發行集的登入。依預設,對於發行集資料庫上所有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,其登入均可訂閱發行集而不需將其明確加入 PAL 中。
使用 PAL 時,請考慮下列指導方針:
- 您必須先將 SQL Server 登入關聯到發行集資料庫中的資料庫使用者,才能夠將該登入加入 PAL 中。
- 遵循最小權限原則,僅授與 PAL 中登入執行複寫工作所需的權限。請勿將登入加入任何不要求複寫的固定資料庫角色或伺服器角色中。如需有關所需權限的詳細資訊,請參閱<複寫代理程式安全性模型>和<複寫安全性最佳作法>。
- 如果使用遠端散發者,則 PAL 中的帳戶在發行者和散發者兩端都必須是可以使用的。該帳戶必須是在兩部伺服器都已定義的網域帳戶或本機帳戶。與兩個登入相關聯的密碼必須是一樣的。
- 如果 PAL 包含 Windows 帳戶且網域使用 Active Directory,則執行 SQL Server 的帳戶必須擁有從 Active Directory 進行讀取的權限。如果您遇到 Windows 帳戶問題,請確定執行 SQL Server 的帳戶擁有足夠的權限。如需詳細資訊,請參閱 Windows 文件集。
若要管理 PAL
- SQL Server Management Studio: 如何:在發行集存取清單中管理登入 (SQL Server Management Studio)
- 複寫 Transact-SQL 程式設計:How to: Manage Logins in the Publication Access List (Replication Transact-SQL Programming)