Ответ 1
Это стало возможным после того, как AWS добавил Fine-Grained Access Control для Amazon DynamoDB, что облегчает AWS Политики идентификации и управления доступом (IAM) для регулирования доступа к элементам и атрибутам, хранящимся в таблицах DynamoDB.
Вступительное сообщение в блоге иллюстрирует выдающуюся детализацию этой функции и упрощает ее для многих случаев использования в реальном мире:
- Горизонтальный. Вы можете выборочно скрыть или разоблачить определенные элементы DynamoDB в определенной таблице, сопоставляя значения хэш-ключей
- Вертикальный. Вы можете выборочно скрывать или публиковать определенные атрибуты всех элементов DynamoDB в определенной таблице, сопоставляя имена атрибутов
- Комбинированный. Вы можете выполнять горизонтальное и вертикальное управление в одной и той же политике.
См. Fine-Grained Access Control для Amazon DynamoDB для получения дополнительной информации об этой способности определять, кто может обращаться к отдельным элементам данных и атрибутам в Amazon DynamoDB таблицы и индексы, а также действия, которые могут быть выполнены на них.
- Это также включает конкретный пример того, как включить идентификатор пользователя в первичный ключ таблицы Amazon DynamoDB и скрывать информацию как по горизонтали, так и по горизонтали вертикально через соответствующее условие IAM после этого на основе вызывающего пользователя.
Добавление
Широкий охват/влияние этой новой функциональности также подчеркивается в Werer Vogels Упрощение управления данными мобильных приложений с помощью Fine-Grained Access Control DynamoDB:
Благодаря Fine-Grained Access Control мы решаем эту проблему, позволяя вам создавать политики доступа, включающие условия, описывающие дополнительные уровни фильтрации и управления. Это устраняет необходимость в прокси-слое, упрощает стек приложений и приводит к экономии затрат.
[...]
С сегодняшнего запуска приложения, работающие на мобильных устройствах, могут отправлять рабочие нагрузки в таблицу DynamicDB, строку или даже столбец без прохождения промежуточного прокси-уровня. [...] Эта возможность позволяет приложениям, работающим на мобильных устройствах, изменять только строки, принадлежащие определенному пользователю. Кроме того, объединяя данные пользователей в таблице DynamoDB, вы можете получить информацию в реальном времени о базе пользователей в больших масштабах, не пройдя дорогие объединения и пакетные подходы, такие как разброс/сбор.