What policies or rights to be provided for a user with which we will run the terraform scripts?
The answer is: it fully depends on your needs.
If you're running Terraform on CodeBuild or ECS and have configured an IAM Task Role, Terraform will use the container's Task Role.
If you're running Terraform on EKS and have configured IAM Roles for Service Accounts (IRSA), Terraform will use the pod's role.
See AWS Identity and Access Management Documentation for always up to date information and test your policies with the help of IAM policy simulator.
However, from my experience it is much easier to use AWS managed policies than to write policies yourself - see AWS managed policies for Amazon Elastic Kubernetes Service for an overview.