Amazon S3 Introduction Flashcards
What do you use S3 for?
Backup/storage
DR
Archive
Hybrid Cloud storage
App hosting
Media hosting
Data lakes & big data analytics
Software delivery
Static Website
What does S3 save data in?
Buckets
What does S3 save in buckets?
Objects
What do Buckets MUST have globally?
Unique name - across all regions all accounts
Where are buckets defined?
Region level
What does Region Level mean in S3 Buckets?
That they are tied & created in a region
What do objects have?
Keys
Which part is the key of s3://my-bucket/my_file.txt?
/my_file.txt
What is the Key composed of?
Prefix & object name
s3://my-bucket/my_folder1/another_folder/my_file.txt
prefix = my_folder1/another_folder
key = /my_file.txt
Do S3 have directories within buckets?
No
What is the max object size?
5 TB
What do you have to do if uploading more than 5GB?
Multi-part upload
What do objects include?
Metadata (key-value pairs)
Tags (unicode key/value pair)
Version ID (if enabled)
What is User-Based security for S3?
IAM Policies - which API calls should be allowed for a specific user from IAM
What is Resource-Based security in S3?
Bucket Policies - bucket wide rules from S3 console - allows cross account
Object ACL - finer grain (can be disabled)
Bucket ACL - less common (can be disabled)
When can an IAM principal access an S3 object?
If the user IAM permissions ALLOW ir, OR the resource policy ALLOWS it AND there is no explicit DENY
How can you encrypt objects in S3?
Using encryption keys
what do S3 Bucket Policies look like?
JSON based policies
What can you do with a bucket policy?
Grant public access to bucket
Force objects to be encrypted at upload
Grant access to another acc (cross acc)
How can you give public to S3?
Via Bucket Policy
What can you do to give access to an S3 bucket within your account for a user within your acc?
Assign an IAM policy to the user
How can you allow an EC2 instance to access the S3 bucket?
By assigning EC2 instance role with the correct IAM permissions to the ec2 instance
How can you give cross acc access to S3 bucket?
Assign S3 Bucket Policy to the bucket that allows cross acc access
How can you block public access of an S3 bucker?
It is a setting created by AWS