你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文档介绍如何备份密钥保管库中存储的机密、密钥和证书。 备份旨在提供所有机密的脱机副本,而你不太可能失去对密钥保管库的访问权限。
概述
Azure Key Vault 自动提供功能来帮助维护可用性并防止数据丢失。 仅当具有关键业务理由时,才备份机密。 在密钥保管库中备份机密可能会带来操作上的挑战,例如在机密过期或轮换时维护多套日志、权限和备份。
Key Vault 在灾难情况下保持可用性,会将请求自动切换到配对区域,而无需用户进行任何干预。 有关详细信息,请参阅 Azure Key Vault 可用性和冗余。
如果要防止意外或恶意删除机密,请在密钥保管库上配置软删除和清除保护功能。 有关详细信息,请参阅 Azure 密钥保管库软删除概述。
局限性
重要
Key Vault 不支持备份超过 500 个以前版本的密钥、机密或证书对象,并且尝试这样做可能会导致错误。 无法删除密钥、机密或证书的历史版本。
Key Vault 当前不提供在单个作中备份整个密钥保管库的方法,并且必须单独备份密钥、机密和证书。
另请考虑以下问题:
- 备份具有多个版本的机密可能导致超时错误。
- 备份会创建时间点快照。 机密可能会在备份期间续订,从而导致加密密钥不匹配。
- 如果超过每秒请求的密钥保管库服务限制,密钥保管库将受到限制,备份将失败。
设计注意事项
备份密钥保管库对象(如机密、密钥或证书)时,备份操作会将该对象作为加密的 blob 下载。 此 Blob 无法在 Azure 外部解密。 若要从此 Blob 获取可用数据,必须将 Blob 还原到同一 Azure 订阅和 Azure 地理位置中的密钥保管库。
先决条件
若要备份 Key Vault 对象,必须具备:
- Azure 订阅的参与者级别或更高权限。
- 包含要备份的机密的主密钥保管库。
- 将在其中还原机密的辅助密钥保管库。
从 Azure 门户备份和还原
按照本部分中的步骤使用 Azure 门户备份和还原对象。
备份
转到 Azure 门户。
选择密钥保管库。
转到要备份的对象(机密、密钥或证书)。
选择对象。
选择 下载备份。
选择 下载。
将加密的 Blob 存储在安全位置。
还原
转到 Azure 门户。
选择密钥保管库。
转到要还原的对象类型(机密、密钥或证书)。
选择 还原备份。
转到加密的 blob 的存储位置。
选择“确定”。
从 Azure CLI 或 Azure PowerShell 备份和还原
## Log in to Azure
az login
## Set your subscription
az account set --subscription {AZURE SUBSCRIPTION ID}
## Register Key Vault as a provider
az provider register -n Microsoft.KeyVault
## Back up a certificate in Key Vault
az keyvault certificate backup --file {File Path} --name {Certificate Name} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}
## Back up a key in Key Vault
az keyvault key backup --file {File Path} --name {Key Name} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}
## Back up a secret in Key Vault
az keyvault secret backup --file {File Path} --name {Secret Name} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}
## Restore a certificate in Key Vault
az keyvault certificate restore --file {File Path} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}
## Restore a key in Key Vault
az keyvault key restore --file {File Path} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}
## Restore a secret in Key Vault
az keyvault secret restore --file {File Path} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}
后续步骤
- 跨区域移动 Azure 密钥保管库
- 为密钥保管库启用密钥保管库日志记录