например создание пользователей с ролями для работы тф
Это делается первый раз при создании аккаунта. Разными средствами на любой вкус. В aws - при создании аккаунта например создавать роли, прописывать sso - можно используя cfn, можно ansible, boto3, API - что угодно.
И только потом уже мы запускаем терраформ/terragrunt в этом аккаунте, используя разрешенную роль.
Бакет и табличку для стейта можно конечно уже заранее создать и настроить как нужно - а можно и потом доверить это созданной роли.
Вот тут и удобна функциональность terragrunt, который может создать нам бакет. Это просто одна удобная, очень мелкая функциольность. Конечно можно использовать и что то другое.
Не забывайте про проблему курицы и яйца.