#terraform #snowflake-cloud-data-platform
Вопрос:
Я очень новичок в терраформировании и ищу предложения.
у нас есть вариант использования для обслуживания и развертывания ресурсов с использованием одного и того же поставщика, но с разными уровнями доступа. значение
- Создание ресурсов ABC (для этого требуются права администратора учетной записи)
- Создание ресурсов XYZ (для этого требуются более низкие привилегии, чем у администратора учетной записи)
Все мои ресурсы хранятся в одном подкаталоге репозитория, но мы можем развертывать ресурсы независимо, используя другой уровень доступа.
Ответ №1:
Как правило, вы создаете экземпляр одного поставщика для каждого используемого имени входа. Вы можете использовать одну и ту же библиотеку поставщиков, но в своей терраформе вы будете ссылаться на них отдельно:
provider "aws" {
profile = "limited-access-profile"
}
provider "aws" {
alias = "admin"
profile = "high-access-profile"
}
resource "aws_s3_bucket" {
//This bucket is created with minimal access
...
}
resource "aws_s3_bucket" {
//This bucket is created with high access
provider = aws.admin
...
}
Этот шаблон с несколькими поставщиками чаще всего используется для перекрестного доступа к учетной записи, хотя ваш вариант использования выполним.
Более распространенным шаблоном является запуск terraform на высоком уровне доступа для создания и добавления разрешений на ресурсы, а затем выполнение других задач и сценариев на низком уровне доступа для обновления этих ресурсов на месте.
Комментарии:
1. спасибо за ваш ответ. Да, как вы указали, я хотел бы предоставить некоторые права доступа для пользователей с высокими привилегиями, а для снижения риска-для пользователей с более низкими привилегиями. Я попробую ваше предложение.