如何使用 Azure DevOps 自动执行从开发到生产的 Azure 数据工厂 (ADF) 凭据更新?

问题描述 投票:0回答:1

我正在使用 Azure 数据工厂 (ADF),需要使用 Azure DevOps 自动将凭证(例如链接服务连接字符串、机密)从 开发环境提升到生产。我想创建一个发布管道:

  • 自动更新 ADF 链接服务中的凭据。
  • 使用 Azure Key Vault 管理敏感信息(如密码或连接字符串)。
  • 安全地将凭证从开发提升到生产,无需在管道中对其进行硬编码。

使用 ARM 模板 和 Azure DevOps 实现此目标的最佳方法是什么?我还想了解如何在部署期间覆盖环境之间的 Key Vault 机密。

任何有关如何设置此发布管道的指导或分步示例将不胜感激!

到目前为止我尝试过的:

我在 DevOps 中进行了此设置来部署管道。 enter image description here

azure azure-devops azure-data-factory
1个回答
0
投票

不确定您的 ADF 的具体配置,这里是从一个环境部署到另一个环境的示例。

  1. 为您的DEVADF 配置 git 以使用 Azure 存储库。请参阅连接到 Git 存储库的详细信息。

  2. 将敏感信息存储在 Azure Key Vault 中。

  3. 在 Azure DevOps 中创建发布管道。

    对于神器:

    • 来源类型:Azure Repo
    • 默认分支:adf_publish

    enter image description here

    对于阶段:

    添加两个阶段,一个用于开发,另一个用于生产。 enter image description here

    对于任务:

    • 使用 Azure Key Vault 任务下载其中的机密。 enter image description here

      Azure 订阅:用于访问 Azure Key Vault 的 ARM 服务连接。

      Key Vault:选择存储当前环境敏感信息的 Key Vault。

    • 使用 ARM 模板部署任务来部署 ADF。

      根据您的实际情况填写模板上面的参数。

      模板:使用浏览器模板按钮从工件中选择模板。例如,

      ARMTemplateForFactory.json

      模板参数:选择您的模板参数,

      ARMTemplateParametersForFactory.json

      enter image description here

      覆盖模板参数:点击“覆盖模板参数”后的三点按钮即可覆盖参数。

      • 您可以使用
        $(SecretName)
        格式直接在管道中引用 Azure Key Vault 中的机密,例如下面屏幕截图中的
        -AzureSqlDatabase1_password $(DB-Secret-Prod)
      • 对于不同的环境,使用不同的secrets/keyVaults。
      • 如果您已链接 Azure Key Vault 以在 ADF 中存储敏感信息,则应参数化 Key Vault 名称并覆盖此处的 Key Vault,而不是其中的机密。从ARM 模板中的参数了解参数。

      enter image description here

上面的例子可能并不100%适用于您,但是与Azure Key Vault集成以及将ADF部署到不同环境的想法是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.