Возможно ли развернуть ресурсы терраформирования с различными уровнями доступа, если да, то как?

#terraform #snowflake-cloud-data-platform

Вопрос:

Я очень новичок в терраформировании и ищу предложения.

у нас есть вариант использования для обслуживания и развертывания ресурсов с использованием одного и того же поставщика, но с разными уровнями доступа. значение

  1. Создание ресурсов ABC (для этого требуются права администратора учетной записи)
  2. Создание ресурсов 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. спасибо за ваш ответ. Да, как вы указали, я хотел бы предоставить некоторые права доступа для пользователей с высокими привилегиями, а для снижения риска-для пользователей с более низкими привилегиями. Я попробую ваше предложение.