在订阅中找不到存储区错误随机发生azure devops管道

ia2d9nvy  于 2023-02-16  发布在  其他
关注(0)|答案(3)|浏览(103)

我正在从azure devops yaml pipeline更新密钥库访问策略。以下是标准代码。

- task: AzureCLI@2
        displayName: "Set KeyVault access policy for Web App"
        inputs:
          azureSubscription: "$(serviceConnection1)"
          scriptType: bash
          scriptLocation: inlineScript
          inlineScript: |
            az keyvault set-policy -n '$(KeyVaultName)' --secret-permissions get list --object-id '$(appId)'

任务成功,但也会失败很多次并出现错误
“在订阅中找不到保管库”。服务主体具有密钥保管库的贡献者权限。
keyvault的网络设置为“所有网络”,因此没有防火墙规则。
我很肯定,这里没有技术错误,但是这个错误导致任务失败了很多次。任何帮助都是很好的。

2nc8po8w

2nc8po8w1#

你正在使用的Azure SPN必须能够访问多个订阅,因此,当SPN突然在其他某个订阅中具有默认上下文时,就会发生这种情况。最好明确告诉AZCLI要使用哪个订阅
建议,试试这个
添加**“az帐户集--订阅”$(serviceConnection 1)“"**

- task: AzureCLI@2
        displayName: "Set KeyVault access policy for Web App"
        inputs:
          azureSubscription: "$(serviceConnection1)"
          scriptType: bash
          scriptLocation: inlineScript
          inlineScript: |
            az account set --subscription '$(serviceConnection1)'
            az keyvault set-policy -n '$(KeyVaultName)' --secret-permissions get list --object-id '$(appId)'
plupiseo

plupiseo2#

谢谢sikumars-msft | Microsoft Docs。将您的建议作为答案发布以帮助其他社区成员。
理想情况下,当提供的名称与Azure中可用的保管库不匹配时,我们会收到消息The Vault '$KeyVaultName' not found within subscription。因此,我们建议您将--debug参数与上述cmdlet结合使用,这样可以从关键方面提供更多信息

az keyvault set-policy -n {TypeKeyVaultName} --secret-permissions get list --object-id $(appId) --debug

参考:Vault not found in the subscription error occurs randomly azure devops pipeline - Microsoft Q&A

bkhjykvo

bkhjykvo3#

当订阅中有太多保管库时会发生这种情况。例如,如果我运行az keyvault show --name $keyvaultName --resource-group "$azureSubscription-rg",它工作正常,如果我再运行az keyvault set-policy --name $keyvaultName --object-id $principalObjectId --secret-permissions all,它会出错,说vault not found。我发现--debug的有效负载很大,并且不包含我使用set-policy查找的保管库。
对我有效的是az keyvault set-policy --name $keyvaultName --object-id $principalObjectId --secret-permissions all --resource-group "$azureSubscription-rg"

相关问题