【Azure】Azure Key Vault

微软云密钥保管库(Azure key vault),听名字就知道可以帮助企业保管Key, Secret, Credential。使用AKV可以大大加强企业的应用安全性。

  1. Key Vault 可以大大减少机密意外泄露的可能性 。
  2. 访问密钥保管库需要适当的身份验证和授权,否则调用方(用户或应用程序)无法进行访问。
  3. 可以通过 Azure Key Vault 来隔离应用程序机密。

托管服务标识:虽然 Azure Key Vault 可用于安全存储凭据以及其他密钥和机密,但代码需要通过 Key Vault 的身份验证才能检索它们。使用托管标识可为 Azure 服务提供 Azure AD 中的自动托管标识,更巧妙地解决了这个问题。可以使用此标识向支持 Azure AD 身份验证的任何服务(包括 Key Vault)证明身份,无需在代码中放入任何凭据。

clip_image001

  • 系统分配托管标识直接在 Azure 服务实例上启用。 启用标识后,Azure 将在实例的订阅信任的 Azure AD 租户中创建实例的标识。 创建标识后,系统会将凭据预配到实例。 系统分配标识的生命周期直接绑定到启用它的 Azure 服务实例。 如果实例遭删除,Azure 会自动清理 Azure AD 中的凭据和标识。
  • 用户分配托管标识是作为独立的 Azure 资源创建的。 在创建过程中,Azure 会在由所用订阅信任的 Azure AD 租户中创建一个标识。 在创建标识后,可以将标识分配到一个或多个 Azure 服务实例。 用户分配标识的生命周期与它所分配到的 Azure 服务实例的生命周期是分开管理的。
  1. 创建Azure Key Vault,创建过程比较简单,并且可以创建完成后进行修改。

clip_image002

  1. 创建机密(Secret)

clip_image003

  1. 创建2台虚拟机,1台创建托管标识,1台五托管标识,步骤略。
  2. 为这台虚拟机创建托管服务标识。

az vm identity assign --name xxxxx --resource-group xxxxx

{

"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",

"userAssignedIdentities": {}

}

az keyvault set-policy --name xxxxx --object-id xxxxx --secret-permissions get list

  1. 验证,加入托管标识的可以访问,没有加入的无法验证通过。最差情况,即使密码泄露,也无法获得访问相应资源。

clip_image004

原文地址:https://www.cnblogs.com/smallfox/p/12988438.html