aws-powertools / powertools-lambda-python

A developer toolkit to implement Serverless best practices and increase developer velocity.
https://docs.powertools.aws.dev/lambda/python/latest/
MIT No Attribution
2.84k stars 390 forks source link

Feature request: Signing AWS Request #2493

Open stephenbawks opened 1 year ago

stephenbawks commented 1 year ago

Use case

Certain AWS Services need to be signed with Signature V4.

https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html

Solution/User Experience

I am proposing adding a new class that will take in the parameters to create this signed request for the end user to simplify it since it is not a very straightforward method and should be made easier.

Alternative solutions

No response

Acknowledgment

leandrodamascena commented 1 year ago

Hi @stephenbawks Thank you so much for opening this issue to add this new support, we really see value in this addition. As I see in #2435, you're using functions provided by botocore and that's awesome because botocore is included by default in the Lambda Runtime and we don't need to bring one more dependency.

However, before we move forward with this new utility, we really need to create an RFC to further discuss this implementation. Imagine we just merged PR #2435, customers start using this and we need to add more features and other utilities related to signed requests or JWT token for example? Will we have problems with changes breaking? Do we already have a good design that allows adding more features? We should have another developer experience for this case?

Let me give you a real example why we need an RFC for this: we already have an issue opened that can be added to this new utility - https://github.com/aws-powertools/powertools-lambda-python/issues/1174.

So, do you think you can start creating an RFC? Can I help you? You can use this RFC as an example to create a new one - https://github.com/aws-powertools/powertools-lambda-python/issues/2421.

Thank you so much for taking the time to add value to Powertools, it is priceless and I cannot express our gratitude enough.

stephenbawks commented 1 year ago

I will get it done.

heitorlessa commented 8 months ago

Assigning to me for review and scheduled for the next iteration cycle starting on Monday :)

Appreciate your patience while we had many loose ends to take care of

heitorlessa commented 7 months ago

I've started the Parameters/Secrets one, once complete we can move to this one. I've tentatively moved to early April as I'll be on holidays too on mid-March