gpt4 book ai didi

azure - 如何以编程方式获取当前的 Azure Devops 管道对象 ID 以授予对 Azure 资源的访问权限

转载 作者:行者123 更新时间:2023-12-03 03:22:45 24 4
gpt4 key购买 nike

我有以下有效的任务 - 然后我使用变量值作为参数传递给提供 Azure Key Vault 的二头肌文件,管道可以在其中访问其 secret 。

    - task: AzureCLI@2
displayName: 'Set Object ID Variable'
name: PrincipalObject
inputs:
azureSubscription: 'service-connection-name'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
objectId=$(az ad sp list --display-name "<service-connection-display-name>" --query [].id --output tsv)
echo "##vso[task.setvariable variable=pipelineObjectId;]$objectId"

但是,如果我不必在 Azure AD 中手动查找服务连接主体来获取显示名称并将其粘贴到 YAML 中,那就更好了。

有没有办法以编程方式获取当前正在执行的对象 ID?这样任务就可以重复使用。

最佳答案

无法直接检索 Azure DevOps 服务连接 ID,但您可以引用 SO Thread1 BennyM、Adam Marczak 和 Jani 的回答以及 SO Thread2答案检索运行管道的服务连接的对象 ID。

使用 AzureCLI@2 任务并选中脚本中的访问服务主体详细信息:-

enter image description here

您还可以在脚本中将 addSpnToEnvironment: true 标志添加为 true


trigger:
- main

pool:
vmImage: ubuntu-latest

steps:


- task: AzureCLI@2
inputs:
azureSubscription: 'PowershellSid'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
az account show
az ad sp show --id xxxxxxxf62
addSpnToEnvironment: true

输出:-

enter image description here

此外,在运行管道时,请确保选中启用系统诊断并运行管道以获取有关服务连接的其他信息。

enter image description here

关于azure - 如何以编程方式获取当前的 Azure Devops 管道对象 ID 以授予对 Azure 资源的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76515887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com