For what it’s worth.
If writing JSON inside your TypeScript to create IAM Policy documents is bothering you, I’ve released a TypeScript library that allows to create IAM Policy documents programmatically in TypeScript. It seamlessly integrate with Pulumi. Additionally, you can unit test the policy documents too.
I’ve recently released v3.0.0 that adds the
UserPrincipal
and
RolePrincipal
to replace the generic
ArnPrincipal
. I guess with that, all kinds of principals are covered now 🤷
https://github.com/thinkinglabs/aws-iam-policy