Azure Key Vault 在访问策略中丢失了我的应用程序的名称

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

我使用 Azure Key Vault 来存储我在 DevOps Pipelines 运行时检索和使用的机密。我的 DevOps 项目使用了所需的 Azure 订阅,由 Azure 资源管理器(工作负载身份联合)注册和授权。授权后,我还可以通过 DevOps 库轻松查看 Azure Key Vault 中的机密并从那里使用它们。该连接还在 Microsoft Entra ID 中显示为具有显示名称“我的应用程序”和正确 ID 的应用程序。该应用程序还可以在 Azure Key Vault 中看到,并具有访问策略部分中的 GetList 授权。

在第二次运行 DevOps 管道时,应用程序名称失去有效性。无法再在访问策略内解析该应用程序。在 Key Vault 中,应用程序显示为“未知”,并且还具有通过 Azure 资源管理器自动配置的其他权限

作业前下载机密期间我的管道出现错误:

"The user, group or application 'appid=***;oid=ce890xxc-97xx-4703-bxx8-26exxa3c39xx;iss=https://sts.windows.net/<tenant>/' does not have secrets get permission on key vault

应用程序不再被认可:

如果我通过 DevOps 服务连接更新 Azure 资源管理器连接,则会再次更正此问题,并且我可以在下次运行之前修复该错误。管道长期保持不变。为什么 Microsoft Entra ID 在单次使用后会丢失此服务连接的身份?

azure azure-keyvault microsoft-entra-id
1个回答
0
投票

我为现有 Azure AD 服务主体之一创建了一个 Azure DevOps ARM 服务连接,并将其添加到 Key Vault 的访问策略中:-

我的服务负责人:-

enter image description here

Azure DevOps 服务连接:-

enter image description here添加了

powershell应用程序

在访问策略中获取、列出、权限:-

enter image description here

密钥库秘密:-

enter image description here

任务第一次运行:-

我的 Yaml 管道:- trigger: - main pool: vmImage: ubuntu-latest steps: - task: AzureKeyVault@2 inputs: azureSubscription: 'PowershellSid' KeyVaultName: 'siliconkeyvault84' SecretsFilter: '*' RunAsPreJob: false

enter image description here

访问政策:-

enter image description here

第二次运行:-

enter image description here

应用程序保持原样,没有更改为未知:-

enter image description here

确保您的应用程序已在 Azure AD 中正确注册和创建。

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