Amazon EC2 中的資料保護 - Amazon Elastic Compute Cloud

Amazon EC2 中的資料保護

AWS 共同責任模型適用於 Amazon Elastic Compute Cloud 中的資料保護。如此模型所述,AWS 負責保護執行所有 AWS 雲端 的全球基礎設施。您必須負責維護在此基礎設施上託管之內容的控制權。此內容包括您所使用 AWS 服務 的安全組態和管理任務。如需有關資料隱私權的詳細資訊,請參閱資料隱私權常見問答集如需有關歐洲資料保護的相關資訊,請參閱 AWS 安全性部落格上的 AWS 共同的責任模型和 GDPR 部落格文章。

基於資料保護目的,建議您使用 AWS 帳戶 (IAM) 保護 AWS Identity and Access Management 憑證,並設定個別使用者帳戶。如此一來,每個使用者都只會獲得授予完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

  • 每個帳戶都使用多重要素驗證 (MFA)。

  • 使用 SSL/TLS 與 AWS 資源通訊。建議使用 TLS 1.2 或更新版本。

  • 使用 AWS CloudTrail 設定 API 和使用者活動記錄。

  • 使用 AWS 加密解決方案,以及 AWS 服務內的所有預設安全控制。

  • 使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Simple Storage Service (Amazon Simple Storage Service (Amazon S3)) 的個人資料。

  • 如果您在透過命令列介面或 API 存取 AWS 時,需要 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2 概觀

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的欄位中,例如名稱欄位。這包括當您透過主控台、API、AWS CLI、或 AWS 開發套件來使用 Amazon EC2 或的其他 AWS 服務時。您在標籤或自由格式欄位中輸入的任何資料都可能用於計費或診斷記錄。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

Amazon EBS 資料安全

Amazon EBS 磁碟區是以原始、未格式化的區塊型儲存設備型式提供給您。這些裝置是在 EBS 基礎設施上建立的邏輯裝置,Amazon EBS 服務可確保裝置在客戶進行任何使用或重複使用之前在邏輯上是空的 (也就是說,原始區塊為零或其包含加密虛擬隨機資料)。

若您的程序要求在使用後或使用前 (或兩者),使用特定方法清除所有資料,例如 DoD 5220.22-M (國家工業安全計畫操作手冊) 或 NIST 800-88 (媒體清理準則),您可在 Amazon EBS 上執行此作業。該區塊層級的活動將反映至 Amazon EBS 服務中的基礎儲存媒體。

靜態加密

EBS 磁碟區

Amazon EBS 加密是適用於 EBS 磁碟區和快照的加密解決方案。它使用 AWS KMS keys。如需詳細資訊,請參閱 Amazon EBS 加密

您也可以使用 Microsoft EFS 和 NTFS 許可,進行資料夾和檔案層級加密。

執行個體存放區磁碟區

NVMe 執行個體存放區磁碟區上的資料會以執行個體上的硬體模組中實作的 XTS-AES-256 區塊編碼器來加密。用於加密寫入本機連接 NVMe 儲存裝置之資料的金鑰按照每個客戶和每個磁碟區提供。這些金鑰由硬體模組產生且僅駐留在其中,AWS 人員無法存取此模組。這些加密金鑰會在執行個體停止或終止時銷毀,且無法復原。您無法停用此加密,也無法提供您自己的加密金鑰。

H1、D3 和 D3en 執行個體上的 HDD 執行個體存放區磁碟區中的資料會使用 XTS-AES-256 和一次性金鑰來加密。

當您讓執行個體停止、休眠或終止時,執行個體存放區磁碟區中的所有儲存區塊都會重設。因此,資料無法透過另一個執行個體的執行個體存放區存取。

記憶體

下列執行個體會啟用記憶體加密:

  • 具有 AWS Graviton 2 處理器的執行個體,例如 M6G 執行個體。這些處理器支援永遠開啟的記憶體加密。加密金鑰會在主機系統內安全地產生,不能離開主機系統,並在主機重新啟動或關閉電源時銷毀。

  • 具有 Intel Xeon 可擴充處理器 (Ice Lake) 的執行個體,例如 M6i 執行個體。這些處理器支援使用 Intel 總記憶體加密 (TME) 的永遠開啟記憶體加密。

  • 搭載第三代 AMD EPYC 處理器 (Milan) 的執行個體,例如 M6a 執行個體。這些處理器支援使用 AMD 透明單一金鑰記憶體加密 (TSME)) 的永遠開啟記憶體加密。

傳輸中加密

在物理層加密

流過 AWS 全球網路中 AWS 區域的所有資料在離開 AWS安全設施之前會在物理層自動加密。AZ 之間的所有流量都會加密。額外的加密層 (包括本節所列的加密層) 可能會提供額外的保護。

Amazon VPC 和 Transit Gateway 跨區域對等互連提供的加密

所有使用 Amazon VPC 和 Transit Gateway 對等互連的跨區域流量都會在離開區域時自動進行批量加密。如本節先前所述,會在物理層對所有跨區域流量自動提供額外的加密層。

執行個體間的加密

AWS 在所有類型的 EC2 執行個體之間提供安全和私有連線。此外,某些執行個體類型使用基礎 Nitro System 硬體的卸載功能,將 AEAD 演算法與 256 位元加密搭配使用,以自動加密執行個體之間的傳輸中流量。這對網路效能沒有影響。若要支援執行個體之間額外的傳輸中流量加密,必須符合下列要求:

  • 執行個體使用下列執行個體類型:

    • 一般用途:M5dn | M5n | M5zn | M6a | M6i | M6id

    • 運算最佳化:C5a | C5ad | C5n | C6a | C6i | C6id | C7g |

    • 記憶體優化:R5dn | R5n | R6a | R6i | R6id | 記憶體密集型 (u-*),僅虛擬化 | X2idn | X2iedn | X2iezn

    • 儲存優化:D3 | D3en | I3en | I4i

    • 加速運算:G4ad | G4dn | G5 | P3dn

  • 這些執行個體位於相同的區域中。

  • 這些執行個體位於相同的 VPC 或對等 VPC 中,且流量不會經過虛擬網路裝置或服務,例如負載平衡器或傳輸閘道。

如本節先前所述,在流量離開 AWS 安全設施之前會在物理層對所有流量自動提供額外的加密層。

使用 AWS CLI 檢視加密執行個體之間傳輸中流量的執行個體類型

使用下列 describe-instance-types 命令。

aws ec2 describe-instance-types \ --filters Name=network-info.encryption-in-transit-supported,Values=true \ --query "InstanceTypes[*].[InstanceType]" --output text | sort

與 AWS Outposts 之間的加密

Outpost 會建立與 AWS 主區域的特殊網路連線 (稱為服務連結),並可選擇建立與您指定之 VPC 子網的私有連線 (選擇性)。透過這些連線的所有流量都會完整加密。如需詳細資訊,請參閱 AWS Outposts 使用者指南中的透過服務連結連線傳輸中加密

遠端存取加密

RDP 提供安全的通訊頻道,可供遠端存取您的 Windows 執行個體,無論是直接還是透過 EC2 Instance Connect。使用 AWS Systems Manager Session Manager 或執行命令來遠端存取您的執行個體會使用 TLS 1.2 加密,然後使用 SigV4 來簽署建立連線的請求並由 AWS Identity and Access Management 進行身分驗證和授權。

使用諸如 Transport Layer Security (TLS) 等加密通訊協定是您的責任,以便加密在用戶端和您的 Amazon EC2 執行個體之間傳輸的敏感資料。

務必只允許 EC2 執行個體與 AWS API 端點或其他敏感的遠端網路服務之間的加密連線。您可以透過傳出安全群組或 Windows 防火牆規則來強制執行此操作。