У нас была похожая ситуация. Nr. 2 звучит как хорошая ситуация, пока вы не поймете, что описываете состояние в Terraform, и что-то подобное действительно трудно выразить легко. Кроме того, если вам нужно добавить больше пользователей позже, вы временно делаете вашу базу данных доступной для внешнего мира, что не идеально.
Наше решение заключалось в использовании Liquibase (инструментмы уже использовали для миграции баз данных, но любой такой инструмент будет работать) для создания пользователей и грантов.
Мы работали в Kubernetes, поэтому я мог создать задание Kubernetes через Terraform, которое запустило Liquibase и выполнило создание пользователя, но подобное решение, вероятно, возможно для вашей ситуации. Terraform поддерживает инициатора remote-exec для запуска задания на удаленном хосте, который можно использовать для запуска задания на бастионе-хосте.