我已经提取了属于Azure应用配置预览版的ARM模板,并将其设置到我们的IaC存储库中-到目前为止一切顺利。
我们的下一个逻辑步骤是将AppConfiguration.PrimaryKey插入我们的密钥保管箱。但是,我不知道此属性的名称,也无法在线找到有关此主题的任何信息。另外,我在resources.azure.com中看不到列出的AppConfiguration / configurationStores类型(假定它是因为它仍在公共预览中)。
没有人知道如何引用主键(可能还有只读的主键),因此我可以通过我的arm模板中的“输出”变量来引用它们?
然后,我可以让Az Cli / Az Powershell将秘密插入我们的密钥保管箱,这样我们就可以实现IaC的完全自动化
我无法弄清楚。
但是,通过在IaC脚本中使用az cli命令(无论如何会调用驻留在azure blob存储中的arm模板),我解决了这个问题:
$connStrings = az appconfig credential list -n $configName| ConvertFrom-Json
$readOnlyConnString = ($connStrings | Where {$_.name -eq "Primary Read Only"}).connectionString
$primaryConnString = ($connStrings | Where {$_.name -eq "Primary"}).connectionString
#then
az keyvault secret set --vault-name $kvName --name $keyNameRO --value $readOnlyConnString
az keyvault secret set --vault-name $kvName --name $keyNamePrimary --value $primaryConnString