S3 Flashcards
Which S3 encryption type MUST use HTTPS for uploads and why?
SSE-C MUST use HTTPS as the encryption key is sent in the header for each and every request
Your client wants to make sure the encryption is happening in S3, but wants to fully manage the encryption keys and never store them in AWS. What encryption scheme would you use?
SSE-C. NOT client side encryption as this allows you to manage keys but NOT have encryption occurring in S3
You delete an object from S3, but as soon as you do this you find you can still access it and its still there? Why
Deletes are eventually consistent on S3
Does cross region replication in S3 apply to new AND existing objects?
NEW objects only
The bucket policy allows our users to read/write files in the bucket, yet we were not able to perform a PutObject API call. What is your assessment?
There is probably an explicit DENY on the IAM policy
Name 3 event notification destinations for an s3 bucket
lambda, SQS, SNS
Your company wants data to be encrypted in S3, and maintain control of the rotation policy for the encryption keys. What encryption scheme would you use?
SSE-KMS
You have a website that loads files from another S3 bucket. The files work when you access them directly via the s3 URL via a browser, but fail when you use the website that calls them. Whats wrong?
This is a CORS problem. If CORS is not enabled then the files won’t load.
Which s3 types have 11 9’s durability? What about availability?
All of them have 11 9’s.
s3: 99.99% Avail
s3-IT: 99.9%
S3-1ZIA: 99.5%%
What are the two things that require MFA delete in S3?
- permanently delete an object version
2. Suspend versioning
How do you enforce encryption on NEW objects ADDED to an S3 bucket (new way and old way)
New Way: Enable encryption for new objects
Old Way: Create a bucket policy to enforce the presence of the AWS-SERVER-SIDE-ENCRYPTION header and a valid encryption scheme in the header (i.e AES256). The value of the header must match the encryption scheme for the bucket.
What are the 4 types of encryption on S3?
SSE-S3
SSE-KMS
SSE-C
Client Side encryption
If you have an existing bucket with objects in it, and enable versioning, what version will those existing objects have?
Null.
In a versioned bucket - when you delete an object, what happens?
The object remains, but a delete marker is set.
Can you set up MFA delete in the AWS console?
No, it must be setup in the CLI
For S3 standard, how many AZ’s can it tolerate being down at any one time?
2
What are the 3 retrieval options for Glacier, and how long does it take to retrieve an object for each?
Expedited: 1-5 minutes
Standard: 3-5 Hours
Bulk: 5-12 Hours
What are the two security models for S3?
User based: IAM policies specifying which api calls should be allowed for a specific user
Resource Based: Bucket policies specifying which actions and principals can operate on a bucket
Why would you choose SSE-KMS over SSE-S3
If you want to manage your keys. KMS offers:
- User control over key rotation
- Audit trail for how the key has been used
What three things do you need to do enable static website hosting on s3?
- Enable static website hosting
- Make the bucket public
- Create a policy allowing getObject requests on the bucket
You suspect that people in your organization have been trying to access objects in S3 they don’t have access to. How can you verify this without them knowing?
Enable s3 access logs. These will log all requests from any one as well as the allow/deny status. You can then query these in Athena. They are cost effective, easy to set up and leverage existing capabilities within AWS.
What is the maximum number of puts and gets/sec on s3?
3500 puts, 5500 gets.
You need to assign temporary credentials to access an S3 bucket in a master account. You don’t want to create an IAM user for this one action, and its likely that access will only be needed for a short period of time (less than one hour). What can you do (3 steps)
You can use STS and assume a role:
- Determine the required IAM role
- Define the principals who can access the role
- Use STS to retrieve the credentials via the Assume Role API
What are the 3 conditions under which a principal can access an s3 object (hint: think permissions and policies)
The user IAM permissions allow access OR The resource policy allows it AND There is no explicit deny