无法更新 Azure Pipepline。错误:无法获取应用服务发布凭据

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

我一直尝试更新 Azure Pipeline 中的服务主体。我不是该项目的所有者,而是一个贡献者。我不断收到此错误:

错误:无法获取应用服务发布凭据。客户端无权在范围内执行操作或范围无效。如果最近授予了访问权限,请刷新您的凭据。 (代码:403)。

我尝试让项目所有者更新管道,但这也不起作用,我遇到了同样的错误。

我还尝试按照此处的说明进行操作:为什么 Azure Pipelines 说“环境不存在或尚未授权使用”?并且所有答案都不起作用。

环境:

Environments

分期:

Staging

生产:

Production

安全:

Security

task: DotNetCoreCLI@2
  displayName: 'Restore NuGet Packages'
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
    feedsToUse: 'select'
    verbosityRestore: 'Normal'
- task: DotNetCoreCLI@2
  displayName: 'Build Projects'
  inputs:
    command: 'build'
    projects: '**/*.csproj'
    arguments: '--no-restore --configuration $(buildConfiguration)'
    verbosityRestore: 'Normal'
- task: DotNetCoreCLI@2
  displayName: 'Run Tests'
  inputs:
    command: 'test'
    projects: '**/*.Tests.csproj'
    arguments: '--no-restore --no-build --configuration $(buildConfiguration)'
    testRunTitle: 'Run Tests'    
- task: DotNetCoreCLI@2
  displayName: 'Publish Projects'
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '$(projectsToPublish)'
    arguments: '--no-restore --no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
- publish: $(Build.ArtifactStagingDirectory)
  displayName: 'Publish Artifacts'
  artifact: '$(artifactName)'
azure azure-devops azure-pipelines
1个回答
0
投票

您收到的错误指向您在 Azure 应用服务部署任务中使用的服务主体的权限。

首先,检查服务主体对应用服务的权限。至少应将贡献者角色分配给资源上的 SP,以便能够执行操作

check-app-service-access

如果分配了必要的权限,您可能需要仔细检查管道中使用的范围。确保您的管道任务中使用了正确的范围。应该是这样的

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{appName}

我希望这有帮助。

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