Шаблони доступу до даних у мультиорендності та політики IAM
Використання сховищ даних в AWS
Dunieski Otano
AWS Solutions Architect
Порушення безпеки в мультиорендності
SaaS-застосунок обслуговує 1 000 компаній
Баг у коді дозволяє міжорендний доступ
Співробітник компанії A бачить дані компанії B
Наслідок: втрата клієнтів, позови, шкода репутації
Розуміння мультиорендності
Що таке мультиорендність?
Кілька клієнтів спільно використовують інфраструктуру
Переваги
Економія коштів, простіше обслуговування
Виклик
Гарантувати повну ізоляцію даних
Шаблон: ключ розділу на орендаря
Дизайн
tenantId
як ключ розділу
Додавати
tenantId
до кожного елемента
Переваги
Недорого, масштабується до тисяч
Вимоги
Жорсткий контроль доступу, політики IAM
Шаблон: окремі таблиці для кожного орендаря
Дизайн
Окрема таблиця для кожного орендаря
Переваги
Краща ізоляція, легше дотримання вимог
Недоліки
Складність керування, обмеження на кількість таблиць
Шаблон: окремі бази даних для кожного орендаря
Дизайн
Окрема база даних для кожного орендаря
Переваги
Повна ізоляція, індивідуальні налаштування
Недоліки
Найвища вартість, операційні витрати
Ключі умов IAM для ізоляції орендарів
dynamodb:LeadingKeys
Обмежує доступ до ключів розділу
Зразок політики
"Allow if tenantId = tenant-123"
Застосування
AWS примусово застосовує на рівні API
Реалізація багаторівневого захисту
Шар 1: Застосунок
Перевіряйте
tenantId
у коді
Шар 2: Політика IAM
Ключі умов забезпечують ізоляцію
Шар 3: Дизайн бази даних
Фізичне розділення за ключем розділу
Тестування та валідація
Тест міжорендного доступу
Спробуйте читати дані іншого орендаря
Має завершитись з AccessDeniedException
Аудит-логування
CloudTrail журналює всі спроби доступу
Регулярні перевірки
Переглядайте політики IAM і шаблони доступу
Вітаємо!
Сховища даних AWS
: DynamoDB, S3, ElastiCache, OpenSearch
Проєктування й оптимізація
: дизайн таблиць, оптимізація зберігання
Захист даних
: шифрування, керування секретами, ізоляція орендарів
Давайте потренуємось!
Використання сховищ даних в AWS
Preparing Video For Download...