web-dev-qa-db-fra.com

Problème AWS DynamoDB: l'utilisateur n'est pas autorisé à effectuer: dynamodb: PutItem sur la ressource

J'essaie d'accéder à DynamoDB à partir de mon Node déployée sur AWS ElasticBeanStalk. Je reçois une erreur "L'utilisateur n'est pas autorisé à effectuer: dynamodb: PutItem sur la ressource"

Cela fonctionne parfaitement bien localement, uniquement lorsque je déploie sur l'AWS qu'il cesse de fonctionner.

Quelqu'un connaît la solution? Merci d'avance!

24
Tirath Shah

L'accès à dynamoDB refusé est généralement un problème de stratégie. Vérifiez les stratégies IAM/rôle que vous utilisez. Une vérification rapide consiste à ajouter

AmazonDynamoDBFullAccess 

dans votre rôle en accédant à l'onglet "Autorisations" dans la console AWS. Si cela fonctionne après cela, cela signifie que vous devez créer une bonne stratégie d'accès et l'attacher à votre rôle.

19
Abhimanu Kumar

Vérifiez la clé d'accès que vous utilisez pour vous connecter à DynamoDB dans votre application Node sur AWS. Cette clé d'accès appartiendra à un utilisateur qui ne dispose pas des privilèges nécessaires dans IAM. Donc, trouvez l'IAM utilisateur, créez ou mettez à jour une politique appropriée et vous devriez être bon.

Pour Beanstalk, vous devez configurer des stratégies utilisateur lors de la publication. Découvrez les documents officiels ici .

Et consultez l'exemple d'ici aussi , gracieuseté de @Tirath Shah.

2
smcstewart