使用 Azure keyvault 机密中的 VM 管理员密码创建 Azure VM

Creating Azure VM by using VM admin password from Azure keyvault secret

我正在使用 Azure 门户 UI 在 Azure 中创建一个 Windows 虚拟机。 我在 Azure keyvault 中创建了一个机密 adminpass,用于指定要创建的 VM 的管理员密码。

当谈到在创建 VM 时使用 adminpass 秘密时,有一些教程描述了如果您使用 ARM 模板创建 VM 时如何做到这一点: Securely Deploy Azure VM With Local Admin Password from Azure Key Vault and not in ARM Template

但是,如果我使用 Azure 门户 UI 创建 VM,我该如何使用该密钥保管库机密?这可能吗?

而且,将密码指定为机密而不是原始文本是否有任何好处(除了安全性)?我的意思是,如果我们在 KeyVault 中添加 Windows 用户帐户,是否可以在需要时轻松修改或撤销对 VM 的访问?

编辑:

KeyVault secret 是否直接绑定到 VM? 我的意思是,如果我在 KeyVault 中修改 VM 密码的秘密值,那不会自动更改 VM 的密码,因为它在部署期间使用了秘密。实际发生的情况是,读取密钥库以获取凭据以向 VM 进行身份验证的应用程序将获得错误的凭据,并且身份验证将失败。对吗?

这里有 2 个部署场景:

我只是想确保,在这两种情况下,keyvault 机密旨在供其他想要对 VM 进行身份验证的应用程序使用。而且,从 VM 的角度来看,它仅在创建 VM 时才读取 keyvault。我说得对吗?

不,在从 KeyVault 指定密码时无法从门户创建 Windows VM。如果微软在安全领域付出了很多努力,这个功能很快就会发布,我不会感到惊讶。

在 Windows VM 密码的机密上下文中,它通常保存在 KeyVault 中以便于管理和安全。假设您正在使用任何 IaC 工具进行部署,则不需要将密码存储为环境变量或不需要将其存储在 Git.

将其保存在 KeyVault 中可以在需要创建 VM 时安全地检索它,并且还允许许多其他资源访问此密码以用于他们可能需要它的任何其他目的。

其次,权限管理更方便。在 KeyVault 中,您拥有与任何其他 Azure 资源相同的 RBAC 概念,然后您拥有访问策略的概念,它现在也可用于某些人,但 new KeyVault RBAC policies 下除外。拥有此级别的控制权后,您可以决定谁可以或不可以访问 VM/Resource 的凭据。

将密码保存到 KeyVault 并删除某人对秘密的直接权限不会撤销对 VM 的访问。它只会阻止该人访问保存的密码。如果那个人从 KeyVault 复制了密码,他们仍然可以登录。

但是,如果您的应用程序或资源每次需要执行某些操作时都会以编程方式从 KeyVault 检索机密,那么是的 - 在这种情况下,删除对机密的访问将撤销对 VM 的访问。

Is KeyVault secret directly binded to a VM ? I mean, If I modify the VM password's secret value in KeyVault, that doesn't automatically change the password of the VM just beacuse it used the secret during deployment time. What would actually happen is, the applications which reads the keyvault to get credentials to authenticate to the VM, will get a wrong crendetials and auth will fail. Right?

KeyVault 未绑定到 VM。将 KeyVault 视为非常安全的 excel sheet。 excel sheet 未绑定到您的 VM。如果你打开excelsheet并删除或更改密码,则不会更改VM密码。但是,依赖该密码对 VM 进行身份验证的任何其他人(或应用程序)将无法再这样做,因为无法再找到该密码。

是的,您的两个部署方案都是正确的,这就是它的行为方式 - 您理解了这个概念。再一次,想想与很多人共享的安全 excel sheet 等...