Answers:
公钥不能用于解密,并且您不与配置生成或分发计算机共享私钥。
似乎您正在考虑工作流程,就好像所有证书都使用一个证书一样。您可以这样做,但是我认为每个节点都有自己的密钥对。
我指的是“非管理员用户”,“平均用户”不能导出证书的私钥(除非已授予权限),并且由于您不会随意移动此密钥,因此几乎没有机会它被暴露了。如果用户是管理员,那么他们当然可以访问。
无论是通过未处理的powershell配置还是通过生成的MOF,将纯文本凭据存储在配置中的可能性都更大。如果未加密,则必须确保:
我认为DSC中的安全凭据相当不错,但是最初要对其进行设置有点麻烦。
如果您在AD环境中使用Enterprise PKI,则很有可能会将每台计算机设置为通过CA自动注册,因此它已经具有可以续订的特定于计算机的证书。它具有用于此目的的必要设置。
由于目前DSC尚无此工具,因此您可能会创建自己的工作流以生成配置并编写脚本以提供帮助。
就我而言,我有用于生成LCM meta MOF和用于生成节点的实际配置的单独脚本,因此,保护凭据的步骤在这两者之间是分开的。
在LCM生成脚本中,我实际上在CA的域中查询以找到与所配置机器的主机名相对应的证书。我检索证书(CA没有专用密钥,只有公用),并将其保存到路径中以备后用。将元MOF配置为使用证书的指纹。
在节点配置脚本中,我将配置数据设置为使用cert文件(仅再次使用公共密钥)。生成MOF时,将使用该证书对凭据进行加密,并且只能使用特定节点上的私钥对其进行解密。
我在上面引用了我自己的经验,但是本文在此过程中提供了很大帮助:https : //devblogs.microsoft.com/powershell/want-to-secure-credentials-in-windows-powershell-desired-state-组态
我必须自己填补一些漏洞。它们显示的示例中要注意的一件事是,它们Thumprint
在节点配置中提供了。这对于节点配置不是必需的。他们只是同时生成配置和LCM元配置,并使用配置数据存储指纹以供在那里使用。
最后一段可能令人困惑,但是在本文的上下文中更有意义。如果您不同时生成两个配置,那么它们的示例似乎很奇怪。我测试过了 Thumbprint
加密凭据的配置数据中不需要。CertificateFile
虽然是必需的,并且必须在配置数据中,所以如果您以前不使用配置数据,那么现在就可以使用。