У меня есть таблица, которая позволяет пользователям (прошедшим проверку подлинности через Cognito) читать и записывать только свои собственные записи, включенные политикой IAM, как показано ниже:
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": [
"${cognito-identity.amazonaws.com:sub}"
]
}
}
Я проектирую свою структуру данных и мне необходимознать, как DynamoDB применяет эту область видимости в контексте операций сканирования.
При выполнении сканирования, DynamoDB сначала применяет область действия пользователя к таблице (таким образом, единственными отсканированными документами будут документы пользователя), или сканирование будет использовать всю таблицу, а затем применяет политику для области действия записей?
Смысл этого вопроса в том, насколько эффективна проверка - если будет сканироваться вся таблица, то операция будет очень дорогой, но если только собственные записи пользователя (небольшая часть таблицы)сканируются, тогда сканирование может быть приемлемо эффективным.