S3 - Simple Storage Service Flashcards
What is S3?
Amazon Simple Storage Service is an object storage service that offers industry-leading scalability, data availability, security, and performance
Where are objects stored in S3?
in buckets
What is globally unique on a bucket?
the name
How are buckets scoped?
regionally
What is the number of characters allowed in bucket’s name?
3-63
What can not contain a bucket’s name?
no uppercase nor underscore
How must start a bucket’s name?
lowercase or number
What is the bucket object key?
the full path, starting after the bucket name
What is composed of the key of a bucket object?
prefix + object name
There are directories within buckets?
There’s no concept of “directories” within buckets
(although the UI will trick you to think otherwise)
Just keys with very long names that contain slashes (“/”)
What is the max object size in S3?
5TB
What is the max object size you can upload to S3?
5 GB
What you need to do to upload an object greater than 5GB to S3?
use multi-part upload
What contains an S3 object?
Key Version ID Value (Object itself) Metadata Subresources Access Control Information
What is useful for S3 object tags?
useful for security / lifecycle
How many S3 object tags can you use?
up to 10
Can you enable versioning on an S3 object?
no, it is at bucket level
How can you increment an S3 object version?
uploading an object with the same key
What is the version number of a file that was not versioned prior to when versioning is enabled?
null
What happens to previous versions when versioning is disabled?
nothing, they are not deleted
Which are the 4 methods of encrypting objects in S3?
SSE-S3
SSE-KMS
SSE-C
Client Side Encryption
What is about SSE-S3 encryption method in S3?
encrypts S3 objects using keys handled & managed by AWS
What is about SSE-KMS encryption method in S3?
leverage AWS Key Management Service to manage encryption keys
What is about SSE-C encryption method in S3?
when you want to manage your own encryption keys
What is about Client Side Encryption method in S3?
Customer fully manages the keys and encryption cycle
What encryption type is used by SSE-S3 encryption method?
AES-256
What you must set to use S3 SSE-S3 encryption method?
Must set header: “x-amz-server-side-encryption”: “AES256”
What is used by SSE-KMS S3 encryption method?
A Customer Master Key (CMK)
What you must set to use S3 SSE-KMS encryption method?
Must set header: “x-amz-server-side-encryption”: ”aws:kms”
What means SSE on S3 encryption methods?
Server Side Encryption
What you must set to use S3 SSE-C encryption method?
You must provide the key via HTTPS only
What you must do to use Client Side encryption method?
You must encrypt and decrypt the data by yourself before sending it or receiving it using a client library such as the Amazon S3 Encryption Client
What endpoints are exposed by S3?
HTTP and HTTPS (recomended)
What are the 2 base groups for S3 security?
User and Resource based
What is the User Based security on S3?
IAM policies - which API calls should be allowed for a specific user from IAM console
What are the Resource Based security on S3?
- Bucket Policies - bucket wide rules from the S3 console - allows cross account
- Object Access Control List (ACL) – finer grain
- Bucket Access Control List (ACL) – less common
How are S3 Bucket policies written?
JSON
What you must define on a S3 Bucket policy?
- Resources
- Actions
- Effect
- Principal
What means the actions in a S3 Bucket policy?
Set of API to Allow or Deny (s3:GetObject)
What means a resource in a S3 Bucket policy?
buckets and objects
What means an effect in a S3 Bucket policy?
Allow / Deny
What means a principal in a S3 Bucket policy?
The account or user to apply the policy to
How can you grant access to another account to your bucket?
Using a Bucket Policy
How can you grant public access to your bucket?
Using a Bucket Policy
What can you use to block any permission allowed over your bucket?
Use Bucket settings for Block Public Access
At what level does work Block Public Access setting?
At bucket and account level
How can you access private S3 instances without internet?
S3 supports VPC endpoints
Where can you store S3 access logs?
In another S3 bucket
Where can be logged S3 API calls?
CloudTrail