An IAM role per function

It is advisable that you create a role for each function, because this would decouple the IAM roles. This would also enable least privilege to be provided to individual functions. Say, for example, that a function is using a KMS key within its code. If we have a common role for the KMS key, then all the other functions would have access to the KMS key. 

Get DevOps for Serverless Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.