What problem does IAM solve?
Below problems can be solved by using IAM -
a. Limit the use of root account - For use of any service it's not required to use a root account every time, instead IAM users can be used hence, root account/credentials remain safe.
b. Distributing access to AWS service.
It's not required to distribute or expose root account credentials to any user, let’s say a user wants access of S3 bucket then in the absence of IAM the root credentials should have been shared with the user instead now a user will be created with a group policy assigned for admin access of “S3 bucket” and then only this account credentials can be shared with users.
c. Beneficial for reporting & auditing purposes.
d. Improvement of user experience