如何从 AzureRM 类型(自动)创建服务连接 Azure DevOps(使用服务主体-自动)

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

我需要创建从 Azure DevOps 中的许多项目到我在 Azure 中的订阅的连接。 我还需要他来自天蓝色资源管理器类型,并且他们的服务主体将自动创建。

我尝试使用 Azure CLI,但我发现这是创建 azureRM 的唯一解决方案(如本链接中所述:创建 azurerm 服务端点),但您需要为他提供一个已存在的服务主体。

如何创建将自动创建服务主体的服务连接? 就像 UI 选项中一样: azurerm - service principal (aoutomatic)

azure azure-devops azure-cli serviceconnection
1个回答
0
投票

不幸的是,没有其他命令可以自动创建 Azure 服务连接。请参阅 here 对于服务主体和托管身份,您需要手动创建它。 请参考这里

由于此选项仍处于公共预览版,因此并非所有功能都可用。

您需要使用下面的

CLI command
创建它,并提及您的服务主体详细信息:-

CLI 命令:-

az devops service-endpoint azurerm create --azure-rm-service-principal-id "xxxxx6d26a31435cb" --azure-rm-subscription-id "xxxxx7cb2a7" --azure-rm-subscription-name "xxx subscription" --azure-rm-tenant-id "xxxxx-af9038592395" --name "AzureSp"

输出:-

enter image description here

enter image description here

您可以使用 Azure DevOps 中的 Azure CLI 任务获得相同的结果:-

YAML 管道:-

trigger:
- main

pool:
  vmImage: ubuntu-latest

variables:
 AZURE_DEVOPS_EXT_PAT: xxxxxxxxzz2jo34pa

steps:
- task: AzureCLI@2
  inputs:
    azureSubscription: 'xxx subscription (xxxxxxxxxxxa7)'
    scriptType: 'bash'
    scriptLocation: 'inlineScript'
    inlineScript: |
      #export AZURE_DEVOPS_EXT_PAT=xxxxxxxz2jo34pa
      export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=xxxxxxx4_w0N4Yc9B
      echo $(AZURE_DEVOPS_EXT_PAT) | az devops login --organization https://dev.azure.com/sid24desai0738
      
      az devops service-endpoint azurerm create --azure-rm-service-principal-id "xxxxxx403c-9fe4-11971d950312" --azure-rm-subscription-id "xxxxxxxxxxe97cb2a7" --azure-rm-subscription-name "xxx subscription" --azure-rm-tenant-id "xxxxx038592395" --name "Azuremyapp"

您也可以调用Rest API来实现相同的任务,请参考此SO答案

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