AWS Certified Cloud Practitioner / Amazon S3

S3 Encryption

πŸ” S3 Encryption β€” Simplified

Amazon S3 keeps your data safe through encryption, and there are two ways it can happen:

  • πŸ”’ Server-Side Encryption (SSE) β€” S3 encrypts your data after you upload it

  • πŸ’» Client-Side Encryption (CSE) β€” you encrypt the data before uploading it


πŸ”’ Server-Side Encryption (SSE)

S3 handles the encryption for you, automatically:

  1. πŸ“€ You upload a file

  2. πŸ” S3 encrypts it before storing it

  3. πŸ’Ύ The encrypted version sits securely in your bucket

Since S3 (the server) does the work, it's called server-side. βœ… Because it's on by default, your data is protected even if you never touch an encryption setting.


πŸ’» Client-Side Encryption (CSE)

Here, you do the encrypting first:

  1. πŸ” You encrypt the file yourself β€” locally, or in your app

  2. πŸ“€ You upload the already-encrypted file

  3. πŸ’Ύ S3 stores it exactly as received, no changes made

Since you (the client) handle it, it's called client-side.


βš–οΈ Quick Comparison

πŸ”’ Server-Side

πŸ’» Client-Side

S3 does the encrypting

You do the encrypting

Happens after upload

Happens before upload

On by default

You have to set it up


Both protect your data β€” the only real difference is who does the encrypting and when. SSE is automatic and default; CSE puts you in control, but you have to do the work. πŸ”‘