为多个产品和每个产品的不同环境设置密钥值的最佳方法
Best approach to set secret key values for multiple products and different environments for each product
目前,我的公司正在将我们所有的产品迁移到 Azure,作为迁移的一部分,我们正在使用 Azure 密钥保管库来存储密钥。我们有大约 10 到 15 个产品,对于每个产品,我们使用审查、集成、暂存和生产环境。
我没有看到像在我们当前使用的 Vault Enterprise 中那样为不同环境和产品配置机密的选项。我在这里问一个最好的方法来为不同的产品和相应的环境在 Azure key vault 中配置密钥。这样就可以轻松管理 Azure Key Vault 上的机密。
注意:我们确实为每个环境提供了大约 5 到 10 个密钥。
您必须在管道中使用包含来自密钥保管库的值的变量,然后将变量设置为相关产品/环境。
更多信息:
https://zimmergren.net/using-azure-key-vault-secrets-from-azure-devops-pipeline/
https://stefanstranger.github.io/2019/06/26/PassingVariablesfromStagetoStage/
我们在为每个环境使用专用 KeyVaults 方面有很好的经验。使用“KeyVault per Stage”方法的主要优点是您可以在每个 KeyVault 中使用相同的密钥名称。在以后使用这些值时,这确实可以避免很多复杂性。此外,如果您决定创建一个新环境或删除现有环境,您不必担心影响其他环境。
我们通常还会对此进行扩展,以便为每个产品创建一个专用的 KeyVault。因此,您将“只拥有您所需要的”,而且非常透明。如果您有很多“共享值”,您也可以改为创建“通用”KeyVault。
如果您使用 Azure Pipelines,将 KeyVaults link 到管道中的一个阶段会非常好。这也适用于 YAML 管道。同样,在每个环境中使用相同的秘密名称在这种情况下会有很大帮助,因为每个环境都可以相同。
旁注:使用 Azure Pipelines,您还可以将一些秘密存储为“秘密变量”。对于你的情况可能还不够,但我想确保你知道。
目前,我的公司正在将我们所有的产品迁移到 Azure,作为迁移的一部分,我们正在使用 Azure 密钥保管库来存储密钥。我们有大约 10 到 15 个产品,对于每个产品,我们使用审查、集成、暂存和生产环境。
我没有看到像在我们当前使用的 Vault Enterprise 中那样为不同环境和产品配置机密的选项。我在这里问一个最好的方法来为不同的产品和相应的环境在 Azure key vault 中配置密钥。这样就可以轻松管理 Azure Key Vault 上的机密。
注意:我们确实为每个环境提供了大约 5 到 10 个密钥。
您必须在管道中使用包含来自密钥保管库的值的变量,然后将变量设置为相关产品/环境。
更多信息:
https://zimmergren.net/using-azure-key-vault-secrets-from-azure-devops-pipeline/
https://stefanstranger.github.io/2019/06/26/PassingVariablesfromStagetoStage/
我们在为每个环境使用专用 KeyVaults 方面有很好的经验。使用“KeyVault per Stage”方法的主要优点是您可以在每个 KeyVault 中使用相同的密钥名称。在以后使用这些值时,这确实可以避免很多复杂性。此外,如果您决定创建一个新环境或删除现有环境,您不必担心影响其他环境。
我们通常还会对此进行扩展,以便为每个产品创建一个专用的 KeyVault。因此,您将“只拥有您所需要的”,而且非常透明。如果您有很多“共享值”,您也可以改为创建“通用”KeyVault。
如果您使用 Azure Pipelines,将 KeyVaults link 到管道中的一个阶段会非常好。这也适用于 YAML 管道。同样,在每个环境中使用相同的秘密名称在这种情况下会有很大帮助,因为每个环境都可以相同。
旁注:使用 Azure Pipelines,您还可以将一些秘密存储为“秘密变量”。对于你的情况可能还不够,但我想确保你知道。