# Ensure all S3 buckets employ encryption-at-rest

- Source: https://support.icompaas.com/support/solutions/articles/62000228309-ensure-all-s3-buckets-employ-encryption-at-rest
- Section: [Solutions](https://support.icompaas.com/support/solutions) › [Security Controls](https://support.icompaas.com/support/solutions/62000065178) › [AWS Services](https://support.icompaas.com/support/solutions/folders/62000097507)
- Last updated: 2026-05-29
- Publisher: iCompaas, Inc. (https://www.icompaas.com)

## **Description:**

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. Amazon S3 provides a variety of no or low, cost encryption options to protect data at rest.

## **Rationale:**

Encrypting data at rest reduces the likelihood that it is unintentionally exposed and can nullify the impact of disclosure if the encryption remains unbroken.

## **Impact:**

Amazon S3 buckets with default bucket encryption using SSE-KMS cannot be used as destination buckets for Amazon S3 server access logging. Only SSE-S3 default encryption is supported for server access log destination buckets.

## **Default value:**

Encryption is disabled by default

## **Pre-Requisite:**

S3 bucket

## **Remediation:**

### **Test Plan:**

-   **AWS Console Process**
    

1.  Login to AWS Management Console and open the Amazon S3 console using [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/ "https://console.aws.amazon.com/s3/")
    
2.  Click on the bucket name you want to open. ![](https://support.icompaas.com/assets/kb/6f5ea0c64fe2c2ef.png) 
    
3.  Click on 'Properties'.  ![](https://support.icompaas.com/assets/kb/4c40ac22a73a69c5.png)  
    
4.  Verify that Default Encryption is enabled, and displays either AES-256, AWS-KMS, SSE-KMS or SSE-S3.  ![](https://support.icompaas.com/assets/kb/3f18316a6f65d52d.png)  
    

  

**Using AWS CLI**

Run command to list buckets 

`aws s3 ls`

For each bucket, run 

`aws s3api get-bucket-encryption --bucket <bucket-name>`

Verify that either

 `"SSEAlgorithm": "AES256"`

 or 

` "SSEAlgorithm": "aws:kms"``` ` 

is displayed.

### **Implementation Plan**:

-   **AWS Console Process**
    

1.  Login to AWS Management Console and open the Amazon S3 console using [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/ "https://console.aws.amazon.com/s3/")
    
2.  Click on the bucket name you want to open.![](https://support.icompaas.com/assets/kb/22dc9d3f1a5f87d5.png)
    
3.  Click on 'Properties'.  ![](https://support.icompaas.com/assets/kb/55346c8446319566.png)  
    
4.  Click edit on Default Encryption.  ![](https://support.icompaas.com/assets/kb/4c421158a898d116.png)  
    
5.  Select server-side encryption enable and select either SSE-KMS or SSE-S3.  ![](https://support.icompaas.com/assets/kb/75deeab57fff9beb.png)  
    
6.  Click save changes.

  

  

-   **Using AWS CLI**
    
-   Run either
    

`aws s3api put-bucket-encryption --bucket <buckrt-name> --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'`

or

`aws s3api put-bucket-encryption --bucket <bucket-name> --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "aws:kms","KMSMasterKeyID": "aws/s3"}}]}'`

Note: the KMSMasterKeyID can be set to the master key of your choosing; aws/s3 is an AWS preconfigured default.

### **Backout Plan:**

-   AWS Console Process
    

1.  Login to AWS Management Console and open the Amazon S3 console using [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/ "https://console.aws.amazon.com/s3/")
    
2.  Click on the bucket name you want to open.![](https://support.icompaas.com/assets/kb/30e198c856445e9b.png)
    
3.  Click on 'Properties'.  ![](https://support.icompaas.com/assets/kb/b5bb07e98f48b34c.png)  
    
4.  Click edit on Default Encryption. ![](https://support.icompaas.com/assets/kb/9c631112c1189212.png) 
    
5.  Select Disable and click on save changes.  ![](https://support.icompaas.com/assets/kb/1d2078105ec19512.png)  
    

  

  

**Using AWS CLI**

aws s3api delete-bucket-encryption \\  
    --bucket <bucket name>

## **Reference:**

[Setting default server-side encryption behavior for Amazon S3 buckets - Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html#bucket-encryption-related-resources "https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html#bucket-encryption-related-resources")

[s3api — AWS CLI 1.27.33 Command Reference (amazon.com)](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html "https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html")

## Related compliance guidance

- [SOC 2 compliance: a practical implementation guide for cloud-native SaaS teams](https://support.icompaas.com/compliance/soc-2-trust-services-criteria): Configuration checks like this one are the technical half of a SOC 2 / ISO 27001 programme — the guide shows where they fit, what else an auditor expects, and how to evidence them.
- [ISO/IEC 27001:2022 compliance: a practical implementation guide](https://support.icompaas.com/compliance/iso-27001-2022): ISO 27001 Annex A.8 (technological controls) is where cloud hardening evidence lands; the guide shows how to run the ISMS around it.
