中的安全性 AWS Database Migration Service - AWS Database Migration Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

中的安全性 AWS Database Migration Service

雲安全 AWS 是最高的優先級。身為 AWS 客戶,您可以從資料中心和網路架構中獲益,這些架構是專為滿足對安全性最敏感的組織的需求而打造的。

安全是 AWS 與您之間共同承擔的責任。‬共同責任模型‭‬ 將此描述為雲端‬的‭‬安全和雲端‬內‬的安全:

  • 雲端的安全性 — AWS 負責保護在 AWS 雲端中執行 AWS 服務的基礎架構。 AWS 還為您提供可以安全使用的服務。在 AWS 合規計畫中,第三方稽核員會定期測試並驗證我們的安全功效。若要瞭解適用於的合規計劃 AWS DMS,請參閱合規計劃的AWS 服務範圍

  • 雲端中的安全性 — 您的責任取決於您使用的 AWS 服務。您也必須對其他因素負責,包括資料的敏感度、您組織的需求和適用的法律及法規。

本文件可協助您瞭解如何在使用時套用共同責任模型 AWS DMS。下列主題說明如何設定 AWS DMS 以符合安全性與合規性目標。您也會學到如何使用其他可協助您監控和保護 AWS DMS 資源的 AWS 服務。

您可以管理對資 AWS DMS 源和數據庫(DBS)的訪問。您用來管理存取權的方法取決於您需要執行的複寫工作 AWS DMS:

  • 使用 AWS Identity and Access Management (IAM) 政策指派許可,以決定允許誰管理 AWS DMS 資源。 AWS DMS 如果您以 IAM 使用者身分登入,則要求您具有適當的許可。例如,您可以使用 IAM 來決定誰可以建立、描述、修改和刪除資料庫執行個體及叢集、標記資源,或修改安全群組。如需 IAM 及其搭配使用的詳細資訊 AWS DMS,請參閱的身分識別與存取管理 AWS Database Migration Service

  • AWS DMS 使用安全通訊端層 (SSL) 與傳輸層安全性 (TLS) 進行端點連線。如需搭配使用 SSL/TLS 的詳細資訊 AWS DMS,請參閱。使用 SSL 搭配使用 AWS Database Migration Service

  • AWS DMS 使用 AWS Key Management Service (AWS KMS) 加密金鑰來加密複寫執行個體所使用的儲存體及其端點連線資訊。 AWS DMS 此外,還使用 AWS KMS 加密金鑰來保護 Amazon S3 和 Amazon Redshift 目標端點的靜態目標資料。如需詳細資訊,請參閱 設定加密金鑰並指定 AWS KMS 權限

  • AWS DMS 始終在基於 Amazon VPC 服務的虛擬私有雲 (VPC) 中建立複寫執行個體,以獲得最大的網路存取控制。對於您的資料庫執行個體和執行個體叢集,請使用與複寫執行個體相同的 VPC,或使用其他 VPC 來符合此層級的存取控制。您使用的每個 Amazon VPC 必須與安全群組建立關聯,且該安全群組必須具備規則,允許所有連接埠上的所有流量離開 (輸出) VPC。此方法可允許複寫執行個體與您的來源和目標資料庫端點通訊,只要在這些端點上啟用正確的輸入即可。

    如需有關的可用網路組態的詳細資訊 AWS DMS,請參閱設定複寫執行個體的網路。如需在 VPC 中建立資料庫執行個體或執行個體叢集的詳細資訊,請參閱 AWS 文件中 Amazon 資料庫的安全和叢集管理文件。如需 AWS DMS 支援之網路組態的詳細資訊,請參閱 設定複寫執行個體的網路

  • 若要檢視資料庫遷移日誌,您需要針對所使用的 IAM 角色具有適當的 Amazon CloudWatch 日誌許可。如需 AWS DMS記錄的相關資訊,請參閱 使用 Amazon CloudWatch 監控複寫任務

設定加密金鑰並指定 AWS KMS 權限

AWS DMS 加密複寫執行個體所使用的儲存體和端點連線資訊。若要加密複寫執行個體所 AWS DMS 使用的儲存體,請使用您 AWS 帳戶專屬的 AWS Key Management Service (AWS KMS) 金鑰。您可以使用查看和管理此密鑰 AWS KMS。您可以使用帳戶中的預設 KMS 金鑰 (aws/dms) 或建立自訂 KMS 金鑰。如果您目前有 KMS 金鑰,您也可以使用該金鑰來進行加密。

注意

您用作加密 AWS KMS 金鑰的任何自訂或現有金鑰都必須是對稱金鑰。 AWS DMS 不支援使用非對稱加密金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html

如果您尚未從建立複寫執行個體頁面的進階區段中選取自訂 KMS 金鑰,則會在您第一次啟動複寫執行個體時建立預設 KMS 金鑰 (aws/dms)。如果您使用預設 KMS 金鑰,您只需要對用於移轉的 IAM 使用者帳戶授予 kms:ListAliaseskms:DescribeKey 許可。如需使用預設 KMS 金鑰的詳細資訊,請參閱使用 AWS DMS所需的 IAM 許可

若要使用自訂 KMS 金鑰,請使用下列其中一個選項來為自訂 KMS 金鑰指派許可:

  • 將用於移轉的 IAM 使用者帳戶新增為 AWS KMS 自訂金鑰的金鑰管理員或金鑰使用者。這可確保將必要的 AWS KMS 許可授予 IAM 使用者帳戶。除了此動作,您也必須將 IAM 許可授予 IAM 使用者帳戶,才能使用 AWS DMS。如需將許可授予金鑰使用者的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》允許金鑰使用者使用 KMS 金鑰

  • 如果您不想要新增 IAM 使用者帳戶做為您自訂 KMS 金鑰的金鑰管理員/金鑰使用者,請將下列其他許可新增至必須授予 IAM 使用者帳戶才能使用 AWS DMS的 IAM 許可。

    { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*" },

AWS DMS 也適用於 KMS 金鑰別名。如需建立您自己的 AWS KMS 金鑰,以及授予使用者存取 KMS 金鑰的詳細資訊,請參閱《AWS KMS 開發人員指南

如果您未指定 KMS 金鑰識別碼,則 AWS DMS 會使用您的預設加密金鑰。 AWS KMS 會為 AWS DMS 您的 AWS 帳戶建立預設加密金鑰。您的 AWS 帳戶每個 AWS 區域都有不同的預設加密金鑰。

若要管理用於加密 AWS DMS 資源的 AWS KMS 金鑰,請使用 AWS Key Management Service. AWS KMS 結合安全、高可用性的硬體和軟體,提供專為雲端擴充的金鑰管理系統。您可以使用建立加密金鑰 AWS KMS,並定義控制如何使用這些金鑰的原則。

您可以 AWS KMS 在 AWS Management Console
  1. 登入 AWS Management Console 並開啟 AWS Key Management Service (AWS KMS) 主控台,網址為 https://console.aws.amazon.com/kms

  2. 若要變更 AWS 區域,請使用頁面右上角的「地區」選取器。

  3. 選擇下列其中一個選項來使用 AWS KMS 按鍵:

    • 若要檢視帳戶中為您 AWS 建立和管理的金鑰,請在功能窗格中選擇AWS 受管理的金鑰

    • 若要檢視您所建立及管理帳戶中的金鑰,請在導覽窗格中選擇Customer managed keys (客戶受管金鑰)。

AWS KMS 支持 AWS CloudTrail,因此您可以審核密鑰使用情況以驗證密鑰是否正確使用。您的 AWS KMS 金鑰可與 Amazon RDS、Amazon S3、Amazon 紅移 AWS DMS 和亞馬遜 EBS 等支援 AWS 服務結合使用。

您也可以建立專門用來加密下列 AWS DMS 端點的目標資料的自訂 AWS KMS 金鑰:

使用 KMS 金鑰建立資 AWS DMS 源後,就無法變更這些資源的加密金鑰。在建立 AWS DMS 資源之前,請務必確定您的加密金鑰需求。

網路安全 AWS Database Migration Service

您在使用時建立的網路安全性需求取 AWS Database Migration Service 決於您設定網路的方式。網路安全性的一般規 AWS DMS 則如下:

  • 複寫執行個體必須能夠存取來源和目標端點。複寫執行個體的安全群組必須包含網路 ACL 或規則,允許從執行個體輸出至資料庫連接埠,再輸出至資料庫端點。

  • 資料庫端點必須包含網路 ACL 和安全群組規則,允許來自複寫執行個體的傳入存取。您可以根據組態,使用複寫執行個體的安全群組、私有 IP 地址、公有 IP 地址或 NAT 閘道的公有地址,來達到此目的。

  • 如果網路使用 VPN 通道,作為 NAT 閘道的 Amazon EC2 執行個體必須使用安全群組,其中包含規則,允許複寫執行個體透過其傳送流量。

根據預設, AWS DMS 複寫執行個體所使用的 VPC 安全性群組具有允許在所有連接埠上輸出 0.0.0.0/0 的規則。如果您修改此安全群組或使用自己的安全群組,則必須至少允許輸出至個別資料庫連接埠上的來源和目標端點。

您可用於資料庫移轉的網路組態各自需要特定的安全考量:

  • 所有資料庫遷移元件皆位於單一 VPC 的組態 – 此端點所用的安全群組必須在資料庫連接埠上允許從複寫執行個體輸入。確認複寫執行個體所使用的安全群組具有端點輸入,或者您也可以在端點所使用的安全群組中建立規則,授權存取複寫執行個體的私有 IP 地址。

  • 使用多個 VPC 的組態 – 複寫執行個體使用的安全群組必須具有 VPC 範圍和資料庫上資料庫連接埠的規則。

  • 使用 AWS Direct Connect 或 VPN 將網路設定至 VPC – VPN 通道,其允許流量從 VPC 透過通道傳送至內部部署 VPN。在此組態中,VPC 包含路由規則,會將目標為特定 IP 地址或範圍的流量傳送至主機,再由該主機將流量從 VPC 橋接至現場部署 VPN。在此情況下,NAT 主機會包含自己的安全群組設定,必須允許流量從複寫執行個體的私有 IP 地址或安全群組前往 NAT 執行個體。

  • 使用網際網路的網路對 VPC 組態 – VPC 安全群組必須包含路由規則,將目標不是 VPC 的流量傳送到網際網路閘道。在此組態中,與端點的連線看起來就像是來自複寫執行個體上的公有 IP 地址。

  • 將不在 VPC 中的 RDS 資料庫執行個體設定為 VPC 中的資料庫執行個體 ClassicLink— 當來源或目標 Amazon RDS 資料庫執行個體不在 VPC 中,且未與複寫執行個體所在的 VPC 共用安全群組時,您可以設定代理伺服器並用於連接 ClassicLink 來源和目標資料庫。

  • 來源端點位於複寫執行個體所使用的 VPC 之外,且使用 NAT 閘道 — 您可以使用繫結至單一彈性網路介面的單一彈性 IP 地址,來設定網路位址轉譯 (NAT) 閘道。這個彈性網路界面會接收 NAT 識別碼 (nat-#####)。如果 VPC 包含該 NAT 閘道 (而非網際網路閘道) 的預設路由,複寫執行個體會改為使用網際網路閘道的公有 IP 地址來聯絡資料庫端點。在此情況下,若要輸入至 VPC 外部的資料庫端點,則需要允許從 NAT 地址 (而不是複寫執行個體的公有 IP 地址) 輸入。

  • 非 RDBMS 引擎的 VPC 端點 – AWS DMS 不支援非 RDBMS 引擎的 VPC 端點。

變更資料庫密碼

在大多數情況下,變更來源或目標端點的資料庫密碼相當簡單。如果您需要變更目前在移轉或複寫工作中使用之端點的資料庫密碼,則此程序需要其他幾個步驟。下列程序示範如何執行此作業。

變更移轉或複寫任務中端點的資料庫密碼
  1. 請登入 AWS Management Console 並開啟 AWS DMS 主控台,網址為 https://console.aws.amazon.com/dms/v2/

    如果您以 IAM 使用者身分登入,請確認您具備適當的許可來存取 AWS DMS。如需所需許可的詳細資訊,請參閱 使用 AWS DMS所需的 IAM 許可

  2. 在導覽窗格中,選擇資料庫遷移任務

  3. 選擇使用您要變更其資料庫密碼之端點的任務,然後選擇 Stop (停止)

  4. 當任務停止時,您可以使用用來處理資料庫的原生工具,來變更端點的資料庫密碼。

  5. 返回 DMS 管理主控台,然後從導覽窗格選擇 Endpoints (端點)

  6. 選擇您已變更其密碼的資料庫端點,然後選擇 Modify (修改)

  7. 密碼方塊中輸入新的密碼,然後選擇儲存

  8. 從導覽窗格中,選擇資料庫遷移任務

  9. 選擇您之前停止的任務,然後選擇重新開始/恢復

  10. 根據您要如何繼續任務,選擇重新啟動繼續,然後選擇開始任務