S3 Introduction Flashcards

1
Q

Amazon S3 allows people to store ____ in _____

A

Amazon S3 allows people to store objects (files) in “buckets” (directories)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Buckets must have a ___?

A

Globally unique name

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Buckets are defined at what level?

A

Region Level

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What’s the naming convention?

A
  • No uppercase
  • No underscore
  • 3-63 characters long
  • Not an IP
  • Must start with lowercase letter or number
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Objects (files) have a key. The key is what?

A

The full path
• /my_file.txt
• /my_folder1/another_folder/my_file.txt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Max size of objects?

A

5TB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

• If uploading more than 5GB, must use

A

“multi-par t upload”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

You can version your files in AWS. It is enabled at the ___ lvel?

A

bucket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the 4 methods of encrypting objects in S3

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the features of SSE-S3?

A
  • SSE-S3: encryption using keys handled & managed by AWS S3 • Object is encrypted server side
  • AES-256 encryption type
  • Must set header: “x-amz-server-side-encryption”: “AES256”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are features of SSE-KMS?

A
  • SSE-KMS: encryption using keys handled & managed by KMS
  • KMS Advantages: user control + audit trail
  • Object is encrypted server side
  • Must set header: “x-amz-server-side-encryption”: ”aws:kms”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are some features of SSE-C?

A
  • SSE-C: server-side encryption using data keys fully managed by the customer outside of AWS • Amazon S3 does not store the encryption key you provide
  • HTTPS must be used
  • Encryption key must provided in HTTP headers, for every HTTP request made
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are features of Client Side Encryption?

A
  • Client library such as the Amazon S3 Encryption Client
  • Clients must encrypt data themselves before sending to S3
  • Clients must decrypt data themselves when retrieving from S3 • Customer fully manages the keys and encryption cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

S3 exposes both HTTP and HTTPS endpoint?

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

HTTPS is mandatory for what kind of encryption methods?

A

SSE-C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

S3 User based Security?

A

IAM policies - which API calls should be allowed for a specific user from IAM console

17
Q

S3 Resource Based security?

A
  • 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
18
Q

Describe S3 Bucket Policies

A
  • JSON based policies
  • Resources: buckets and objects
  • Actions: Set of API to Allow or Deny
  • Effect: Allow / Deny
  • Principal:The account or user to apply the policy to
  • Use S3 bucket for policy to:
  • Grant public access to the bucket
  • Force objects to be encrypted at upload
  • Grant access to another account (Cross Account)
19
Q

S3 Security supports VPC endpoints?

A

True

20
Q

If you get a 403 error make sure what?

A

Make sure the bucket policy allows public reads

21
Q

If you request data from another S3 bucket, you need to enable what?

A

CORS

22
Q

Explain read after write consistency for PUTS of new objects

A

As soon as an object is written, we can retrieve it
ex: (PUT 200 -> GET 200)
• This is true, except if we did a GET before to see if the object existed
ex: (GET 404 -> PUT 200 -> GET 404) – eventually consistent

23
Q

Explain Eventual Consistency for DELETES and PUTS of existing objects

A

• If we read an object after updating, we might get the older version
ex: (PUT 200 -> PUT 200 -> GET 200 (might be older version))
• If we delete an object, we might still be able to retrieve it for a short time ex: (DELETE 200 -> GET 200)