[Securestrings数组的ARM模板

问题描述 投票:0回答:1

我正在尝试创建一个ARM模板,该模板创建Application Gateway并使用密码上传动态数量的SSL证书。创建App Gateway并不是什么大问题,但是我一直坚持将动态数量的SSL证书和密码从Powershell传递到ARM模板。

Powershell设置为将[0..n]证书与安全字符串中的密码配对发送到ARM模板和参数文件。 App Gateway的资源定义要求每个SSL证书的密码都必须是安全字符串,但是似乎没有办法将参数定义为数组或对象,并将元素/属性定义为安全字符串类型。

[通过密钥保管库传递VM密码的示例,在该示例中,您通过Powershell将密码/证书上传到Key Vault,然后在资源定义中使用“引用”作为密码值。但是,这似乎不适用于Application Gateway上的SSL证书,并且遇到错误“解析值后遇到意外字符:{”,紧接“密码:”之后]

没有人知道将动态数量的安全字符串传递到ARM模板,或通过ARM模板将动态数量的SSL证书和密码上传到Application Gateway的方法吗?

azure arm-template
1个回答
0
投票

嗯,一种方法是传递一组密钥保险库秘密名称,在调用嵌套模板时,您需要使用这些密钥库秘密名称来获取证书数据并逐一遍历它们(因为您只能将KV秘密解析为一个值当您启动\启动新模板时,而不是在模板内部)。不需要安全的字符串,因为没有秘密传递给模板。

没有干净的方法可以做到这一点。要么需要迭代器,要么例如使用powershell来启动相同的模板x次(每个应用程序网关1次),然后将值提供给模板]

我在Key Vault中将证书存储为base64编码的字符串,以将其传递给应用程序网关定义

但是我不理解问题的全部前提。应用程序网关不在乎您将securestring还是仅将string放入ssl证书属性中。

© www.soinside.com 2019 - 2024. All rights reserved.