https://github.com/jtblin/kube2iam is probably what you're looking for, it uses iptables to allow/disallow pods requests to the ec2 metadata service based on kubernetes annotations
in fact, if you check out the source (located here: https://github.com/awslabs/aws-service-operator) it's recommended to use kube2iam
edit: haven't fully read the article yet but if the operator supports managing IAM roles thru a CRD you could potentially create the role and attach it via annotation in one go.
double edit: looks like IAM roles aren't directly supported yet, the following is what appears to be supported:
- cloudformation templates
- dynamodb
- s3
- sns subscriptions and topics
- sqs queues
- ecr repos