Pulumi: как создать ApplicationPassword и разрешить Azure устанавливать значение

#pulumi

#пулуми

Вопрос:

Я хотел бы иметь возможность сделать следующее:

  • Сгенерируйте an ApplicationPassword без создания фактического value для пароля (позвольте Azure сделать это, аналогично тому, как Azure генерирует секретное значение для вас в пользовательском интерфейсе, или это secretText возвращаемое значение из этого метода api azure: https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-1.0amp;tabs=http )
  • Поместите этот секрет в хранилище ключей Azure
  • Повторно разверните стек, не заставляя его каждый раз генерировать новый секрет

Возможно ли это?

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

Единственное обходное решение, которое я могу придумать, — это сгенерировать секретное значение в коде, сохранить его в keyvault, извлечь его из keyvault и использовать для создания ApplicationPassword , но тогда это заставило бы Pulumi создавать новый секрет в keyvault (а затем новый ApplicationPassword ) каждый раз, когда я развертываю стек.

Ответ №1:

Вы можете использовать RandomPassword ресурс для генерации пароля, который является стабильным между несколькими запусками одного и того же стека. Он генерируется один раз, а затем сохраняется в файле состояния.

 const password = new random.RandomPassword("password", {
    length: 16,
    special: true,
});

// use password.result somewhere