Amazon S3 Secutity Flashcards

1
Q

4 methods used to encrypt objects in S3 buckets?

A
  1. SSE-S3
  2. SSE-KMS
  3. SSE-C
  4. Client Side
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How does “Server-Side Encryption with Amazon S3-Managed Keys” work?

A

SSE-S3 is enabled by default.

Encrypts S3 objects using keys handled. Managed and owned by AWS

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

How does “Server-Side Encryption with KMS Keys stored in AWS KMS” work?

A

SSE-KMS leverages AWS Key Management Service(AWSKMS) to manage encryption keys

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

How does Server-Side Encryption with Customer-Provided Keys work?

A

SSE-C is for when you want to manage your own encryption keys

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

What is DSSE-KMS ?

A

double encryption based on KMS

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

Features:
- Encryption using keys handled, managed, and owned by AWS
- Object is encrypted server-side
- Encryption type is AES-256
- Must set header “x-amz-server-side-encryption”: “AES256”
- Enabled by default for new buckets & new objects

A

Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3)

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

Features:
- Encryption using keys handled and managed by AWS KMS (Key Management Service)
- KMS advantages: user control + audit key usage using CloudTrail
- Object is encrypted server side
- Must set header “x-amz-server-side-encryption”: “aws:kms”

A

Server-Side Encryption with KMS Keys stored in AWS KMS (SSE-KMS)

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

Features:
- Server-Side Encryption using 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

A

Server-Side Encryption with Customer-Provided Keys (SSE-C)

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

What are these?
- If you use SSE-KMS, you may be impacted by the KMS limits
- When you upload, it calls the GenerateDataKey KMS API
- When you download, it calls the Decrypt KMS API
- Count towards the KMS quota per second (5500, 10000, 30000 req/s based on region)
- You can request a quota increase using the Service Quotas Console

A

SSE-KMS Limitations

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

Features:
- Use client libraries such as Amazon S3 Client-Side Encryption Library
- Clients must encrypt data themselves before sending to Amazon S3
- Clients must decrypt data themselves when retrieving from Amazon S3
- Customer fully manages the keys and encryption cycle

A

Client-Side Encryption

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

What is SSL/TLS

A

Encryption in flight

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

Which two endpoints does Amazon S3 exposes?

A
  1. HTTP Endpoint – non encrypted
  2. HTTPS Endpoint – encryption in flight
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Which protocol is recommended?

A

HTTPS

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

Which encryption service has a mandatory protocol of HTTPS?

A

SSE-C

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

What kind of encryption is automatically applied to new objects stored in S3 bucket?

A

SSE-S3

17
Q

How can you refuse any API call to PUT an S3 object without encryption headers (SSE-KMS or SSE-C)

A

You can “force encryption” using a bucket policy

18
Q

What is Web Browser based mechanism to allow requests to other origins while visiting the main origin

A

Cross-Origin Resource Sharing (CORS)

19
Q

What should be done if a client makes a cross-origin request on our S3 bucket?

A

Enable the correct CORS headers

20
Q

What does MFA (Multi-Factor Authentication) do?

A

force users to generate a code on a device (usually a mobile phone or hardware) before doing important operations on S3

21
Q

What two things will require MFA?

A
  1. Permanently delete an object version
  2. Suspend Versioning on the bucket
22
Q

What two things won’t require MFA?

A
  1. Enable Versioning
  2. List deleted versions
23
Q

What must be enable to use MFA Delete?

A

Versioning must be enabled on the bucket

24
Q

Who can enable/disable MFA Delete?

A

Only the bucket owner (root account)

25
Q

Where can you log any request made to S3?

A

S3 bucket

26
Q

The target logging bucket must be?

A

In the same AWS region

27
Q

How can pre-signed URLs be generated?

A

S3 Console, AWS CLI or SDK

28
Q

Users given a …… inherit the…….. of the user that generated the URL for GET / PUT.

A

pre-signed URL, permissions

29
Q

What do Access Points simplify?

A

Security management for S3 Buckets

30
Q

Two parts of an Access Point?

A
  1. its own DNS name (Internet Origin or VPC Origin)
  2. an access point policy (similar to bucket policy) – manage security at scale
31
Q

We can define the access point to be……. only from within the…….

A

accessible, VPC

32
Q

How can you access the Access Point(Gateway or Interface Endpoint)

A

Create a VPC Endpoint

33
Q

The VPC Endpoint Policy must …… to the target….. and……….

A

allow access, bucket, Access Point

34
Q

How can you change the object before it is
retrieved by the caller application?

A

AWS Lambda Function

35
Q
  • Use Cases:
  • Redacting personally identifiable
    information for analytics or non-
    production environments.
  • Converting across data formats, such
    as converting XML to JSON.
  • Resizing and watermarking images on
    the fly using caller-specific details, such
    as the user who requested the object.
A

Only one S3 bucket is needed, on
top of which we create S3 Access
Point and S3 Object Lambda Access
Points.