密钥旋转的Azure Storage sample code演示了如何使用多个唯一命名的Secrets。但是,现在可以在KeyVault中创建单个Secret的多个版本。我看不出使用Versions无法实现键旋转的原因,从表面上看,它似乎更易于管理。
谁能提供任何指导,说明为什么您会选择多个 secret 而不是单个 secret 的版本来支持密钥轮换?如果不是这样做的话,可能会针对什么版本提供任何一般指导?
谢谢!
最佳答案
随意使用一个密钥和多个版本进行密钥轮换,具体取决于您使用的是哪个SDK。
对于基于Node.js的应用程序,我们具有指向完整KeyVault机密URI的配置。
有些机密仅指向机密的简短URL(无版本),因此该应用程序会获取“最新版本”。
需要轮换的其他机密将需要版本的完整URL。例如,我们使用Azure表加密。因此,加密后表格中的每一行都使用KeyVault中的密钥包装密钥。密钥包装密钥是完整的KeyVault版本URL,因为您需要该特定机密来解密表数据。随着时间的流逝,不同的行将指向不同的密钥版本。
对于一般情况,即将密钥的当前版本旋转到新密钥,只需构建您的配置系统和连接逻辑即可一次支持2个密钥-如果一个密钥失败,则使用另一个密钥;或考虑基于时间的逻辑。
任何方法都可以,但是请考虑一下,如果您随着时间的推移使用版本而不是增加其他 secret 名称,那么您的故事将多么美好和“干净”。
关于azure - Azure KeyVault key 轮换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38958483/