【发布时间】:2016-10-12 08:33:01
【问题描述】:
您将如何继续保护在 Azure 自动化中正确使用凭据的 DSC 配置?
例如:
configuration MyServer {
param(
[Parameter(Mandatory=$true)][PSCredential]$MyCredential
);
# Some configuration using credentials
}
通常我会在每个节点上设置一个公钥和一个适当的证书,并在编译配置文档时将 CertificateFile 和 Thumbprint 传递给 ConfigurationData。
在 Azure 自动化中我找不到任何好的解决方案。
文档说 Azure 自动化通过它自己的方式加密整个 MOF:https://azure.microsoft.com/en-us/documentation/articles/automation-certificates/ 并且文章指定使用 PSAllowPlainTextCredentials。
当您随后将节点注册到它的拉取服务器并拉取它的配置时,只要您具有本地管理员/或对 temp 的读取权限,您就可以在被拉取/更新后以纯文本形式读出密码。从安全角度来看,这不是好。
理想情况下,我希望将此类公钥/证书上传到 Azure 自动化凭据,并在开始编译作业时将其用作 ConfigurationData 的一部分。
但是今天,“CertificateFile”需要一个路径而不是 AutomationCertificate,因此我看不到使用 Azure 自动化中存在的任何公钥启动编译作业的方法。在运行作业时,我看不到任何引用我的资产证书的方式。
如果这在当前 Azure 自动化状态下可行,以及他们使用 DSC/pull 使用 Azure 自动化或 Azure Key vault 的资产存储正确保护它的方式,有什么想法吗?
【问题讨论】:
-
您使用的是哪个版本的 Azure DSC 扩展?您是否尝试过至少 2.20,指定
Wmfversion = ‘5.1PP’并查看是否仍然发生这种情况?
标签: powershell azure dsc