AWS Security ChangesHomeSearch

AWS AmazonS3 medium security documentation change

Service: AmazonS3 · 2025-03-30 · Security-related medium

File: AmazonS3/latest/userguide/object-ownership-new-bucket.md

Summary

Updated documentation for S3 bucket creation process with clarifications on Region immutability, bucket naming rules, encryption options (including DSSE-KMS), versioning behavior, Object Lock requirements, and warnings about sensitive information in bucket names.

Security assessment

Explicitly warns against including sensitive information in bucket names (security best practice). Adds documentation for security features like encryption types (SSE-KMS/DSSE-KMS), S3 Bucket Keys, and Object Lock configuration. The sensitive info warning addresses a potential security exposure risk.

Diff

diff --git a/AmazonS3/latest/userguide/object-ownership-new-bucket.md b/AmazonS3/latest/userguide/object-ownership-new-bucket.md
index f53c3982a..21555b4c6 100644
--- a/AmazonS3/latest/userguide/object-ownership-new-bucket.md
+++ b/AmazonS3/latest/userguide/object-ownership-new-bucket.md
@@ -43 +43,3 @@ A majority of modern use cases in Amazon S3 no longer require the use of ACLs, a
-To minimize latency and costs and address regulatory requirements, choose a Region close to you. Objects stored in a Region never leave that Region unless you explicitly transfer them to another Region. For a list of Amazon S3 AWS Regions, see [AWS service endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in the _Amazon Web Services General Reference_.
+     * After you create a bucket, you can't change its Region. 
+
+     * To minimize latency and costs and address regulatory requirements, choose a Region close to you. Objects stored in a Region never leave that Region unless you explicitly transfer them to another Region. For a list of Amazon S3 AWS Regions, see [AWS service endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in the _Amazon Web Services General Reference_.
@@ -53 +55 @@ The bucket name must:
-     * Be unique within a partition. A partition is a grouping of Regions. AWS currently has three partitions: `aws` (Standard Regions), `aws-cn` (China Regions), and `aws-us-gov` (AWS GovCloud (US) Regions).
+     * Be unique within a partition. A partition is a grouping of Regions. AWS currently has three partitions: `aws` (commercial Regions), `aws-cn` (China Regions), and `aws-us-gov` (AWS GovCloud (US) Regions).
@@ -57 +59 @@ The bucket name must:
-     * Consist only of lowercase letters, numbers, dots (.), and hyphens (-). For best compatibility, we recommend that you avoid using dots (.) in bucket names, except for buckets that are used only for static website hosting.
+     * Consist only of lowercase letters, numbers, periods (`.`), and hyphens (`-`). For best compatibility, we recommend that you avoid using periods (`.`) in bucket names, except for buckets that are used only for static website hosting.
@@ -61 +63 @@ The bucket name must:
-After you create the bucket, you cannot change its name. The AWS account that creates the bucket owns it. For more information about naming buckets, see [General purpose bucket naming rules](./bucketnamingrules.html). 
+     * For a complete list of bucket-naming rules, see [General purpose bucket naming rules](./bucketnamingrules.html).
@@ -65 +67,3 @@ After you create the bucket, you cannot change its name. The AWS account that cr
-Avoid including sensitive information, such as account numbers, in the bucket name. The bucket name is visible in the URLs that point to the objects in the bucket.
+     * After you create the bucket, you can't change its name. 
+
+     * Don't include sensitive information in the bucket name. The bucket name is visible in the URLs that point to the objects in the bucket.
@@ -67 +71 @@ Avoid including sensitive information, such as account numbers, in the bucket na
-  6. AWS Management Console allows you to copy an existing bucket's settings to your new bucket. If you do not want to copy the settings of an existing bucket, skip to the next step.
+  6. (Optional) Under **General configuration** , you can choose to copy an existing bucket's settings to your new bucket. If you don't want to copy the settings of an existing bucket, skip to the next step.
@@ -73,3 +77 @@ This option:
-     * Is not available in the AWS CLI and is only available in console
-
-     * Is not available for directory buckets
+     * Isn't available in the AWS CLI and is only available in the Amazon S3 console
@@ -77 +79 @@ This option:
-     * Does not copy the bucket policy from the existing bucket to the new bucket
+     * Doesn't copy the bucket policy from the existing bucket to the new bucket
@@ -79 +81 @@ This option:
-To copy an existing bucket's settings, under **Copy settings from existing bucket** , select **Choose bucket**. The **Choose bucket** window opens. Find the bucket with the settings that you would like to copy, and select **Choose bucket**. The **Choose bucket** window closes, and the **Create bucket** window re-opens.
+To copy an existing bucket's settings, under **Copy settings from existing bucket** , select **Choose bucket**. The **Choose bucket** window opens. Find the bucket with the settings that you want to copy, and select **Choose bucket**. The **Choose bucket** window closes, and the **Create bucket** window reopens.
@@ -81 +83 @@ To copy an existing bucket's settings, under **Copy settings from existing bucke
-Under **Copy settings from existing bucket** , you will now see the name of the bucket you selected. You will also see a **Restore defaults** option that you can use to remove the copied bucket settings. Review the remaining bucket settings, on the **Create bucket** page. You will see that they now match the settings of the bucket that you selected. You can skip to the final step. 
+Under **Copy settings from existing bucket** , you now see the name of the bucket that you selected. The settings of your new bucket now match the settings of the bucket that you selected. If you want to remove the copied settings, choose **Restore defaults**. Review the remaining bucket settings on the **Create bucket** page. If you don't want to make any changes, you can skip to the final step. 
@@ -111 +113 @@ To enable all Block Public Access settings, only the `s3:CreateBucket` permissio
-  9. (Optional) Under **Bucket Versioning** , you can choose if you wish to keep variants of objects in your bucket. For more information about versioning, see [Retaining multiple versions of objects with S3 Versioning](./Versioning.html).
+  9. (Optional) By default, **Bucket Versioning** is disabled. Versioning is a means of keeping multiple variants of an object in the same bucket. You can use versioning to preserve, retrieve, and restore every version of every object stored in your bucket. With versioning, you can recover more easily from both unintended user actions and application failures. For more information about versioning, see [Retaining multiple versions of objects with S3 Versioning](./Versioning.html). 
@@ -113 +115 @@ To enable all Block Public Access settings, only the `s3:CreateBucket` permissio
-To disable or enable versioning on your bucket, choose either **Disable** or **Enable**.
+To enable versioning on your bucket, choose **Enable**. 
@@ -115 +117 @@ To disable or enable versioning on your bucket, choose either **Disable** or **E
-  10. (Optional) Under **Tags** , you can choose to add tags to your bucket. Tags are key-value pairs used to categorize storage.
+  10. (Optional) Under **Tags** , you can choose to add tags to your bucket. With AWS cost allocation, you can use bucket tags to annotate billing for your use of a bucket. A tag is a key-value pair that represents a label that you assign to a bucket. For more information, see [Using cost allocation S3 bucket tags](./CostAllocTagging.html).
@@ -119 +121 @@ To add a bucket tag, enter a **Key** and optionally a **Value** and choose **Add
-  11. Under **Default encryption** , choose **Edit**.
+  11. To configure **Default encryption** , under **Encryption type** , choose one of the following: 
@@ -121 +123 @@ To add a bucket tag, enter a **Key** and optionally a **Value** and choose **Add
-  12. To configure default encryption, under **Encryption type** , choose one of the following: 
+     * **Server-side encryption with Amazon S3 managed keys (SSE-S3)**
@@ -123 +125 @@ To add a bucket tag, enter a **Key** and optionally a **Value** and choose **Add
-     * **Amazon S3 managed key (SSE-S3)**
+     * **Server-side encryption with AWS Key Management Service keys (SSE-KMS)**
@@ -125 +127 @@ To add a bucket tag, enter a **Key** and optionally a **Value** and choose **Add
-     * **AWS Key Management Service key (SSE-KMS)**
+     * **Dual-layer server-side encryption with AWS Key Management Service (AWS KMS) keys (DSSE-KMS)**
@@ -129 +131 @@ To add a bucket tag, enter a **Key** and optionally a **Value** and choose **Add
-If you use the SSE-KMS option for your default encryption configuration, you are subject to the requests per second (RPS) quota of AWS KMS. For more information about AWS KMS quotas and how to request a quota increase, see [Quotas](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) in the _AWS Key Management Service Developer Guide_.
+If you use the SSE-KMS or DSSE-KMS option for your default encryption configuration, you are subject to the requests per second (RPS) quota of AWS KMS. For more information about AWS KMS quotas and how to request a quota increase, see [Quotas](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) in the _AWS Key Management Service Developer Guide_.
@@ -131 +133 @@ If you use the SSE-KMS option for your default encryption configuration, you are
-Buckets and new objects are encrypted with server-side encryption with an **Amazon S3 managed key** as the base level of encryption configuration. For more information about default encryption, see [Setting default server-side encryption behavior for Amazon S3 buckets](./bucket-encryption.html).
+Buckets and new objects are encrypted by using server-side encryption with Amazon S3 managed keys (SSE-S3) as the base level of encryption configuration. For more information about default encryption, see [Setting default server-side encryption behavior for Amazon S3 buckets](./bucket-encryption.html). For more information about SSE-S3, see [Using server-side encryption with Amazon S3 managed keys (SSE-S3)](./UsingServerSideEncryption.html).
@@ -133 +135 @@ Buckets and new objects are encrypted with server-side encryption with an **Amaz
-For more information about using Amazon S3 server-side encryption to encrypt your data, see [Using server-side encryption with Amazon S3 managed keys (SSE-S3)](./UsingServerSideEncryption.html).
+For more information about using server-side encryption to encrypt your data, see [Protecting data with encryption](./UsingEncryption.html). 
@@ -135 +137 @@ For more information about using Amazon S3 server-side encryption to encrypt you
-  13. If you chose **AWS Key Management Service key (SSE-KMS)** , do the following:
+  12. If you chose **Server-side encryption with Amazon S3 managed keys (SSE-S3)** or **Dual-layer server-side encryption with AWS Key Management Service (AWS KMS) keys (DSSE-KMS)** , do the following:
@@ -151 +153 @@ For more information about creating an AWS KMS key, see [Creating keys](https://
-You can use only KMS keys that are available in the same AWS Region as the bucket. The Amazon S3 console lists only the first 100 KMS keys in the same Region as the bucket. To use a KMS key that is not listed, you must enter your KMS key ARN. If you want to use a KMS key that is owned by a different account, you must first have permission to use the key and then you must enter the KMS key ARN. For more information on cross account permissions for KMS keys, see [Creating KMS keys that other accounts can use](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) in the _AWS Key Management Service Developer Guide_. For more information on SSE-KMS, see [Specifying server-side encryption with AWS KMS (SSE-KMS)](./specifying-kms-encryption.html).
+You can use only KMS keys that are available in the same AWS Region as the bucket. The Amazon S3 console lists only the first 100 KMS keys in the same Region as the bucket. To use a KMS key that isn't listed, you must enter your KMS key ARN. If you want to use a KMS key that's owned by a different account, you must first have permission to use the key, and then you must enter the KMS key ARN. For more information about cross account permissions for KMS keys, see [Creating KMS keys that other accounts can use](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) in the _AWS Key Management Service Developer Guide_. For more information about SSE-KMS, see [Specifying server-side encryption with AWS KMS (SSE-KMS)](./specifying-kms-encryption.html). For more information about DSSE-KMS, see [Using dual-layer server-side encryption with AWS KMS keys (DSSE-KMS)](./UsingDSSEncryption.html).
@@ -155 +157 @@ When you use an AWS KMS key for server-side encryption in Amazon S3, you must ch
-For more information about creating an AWS KMS key, see [Creating keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) in the _AWS Key Management Service Developer Guide_. For more information about using AWS KMS with Amazon S3, see [Using server-side encryption with AWS KMS keys (SSE-KMS)](./UsingKMSEncryption.html).
+    2. When you configure your bucket to use default encryption with SSE-KMS, you can also use S3 Bucket Keys. S3 Bucket Keys lower the cost of encryption by decreasing request traffic from Amazon S3 to AWS KMS. For more information, see [Reducing the cost of SSE-KMS with Amazon S3 Bucket Keys](./bucket-key.html). S3 Bucket Keys aren't supported for DSSE-KMS.
@@ -157 +159 @@ For more information about creating an AWS KMS key, see [Creating keys](https://
-    2. When you configure your bucket to use default encryption with SSE-KMS, you can also enable S3 Bucket Keys. S3 Bucket Keys lower the cost of encryption by decreasing request traffic from Amazon S3 to AWS KMS. For more information, see [Reducing the cost of SSE-KMS with Amazon S3 Bucket Keys](./bucket-key.html).
+By default, S3 Bucket Keys are enabled in the Amazon S3 console. We recommend leaving S3 Bucket Keys enabled to lower your costs. To disable S3 Bucket Keys for your bucket, under **Bucket Key** , choose **Disable**.
@@ -159,3 +161 @@ For more information about creating an AWS KMS key, see [Creating keys](https://
-To use S3 Bucket Keys, under **Bucket Key** , choose **Enable**.
-
-  14. (Optional) If you want to enable S3 Object Lock, do the following:
+  13. (Optional) S3 Object Lock helps protect new objects from being deleted or overwritten. For more information, see [Locking objects with Object Lock](./object-lock.html). If you want to enable S3 Object Lock, do the following:
@@ -167 +167 @@ To use S3 Bucket Keys, under **Bucket Key** , choose **Enable**.
-Enabling Object Lock also enables versioning for the bucket. After enabling you must configure the Object Lock default retention and legal hold settings to protect new objects from being deleted or overwritten.
+Enabling Object Lock automatically enables versioning for the bucket. After you've enabled and successfully created the bucket, you must also configure the Object Lock default retention and legal hold settings on the bucket's **Properties** tab. 
@@ -171,2 +170,0 @@ Enabling Object Lock also enables versioning for the bucket. After enabling you
-For more information, see [Locking objects with Object Lock](./object-lock.html).
-
@@ -175 +173 @@ For more information, see [Locking objects with Object Lock](./object-lock.html)
-To create an Object Lock enabled bucket, you must have the following permissions: `s3:CreateBucket`, `s3:PutBucketVersioning` and `s3:PutBucketObjectLockConfiguration`.
+To create an Object Lock enabled bucket, you must have the following permissions: `s3:CreateBucket`, `s3:PutBucketVersioning`, and `s3:PutBucketObjectLockConfiguration`.
@@ -177 +175 @@ To create an Object Lock enabled bucket, you must have the following permissions
-  15. Choose **Create bucket**.
+  14. Choose **Create bucket**.