Open david-w-webb opened 2 months ago
Thank you for your interest in Elastic Beanstalk. Access to the S3 bucket you referred to here is restricted by policy. Encryption is enabled by default.
Thank you for your interest in Elastic Beanstalk. Access to the S3 bucket you referred to here is restricted by policy. Encryption is enabled by default.
My request cannot be satisfied simply by using IAM or S3 resource policy restrictions. The issue is:
The statement that the bucket is created with "encryption enabled" is partially correct. The bucket was created without a bucket key assigned and there was no option to enforce a bucket key nor to enforce a private bucket.. It needs to have an option to create the default S3 bucket privately and with an AWS-SSE bucket key applied.
It also needs to have an option per Elastic Beanstalk environment to allow a separate S3 bucket to be assigned to the environment so that nothing is written to the default bucket. This is needed for multi-tenant AWS accounts where different organizations with separate Elastic Beanstalk environments can maintain their applications independently of one another within the same AWS account.
Example: Teams A and B are small teams in a large company. They use a shared "enterprise" AWS account 1234567890 along with several other small organizations within that company because their footprint isn't large enough to justify additional account management resources.
Currently, Elastic Beanstalk forces these teams to operate from separate AWS accounts to meet their multi-tenant security requirements.
Community Note
Elastic Beanstalk creates a single S3 bucket:
elasticbeanstalk-${AWS::Region}-${AWS::AccountId}
when the first Elastic Beanstalk environment for an account/region is created, and uses that S3 bucket for all applications implemented within the account/region.This S3 bucket is created unencrypted and with Public Access.
Please update the Elastic Beanstalk options for creating the default S3 bucket to allow for the options: