S3 Flashcards

1
Q

Архитектура
Route 53 URL → S3 static web-site

В чём причина ошибки “Access Denied”?
В чём её точно нет?

Можно ли в S3 хостить целый SPA (single page application) веб-сайт?

A

Причина в S3 Bucket Policy
Точно НЕ в CORS (это НЕ cross-domain запрос)

Да, в S3 можно хостить целый SPA, ведь JS файлы тоже работают прямо в браузере

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

S3 Object Lock
Что за фича?
Какой принцип реализует?
На какое время можно её активировать?
Как она связана с многопоточкой?

A

Возможность на определённое время блокировать S3 объект (или весь бакет целиком), т.е. временно НЕ позволять никому его перезаписать / удалять

Принцип WORM (write once read many)

  • на промежуток времени (retention period)
  • навсегда, пока кто-то НЕ отменит (legal hold)

Речь НЕ о многопоточке
Предотвращать запись имеется ввиду НЕ другим потокам Java приложения.
А просто другим пользователям AWS.

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

S3 Object Lock
Есть 2 retention modes: COMPLIANCE и GOVERNANCE
В чём разница? Какой более строгий?

A

Самый “жёсткий” - это COMPLIANCE
“Соблюдение законов превыше правительства”
Единственное, что остаётся при Compliance Mode - это сидеть и ждать окончания Retention периода.

А в GOVERNANCE mode определённая группа пользователей может отменить блокировку (S3 Object Lock)

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

Какие фичи S3 требуют “S3 Versioning” как pre-requisite?
Какие НЕ требуют?
Какие перестали требовать?
Какая особенность у S3 Replication?

A

Требуют S3 Replication, MFA Delete, S3 Object Lock
НЕ требует S3 Access Logs
Больше НЕ требует S3 Lifecycle Rules

Для S3 Replication нужно активировать версионирование ВО ВСЕХ бакетах-участниках репликации

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

S3 Notifications
Какие сервисы поддерживают прямую интеграцию?
Как интегрироваться с другими сервисами?

A
  • Lambda
  • SQS Standard (НЕ FIFO)
  • SNS

Через отлов EventBridge event’ов (это НЕ непосредственно S3 event’ы, а лишь факт их появления, зафиксированный в EventBridge)
EventBridge имеет множество Target’ов на выбор

Сам по себе EventBridge НЕ является прямым Target’ом для S3 Event Notifications. EventBridge стоит “поверх S3” (и поверх всех остальных сервисов)

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

S3 Bucket Owner, S3 Object Owner
В чём разница и в чём ограничения?
Как обойти эти ограничения?

A

bucket доступен многим user’ам для загрузки файлов (shared access)
По-умолчанию, кто загрузил файл, тот и Owner.
Если файл загрузил другой AWS аккаунт, то другой AWS аккаунт будет owener’ом.

Даже S3 Bucket Owner не будет иметь доступ к S3 ОБЪЕКТУ, который был загружен ДРУГИМ АККАУНТОМ

В настройках можно изменить это поведение, чтобы S3 Object Owner’ом всегда был хозяин бакета (S3 Bucket Owner), даже если этот объект загрузил другой аккаунт

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

S3 Object Integrity
Какой алгоритм используется? Какие альтернативы?

A

S3 умеет вычислять checksum (hash) на основании контента объектов, загруженных в S3 bucket
Этот MD5 checksum hash - и есть S3 object INTEGRITY - то, через что можно уникально идентифицировать контент объекта

S3 использует алгоритм кэширования MD5
Но вообще есть ещё SHA-256, CRC

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

S3 Object Integrity
Какой use-case?
Что такое ETag?
Зачем он нужен?

A

Можно вычислить MD5 checksum hash перед загрузкой в S3 на локальном компьютере.
Отправить её в заголовке с ключом “Content-MD5”
И после загрузки (upload) сравнить её с MD5 checksum hash объекта в S3.
Если она НЕ совпала, значит загрузка (upload) НЕ удалась.

ETag - это атрибут S3 объекта, который хранит этот MD5 hash (для SSE-S3).
ETag можно скачать (download) отдельно (без самогО S3 объекта), чтобы сравнить значение с хэшем локального объекта

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

S3 Requester Pays
Что за фича?
От чего она защищает?

A

Фича, которая заставляет платить деньги за запросы на чтение/скачивание тот аккаунт, который делает эти чтение/скачивание

Защищает от анонимного доступа

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

S3 HMAC auth code
Зачем он нужен? С каким шифрованием связано?
Что он умеет делать? Что нет?
Что может помочь восстановить?

A

S3 SSE-C подразумевает, что
- S3 НЕ хранит наш customer-key
- вместо этого, S3 хранит рандомный hash-based auth code HMAC
- HMAC создаётся на основе encryption ключа

HMAC используется для последующей ВАЛИДАЦИИ запросов

HMAC НЕ может быть использован для шифрования / дешифрования ВМЕСТО encryption ключа
HMAC НЕ может быть использован для восстановления encryption ключа

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