Skip to content

Вопросы и ответы

Какие способы аутентификации используются при работе с Terraform?

Можно использовать два способа аутентификации: через привязку сервисного аккаунта и через токены.

Какой способ аутентификации предпочтителен?

При работе с Terraform рекомендуется использовать аутентификацию через привязку сервисного аккаунта. Аутентификация с помощью токена подходит только для тестовых операций с небольшим временем выполнения: срок действия токена составляет 5 минут.

Как правильно работать с чувствительными данными?

Чувствительные данные (пароли, ключи доступа, токены и т.п.) желательно хранить в отдельном файле с переменными. Это помогает ограничить доступ к секретам и снизить риск их компрометации. Кроме того, вы сможете легко изменять секреты без изменения остального кода.

В описаниях переменных с чувствительными данными используйте параметр sensitive = true, например:

hcl
variable "acces_token" {
  type      = string
  sensitive = true 
}

В этом случае значения переменных не будут отображаться в логах и выводах команд. Если вы храните конфигурации Terraform в git-репозитории, добавляйте файлы с секретами в .gitignore.

По возможности используйте системы управления секретами, например HashiCorp Vault).

Где лучше хранить файлы состояния?

По умолчанию файлы состояния хранятся локально. Такой способ подходит, только если вы используете Terraform в тестовых целях.

Для командной работы лучше помещать файлы состояния в удаленное хранилище. В MWS Cloud для этой цели можно использовать Object Storage.

Можно ли отредактировать файл состояния вручную?

Технически это возможно, однако может привести к частичному или полному удалению ресурсов при применении конфигурации. Прибегайте к ручному редактированию как к крайней мере лишь в исключительных случаях — например, при восстановлении после критических сбоев. Перед ручным редактированием обязательно сделайте резервную копию файла состояния.