AWS Разрешение IAM Предоставить на основе значений атрибута Dynamodb - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть таблица DynamodB, в которой есть следующие значения атрибутов | UserID | Name | paid | |--------|------|-------| | 0001 | Sam | false |

У меня есть поливизированный документ IAM, написанный в yml-файле без сервера, следующим образом

- PolicyName: PaidPolicy PolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Action: - "s3:PutObject" Resource: - Fn::Join: - "" - - arn:aws:s3:::uploads - "/protected/*"

Можно ли изменить действие политики на Allow или Deny на основе значения столбца paid

Примечание: Я обнаружил, что можно добавлять условия используя атрибут Condition, но не смог найти способ ссылаться на значения таблицы DynamodB

1 Ответ

1 голос
/ 28 апреля 2020

Быстрый поиск через это сделать c ничего не значит, поэтому я имею в виду следующее решение:

  1. Создание групп пользователей для платных и free users
  2. Присоединение политик с разрешением и запретом действий S3 к соответствующей группе
  3. Создание лямбда-функции, которая будет помещать пользователя в указанную группу на основе значения столбца в DynamoDB
  4. Триггер лямбда на Изменение таблицы DynamoDB через поток
...