- Published on
AWS S3 Encryption
S3 Encryption Introduction
S3 提供了兩種主要的加密方式:
服務端加密(Server-Side Encryption,SSE):SSE 是由 S3 服務自動處理的加密方式。你可以選擇使用 S3 管理的金鑰(SSE-S3)、使用 AWS Key Management Service(KMS)管理的金鑰(SSE-KMS)或使用自己提供的金鑰(SSE-C)來進行加密。這些加密方式都可以在上傳資料到 S3 時自動進行加密,並在下載時自動解密。
客戶端加密(Client-Side Encryption):客戶端加密是在上傳資料之前由客戶端進行加密,然後再將加密後的資料上傳到 S3。這種方式下,你完全掌握金鑰的管理和控制,可以使用自己選擇的加密算法和金鑰管理方式來保護資料。
S3 Encryption Types
- SSE-S3: Server Side Encryption with S3 Managed Keys
- SSE-KMS: Server Side Encryption with KMS Managed Keys
- SSE-C: Server Side Encryption with Customer Provided Keys
- Client Side Encryption: Encryption before sending to S3
In simple terms
- SSE-S3: S3 會幫你管理 key,但是你無法自己管理 key
- SSE-KMS: S3 會幫你管理 key,但是你可以自己管理 key
- SSE-C: 你自己管理 key
- Client Side Encryption: 你自己管理 key
Attention
- SSE-C 需在使用 CLI 或 SDK 時自行加解密,S3 並不會幫你處理加解密