S3 Encryption & Logging & Secure Transport
S3 Default Encryption
S3 default encryption provides a way to set the default encryption behaviour for a S3 bucket and you can set it up on a bucket so that all objects are encrypted when they are stored in the bucket.
The objects are encrypted using server-side encryption with either S3-managed keys (SSE-S3) or KMS CMKs.
Default encryption works with all existing and new S3 buckets.
Without default encryption, you must include encryption information to encrypt all objects stored in a bucket with every object storage request and you must also set up an S3 bucket policy to reject storage requests that don't include encryption information.
CloudTrail Logging for S3 Actions
You can also get CloudTrail logs for object-level S3 actions.
To do this, specify the S3 object for your trail and when an object-level action occurs in your account, CloudTrail evaluates your trail settings.
If the event matches the object that you specified in a trail, the event is logged.
CloudTrail supports logging S3 object-level API operations such as
GetObject
,DeleteObject
, andPutObject
and these events are called data events.By default, CloudTrail trails don't log data events, but you can configure trails to log data events for S3 buckets that you specify, or to log data events for all the S3 buckets in your AWS account.
aws:SecureTransport
aws:SecureTransport
To determine HTTP or HTTPS requests in a bucket policy, use a condition that checks for
aws:SecureTransport
.When this key is true, this means that the request is sent through HTTPS.
To be sure to comply with the
s3-bucket-ssl-requests-only
Config rule, create a bucket policy that explicitly denies access when the request meets the conditionaws:SecureTransport":"false"
and this policy explicitly denies access to HTTP requests.
Last updated