密钥轮换的Azure Storage sample code演示了如何使用多个唯一命名的Secrets。但是,在KeyVault中,现在可以创建单个密钥的多个版本。我看不出为什么密钥轮换不能使用版本来实现,而且从表面上看,它似乎更容易管理。
有没有人能提供一些指导,说明为什么你会选择多个Secrets而不是单个Secret的版本来支持密钥轮换?如果不是这样的话,可能会有什么版本的一般指导吗?
谢谢!
发布于 2017-03-10 14:34:15
根据您使用的SDK,您可以随意使用单个密钥和多个版本进行密钥轮换。
对于基于node.js的应用程序,我们的配置指向完整的KeyVault密钥URI。
一些秘密只指向秘密的短URL (无版本),因此应用程序会获得“最新版本”。
其他需要轮换的秘密将需要该版本的完整URL。例如,我们使用Azure Table加密;因此,表中的每一行在加密时都使用来自KeyVault的密钥包装密钥。密钥包装密钥是一个完整的KeyVault版本控制的URL,因为您需要这个特定的秘密来解密表数据。随着时间的推移,不同的行将指向不同的键版本。
对于一般场景,例如将当前版本的密钥轮换为新版本,只需构建配置系统和连接逻辑,以便一次支持两个密钥-如果其中一个失败,则使用另一个;或者考虑使用基于时间的逻辑。
任何方法都可以,但是考虑一下,如果你随着时间的推移使用版本,而不是增加额外的秘密名称,那么你的故事将是多么美好和“干净”。
https://stackoverflow.com/questions/38958483
复制相似问题