S3 Flashcards
s3 bucket name
globally unique name
Buckets are defined
region level
key is the FULL path
- s3://my-bucket/my_file.txt
* s3://my-bucket/my_folder1/another_folder/my_file.txt
key is composed of prefix + object name
s3://my-bucket/my_folder1/another_folder/my_file.txt
Amazon S3 - Versioning
bucket level
best practice to version your buckets
Protect against unintended deletes
Easy roll back to the previous version
4 methods of encrypting objects in S3
SSE-S3: encrypts S3 objects using keys handled & managed by AWS
SSE-KMS: leverage AWS Key Management Service to manage encryption keys
SSE-C: when you want to manage your own encryption keys
Client-Side Encryption
SSE-S3
keys handled & managed by Amazon S3
encrypted server-side
“x-amz-server-side-encryption”: “AES256”
SSE-KMS
encryption using keys handled & managed by KMS
KMS Advantages: user control + audit trail
encrypted server-side
“x-amz-server-side-encryption”: ”aws:kms”
SSE-C
server-side encryption
keys fully managed by the customer outside of AWS
S3 does not store the encryption key
HTTPS must be used
Client Side Encryption
Encryption and decryption at client side
HTTPS endpoint
encryption in flight
Block public and cross-account access to buckets and objects
through any public bucket or access point policies
Why this default policy?
These settings were created to prevent company data leaks
Pre-Signed URLs
Very useful for giving temporary access to users.
URLs that are valid only for a limited time (ex: premium video
service for logged in users)
CORS fulfilled using header
CORS Headers (ex: Access-Control-Allow-Origin)