【问题标题】:How can one use Azure Service Connection in Azure DevOps Server 2019 (on-prem) to run terraform from a script running in a release stage?如何使用 Azure DevOps Server 2019(本地)中的 Azure 服务连接从发布阶段运行的脚本运行 terraform?
【发布时间】:2020-07-04 10:36:14
【问题描述】:

所以我知道一些 Azure DevOps terraform 任务。但是我们用 powershell 脚本包装了我们的 terraform 调用,所以这些任务对我们没有用处。

因此,鉴于我们从脚本中调用 terraform,我们可以找到使 terraform 进行身份验证的唯一方法是遵循以下过程:

  1. 使用专用于 pod 的服务主体创建服务连接
  2. 创建一个变量组并将其链接到包含 SP 凭据的 Key Vault。
  3. 运行 powershell 代码包装 terraform 的每个任务都会将环境变量 ARM_CLIENT_ID 和 ARM_CLIENT_SECRET 映射到 (2) 中的变量组中的变量。 ARM_TENANT_ID 和 ARM_SUBSCRIPTION_ID 已相应设置。

但这太麻烦了。是否可以仅使用服务连接来完成?

【问题讨论】:

    标签: azure powershell authentication azure-devops terraform


    【解决方案1】:

    是否可以仅使用服务连接来完成?

    恐怕仅使用 powershell 脚本的服务连接是不可能的。

    据微软回复:

    这是根据服务连接设计和安全考虑。不允许构建或发布中的脚本 访问存储在服务连接中的机密。

    您可以在此处查看ticket。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 2021-03-25
      • 2021-02-15
      相关资源
      最近更新 更多