【发布时间】:2018-09-21 22:56:41
【问题描述】:
我们正在使用 Terraform 使用来自 Marketplace 的标准 Windows 2016 sku 来配置 Windows VM。我可以在执行 Terraform 配置时以交互方式输入密码,但它仍会将其写入存储在 Azure 存储帐户中的状态文件中。我需要在配置完成后更改密码,并且希望在配置过程中以编程方式执行此操作……比如通过 vmextension 执行的 PowerShell 脚本。
理想情况下,希望能够在配置过程结束时更改密码并将其写入 Key Vault 中的 Secret。这些虚拟机将加入 AAD 域服务,因此在紧急情况下我们只需要本地管理员密码。
我考虑过执行一个 PowerShell 脚本来生成密码,更改本地帐户的密码,然后使用托管服务标识将其写入 Key Vault 中的机密,但不确定是否可以正常工作我们的自动化程序流程。
我知道我可以在配置过程之外使用Set-AzureRmVMAccessExtension PowerShell 命令来更改密码,然后在同一个脚本中将新值写入 Key Vault 中的秘密,但这将是一个半手动步骤来自我们的配置过程。
任何人有任何想法或其他有效的建议?
【问题讨论】:
-
实际上,我对存储在状态文件中的密码不正确。我想我会做的,知道这一点......是生成一个随机密码,将其存储在 Key Vault 中并在部署时以编程方式检索它。
标签: powershell azure terraform azure-powershell terraform-provider-azure