共用方式為


威脅和弱點安全防護 (複寫)

適用於:SQL Server Azure SQL 受控執行個體

本主題描述可減輕複寫拓撲威脅的技術。

加密

加密是將資料轉換成一種無特殊金鑰便無法讀取格式的處理,這樣一來就只有預期收件者才能讀取該資料。 複寫不會加密資料表中儲存的資料,或透過網路連接傳送的資料。 這是設計所限,因為加密可在傳輸層級使用數種技術來提供,包括下列的業界標準技術:虛擬私人網路 (VPN)、傳輸層安全性 (TLS) (先前稱為安全通訊端層 (SSL)),以及 IP 安全性 (IPSEC)。 建議對複寫拓撲中電腦之間的連接使用這些加密方法中的一種。 如需詳細資訊,請參閱啟用資料庫引擎的加密連線 (SQL Server 組態管理員)。 如需有關透過網際網路使用 VPN 與 TLS 複寫資料的資訊,請參閱 保護透過網際網路的複寫

如果使用 TLS 保護複寫拓撲中電腦之間的連線,請將每個複寫代理程式的 -EncryptionLevel 參數值指定為 12 (建議使用 2 值)。 值 1 會指定使用加密,但代理程式不會確認 TLS/SSL 伺服器憑證是否由受信任簽發者簽署;值 2 則會指定對憑證進行確認。 可於代理程式設定檔和命令列中指定代理程式參數。 如需詳細資訊,請參閱

針對資料庫「主要金鑰」,複寫採取下列行為來加密資料:

  • 如果複寫涉及的資料庫 (發行集資料庫、訂閱資料庫或散發資料庫) 中存在「主要金鑰」,則複寫會用 SQL Server 2012 (11.x) 資料庫對稱金鑰來加密及解密該資料庫中的代理程式密碼。 如果使用了「主要金鑰」,則應在複寫涉及的所有資料庫中都建立「主要金鑰」。 如需建立「主要金鑰」的詳細資訊,請參閱 CREATE MASTER KEY (Transact-SQL)

  • 複寫不會複寫「主要金鑰」。 若要求「訂閱者」端的「主要金鑰」,則必須先用 BACKUP MASTER KEY 將主要金鑰從發行集資料庫中匯出,然後再用 RESTORE MASTER KEY 將其匯入訂閱資料庫。 如需詳細資訊,請參閱 BACKUP MASTER KEY (Transact-SQL) (開啟主要金鑰 (Transact-SQL)) 和 RESTORE MASTER KEY (Transact-SQL) (備份主要金鑰 (Transact-SQL))。

  • 如果針對可附加訂閱資料庫定義「主要金鑰」,則請使用 sp_attachsubscription (Transact-SQL)@db_master_key_password 參數來指定「主要金鑰」的密碼。 此操作可將資料庫附加到「訂閱者」。

如需加密和「主要金鑰」的詳細資訊,請參閱< Encryption Hierarchy>。

複寫讓您可以發行加密的資料行資料。 若要在訂閱者端解密及使用此資料,於發行者端用來加密資料的金鑰也必須存在訂閱者端。 複寫並不會提供用於傳輸加密金鑰的安全機制。 您必須以手動方式於訂閱者端重新建立加密金鑰。 如需詳細資訊,請參閱複寫加密資料行中的資料 (SQL Server Management Studio)