Как я могу переопределить ссылку на хранилище ключей Azure для шаблона ARM в Azure DevOps? У меня есть шаблон ARM, на который есть ссылка:

"KeyVaultSecret": {
  "reference": {
    "keyVault": {
      "id": "/subscriptions/214124-1241-526-645-lele/resourceGroups/KEYVAULT-RG/providers/Microsoft.KeyVault/vaults/KeyVault"
    },
    "secretName": "VerySecret"
  }
}

Но в некоторых случаях я хотел бы переопределить id и / или secretName.

1
Kamsiinov 23 Окт 2018 в 13:07

2 ответа

Лучший ответ

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

Вы можете пойти дальше и реализовать подход, подобный «переключателю», чтобы определить необходимое значение на основе имени группы ресурсов.

0
4c74356b41 16 Ноя 2018 в 13:22

Мы используем PowerShell для чтения в шаблоне параметра как объекта JSON $Template, затем заменяем значение идентификатора соответствующим значением и записываем обновленный объект во временный файл.

$Template["KeyVaultParm"].reference.keyvault.id = "<NewReferenceID>"

Это позволяет нам использовать один и тот же шаблон с Prod / Dev и иметь разные KeyVaults при использовании одних и тех же файлов шаблонов / параметров ARM.

1
Christopher G. Lewis 15 Ноя 2018 в 04:30
52946403