Сокрытие секрета в Terraform для Azure с оговоркой - PullRequest
1 голос
/ 03 октября 2019

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

provider "azurerm" {
  alias           = "kv_prod"
  version         = "1.28"
  tenant_id       = "<tenant id>"
  subscription_id = "<sub id>"
  client_id       = "<SP client id>"
  client_secret   = "<SP secret>"
}

Это используется далее в моем модуле для хранения ключей учетной записи хранения и других секретов. Просто в подписке Prod есть доступ, к которому не все имеют доступ.

Кто-нибудь сталкивался с чем-то подобным? Если да, то как бы вы взялись за сохранение этого секрета?

Ответы [ 3 ]

3 голосов
/ 09 октября 2019

@ maltman Есть несколько способов скрыть секрет в терраформе. Вот блог, в котором рассказывается о них:

https://www.linode.com/docs/applications/configuration-management/secrets-management-with-terraform/

Однако, если вас интересует только шифрование файла секретов при регистрации и выходе из git, вы можете использовать что-то вроде git-crypt

Вам необходимо создать пару файлов:

variables.tf -> Определить здесь свои переменные

variable "client_secret" {
  description = "Client Secret"
}

terraform. tfvars -> Укажите здесь значение переменной

client_secret = 'your-secret-value'

Теперь используйте git-crypt для шифрования terraform.tfvars при входе в git

2 голосов
/ 07 октября 2019

Для ваших требований, я думаю, есть два безопасных способа для сравнения.

Во-первых, учетные данные хранятся в виде переменных среды, чтобы вы не открывали секрет в файлах tf. Вот пример .

Другой способ заключается в том, что вы можете войти в систему с учетными данными для Azure CLI, а затем просто установить подписку, не раскрывая секрет в файле tf. Вот пример .

Два вышеупомянутых способа - это то, что я считаю безопасным и возможным для вас. Надеюсь, это поможет вам.

0 голосов
/ 31 октября 2019

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

...