J'ai créé une fonction lambda dans AWS dans le but d'accéder à des ressources basées sur une recherche. Par exemple: Je souhaite interroger une table dynamoDB FOO_BAR pour un client FOO via la passerelle API.Comment pouvez-vous accorder dynamiquement des autorisations à une fonction AWS Lambda pour accéder aux ressources?
La requête arrive, j'identifie sa table FOO qui est requise et je veux pouvoir appliquer une politique à ma fonction/session lambda actuelle qui donnera accès à la table FOO_BAR. Mon problème est le suivant: pour que la fonction lambda puisse interroger la table FOO_BAR, le rôle d'exécution configuré lors de la création de la fonction lambda doit avoir un accès en lecture et je ne veux accorder aucun accès générique à ce rôle.
L'API utilisée passe par un autorisateur personnalisé et j'ai appliqué une stratégie pour accéder aux API; J'espérais aussi que ma fonction lambda hériterait de la politique générée par l'Authorizer.
Pouvez-vous accorder dynamiquement des autorisations à une fonction lambda pour accéder aux ressources?
Merci!
Merci kixorz, j'en suis arrivé aux mêmes conclusions. Dans mon cas, il s'avère trop coûteux en temps pour accéder à la ressource via API, donc j'ai implémenté [STS] (http://docs.aws.amazon.com/STS/latest/APIReference/Welcome .html) et permettant un accès direct aux ressources en fonction d'une politique générée. Ceci coupe le temps de pullup/teardown dans la fonction Lambda. Cela fonctionne beaucoup mieux pour l'accès à des ressources comme SQS. L'utilisateur 1 obtient un jeton via sts via notre API et ce jeton ne donne accès qu'à sa ressource. – Brian
Très belle solution! – kixorz