Это возможно при использовании AWS IAM ( Управление идентификацией и доступом ) и на стороне сервера " торговый автомат токенов ".В документации AWS есть статья, специально написанная для варианта использования Аутентификация пользователей мобильных приложений AWS с помощью токен-автомата и образца кода для сервера, iOS и Android в GitHub.Общий метод может использоваться для немобильных и / или для клиентов JavaScript.
Примечание : для продажи маркеров временного доступа по-прежнему требуется компонент сервера.Однако объем этих запросов может быть значительно уменьшен (до одного раза в 36 часов).Остальные запросы поступают от ненадежного клиента к SimpleDB напрямую, без посредников.
Общая техника
- анонимный клиент вызывает ваш торговый автомат токенов (ваш сервер)
- торговый автомат токеновмашина знает секретный ключ, вызывает AWS для генерации временного токена
- торговый автомат возвращает клиенту токен
- клиент вызывает API simpleDB с использованием анонимного временного токена;невозможно выполнить запись в SimpleDB
Политика доступа только для чтения
Из примера кода AWS " Политика доступа только для чтения "
{
"Statement": [
{
"Action": ["sdb:GetAttributes", "sdb:List*", "sdb:Select*"],
"Effect": "Allow",
"Resource": "*"
}
]
}
Это расширяетза пределы SimpleDB.Вы можете установить политику доступа для нескольких других ресурсов AWS (см. пример политики полного доступа ).
Вариант для замены динамических вызовов клиент-сервер статическим ресурсом
Хотя выне может удалить серверный компонент, клиентам не обязательно общаться напрямую с торговым автоматом:
- запланированное задание генерирует
token
каждые N секунд, когда N + fudge == token expiry
- записывает задание
token
в общедоступную корзину S3 (или любой другой статический ресурс) - установить соответствующий заголовок управления кэшированием maxAge на основе
fudge
- чтения анонимного клиента
token
из статического URI - клиент аутентифицируется с
token
, делает вызовы SimpleDB
только для чтения