本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SSL 搭配 Microsoft SQL Server 資料庫執行個體使用
您可以使用 Secure Sockets Layer (SSL) 加密用戶端應用程式與執行 Microsoft SQL Server RDS 的 Amazon 資料庫執行個體之間的連線。SSL 支援適用於所有支援的SQL伺服器版本的所有 AWS 區域。
當您建立SQL伺服器資料庫執行個體時,Amazon 會為其RDS建立SSL憑證。SSL 憑證包含資料庫執行個體端點作為SSL憑證的通用名稱 (CN),以防止詐騙攻擊。
有兩種方法可用來SSL連線至您的SQL伺服器資料庫執行個體:
-
SSL 強制所有連線 — 這對用戶端透明地發生,而且用戶端不需要執行任何工作即可使用 SSL。
注意
當您將
rds.force_ssl
設為1
並使用 19.3、20.0 和 20.2 SSMS版時,請檢查下列項目:-
在 中啟用信任伺服器憑證SSMS。
-
在您的系統中匯入憑證。
-
-
加密特定連線:這會設定來自特定用戶端電腦的SSL連線,而且您必須在用戶端上執行加密連線的工作。
如需SQL伺服器 Transport Layer Security (TLS) 支援的相關資訊,請參閱 Microsoft SQL Server 的 TLS 1.2 支援。
強制資料庫執行個體的連線使用 SSL
您可以強制資料庫執行個體的所有連線使用 SSL。如果您強制連線使用 SSL,用戶端會透明地發生,而且用戶端不需要執行任何工作即可使用 SSL。
如果您想要強制 SSL,請使用 rds.force_ssl
參數。依預設,rds.force_ssl
參數設為 0 (off)
。將 rds.force_ssl
參數設定為 1 (on)
,強制連線使用 SSL。rds.force_ssl
參數是靜態,當您變更值之後,您必須重新啟動資料庫執行個體,才能使變更生效。
強制所有資料庫執行個體的連線使用 SSL
-
查明連接到資料庫執行個體的參數群組:
登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/
。 -
在 Amazon RDS主控台的右上角,選擇資料庫執行個體 AWS 的區域。
-
在導覽窗格中選擇 Databases (資料庫),然後選擇資料庫執行個體的名稱來顯示詳細資訊。
-
選擇 Configuration (組態) 標籤。在區段中找出 Parameter group (參數群組)。
-
如果需要,請建立新的參數群組。如果您的資料庫執行個體使用預設參數群組,則您必須建立新的參數群組。如果您的資料庫執行個體使用非預設參數群組,您可以選擇編輯現有的參數群組,或建立新的參數群組。如果您編輯現有的參數群組,則變更會影響所有使用該參數群組的資料庫執行個體。
若要建立新的參數群組,請遵循在 Amazon RDS Amazon 中創建數據庫參數組中的說明。
-
編輯新的或現有的參數群組,將
rds.force_ssl
參數設為true
。若要編輯參數群組,請遵循修改 Amazon RDS Amazon 數據庫參數組中的參數中的說明。 -
如果您已建立新的參數群組,請修改資料庫執行個體來附加新的參數群組。修改資料庫執行個體的 DB Parameter Group (資料庫參數群組) 設定。如需更多詳細資訊,請參閱 修改 Amazon RDS 資料庫執行個體。
-
重新啟動您的資料庫執行個體。如需更多詳細資訊,請參閱 重新啟動中的資料庫執行個體。
加密特定連線
您可以強制資料庫執行個體的所有連線使用 SSL,或者您只能加密來自特定用戶端電腦的連線。若要SSL從特定用戶端使用 ,您必須取得用戶端電腦的憑證、在用戶端電腦上匯入憑證,然後加密來自用戶端電腦的連線。
注意
在 2014 年 8 月 5 日之後建立的所有SQL伺服器執行個體,請使用SSL憑證的通用名稱 (CN) 欄位中的資料庫執行個體端點。在 2014 年 8 月 5 日之前,SSL憑證驗證不適用於VPC以 為基礎的SQL伺服器執行個體。如果您有在 2014 年 8 月 5 日之前建立的VPC以 為基礎的SQL伺服器資料庫執行個體,而且您想要使用SSL憑證驗證,並確保執行個體端點包含為該資料庫執行個體SSL憑證的 CN,則請重新命名執行個體。重新命名資料庫執行個體會部署新的憑證,且執行個體會重新啟動,以啟用新的憑證。
為用戶端電腦取得憑證
若要加密從用戶端電腦到執行 Microsoft SQL Server 之 RDS Amazon 資料庫執行個體的連線,您需要用戶端電腦上的憑證。
若要取得該憑證,請將憑證下載至用戶端電腦。您可以下載適用於所有區域的根憑證,也可以下載同時包含新舊根憑證的憑證套件。此外,您還能下載區域特定的中繼憑證。如需下載憑證的詳細資訊,請參閱使用 SSL/TLS 加密與資料庫執行個體或叢集的連線。
下載適當的憑證之後,請遵循下一節的程序,將該憑證匯入 Microsoft Windows 作業系統。
在用戶端電腦匯入憑證
您可以使用下列程序,將憑證匯入用戶端電腦上的 Microsoft Windows 作業系統。
將憑證匯入 Windows 作業系統:
-
在 Start (開始) 功能表上,在搜尋方塊中輸入
Run
,然後按 Enter (Enter)。 -
在 Open (開啟) 方塊中,輸入
MMC
,然後選擇 OK (確定)。 -
在MMC主控台的檔案選單中,選擇新增/移除 Snap-in 。
-
在 Add or Remove Snap-ins (新增或移除嵌入式管理單元) 對話方塊中,從 Available snap-ins (可用的嵌入式管理單元) 中選取
Certificates
(憑證),然後選擇 Add (新增)。 -
在 Certificates snap-in (憑證嵌入式管理單元) 對話方塊中,選擇 Computer account (電腦帳戶),然後選擇 Next (下一步)。
-
在 Select computer (選取電腦) 對話方塊中,選擇 Finish (完成)。
-
在 Add or Remove Snap-ins (新增或移除嵌入式管理單元) 對話方塊中,選擇 OK (確定)。
-
在MMC主控台中,展開憑證 ,開啟信任根憑證授權機構 的內容 (按一下滑鼠右鍵) 選單,選擇所有任務 ,然後選擇匯入 。
-
在「憑證匯入精靈」的第一頁,選擇 Next (下一步)。
-
在「憑證匯入精靈」的第二頁,選擇 Browse (瀏覽)。在瀏覽視窗中,將檔案類型變更為 All files (*.*) (所有檔案 (*.*)),因為 .pem 不是標準憑證副檔名。找出您先前下載的 .pem 檔案。
-
選擇 Open (開啟舊檔),以選取憑證檔案,然後選擇 Next (下一步)。
-
在「憑證匯入精靈」的第三頁,選擇 Next (下一步)。
-
在「憑證匯入精靈」的第四頁,選擇 Finish (完成)。隨即出現對話方塊指出匯入成功。
-
在MMC主控台中,展開憑證 ,展開信任的根憑證機構 ,然後選擇憑證 。找出憑證以確認其存在,如此處所示。
加密執行 Microsoft SQL Server RDS 的 Amazon 資料庫執行個體連線
將憑證匯入用戶端電腦後,您可以將用戶端電腦與執行 Microsoft SQL Server RDS 的 Amazon 資料庫執行個體的連線加密。
對於 SQL Server Management Studio,請使用下列程序。如需 SQL Server Management Studio 的詳細資訊,請參閱使用SQL伺服器管理 Studio。
從 SQL Server Management Studio 加密連線
-
啟動 SQL Server Management Studio。
-
在 Connect to server (連線至伺服器) 中,鍵入伺服器資訊、登入使用者名稱和密碼。
-
選擇 Options (選項)。
-
選取 Encrypt connection (加密連線)。
-
選擇 Connect (連線)。
-
執行下列查詢來確認連線已加密。確認查詢傳回的
true
為encrypt_option
。select ENCRYPT_OPTION from SYS.DM_EXEC_CONNECTIONS where SESSION_ID = @@SPID
對於任何其他SQL用戶端,請使用下列程序。
加密來自其他SQL用戶端的連線
-
將
encrypt=true
附加至連線字串。此字串可作為 選項使用,也可以作為GUI工具中連線頁面上的 屬性使用。注意
若要為使用 連線的用戶端啟用SSL加密JDBC,您可能需要將 Amazon RDSSQL憑證新增至 Java CA 憑證 (憑證) 存放區。您可使用 keytool
公用程式做到這點。 -
執行下列查詢來確認連線已加密。確認查詢傳回的
true
為encrypt_option
。select ENCRYPT_OPTION from SYS.DM_EXEC_CONNECTIONS where SESSION_ID = @@SPID