【问题标题】:Unable to authorize Azure Subscription for use within YAML based pipeline无法授权 Azure 订阅在基于 YAML 的管道中使用
【发布时间】:2019-11-25 16:50:02
【问题描述】:

一个基于 Azure DevOps YAML 的管道是从头开始创建的,需要使用 Azure 订阅。订阅值已存储在 Key Vault 中,然后链接到变量组。 Pipeline 可以不显眼地访问变量组和链接的 Key Vault。但是,管道执行失败,并显示管道无权访问所需订阅的错误。当订阅值移动到变量组时,问题仍然存在。当 Subscription 值被声明为管道变量时,问题就消失了。单击错误旁边的“授权”按钮对问题没有帮助。

- stage: 'DeployDevelopment'
  displayName: ''
  dependsOn: Build
  jobs:
  - deployment: DeployDevelopment
    pool:
      vmImage: 'ubuntu-latest'
    environment: Development
    variables:
    - group: Secrets
    - group: Release
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureRmWebAppDeployment@4
            displayName: ''
            inputs:
              azureSubscription: '$(ConnectedServiceName)'
              appType: 'webAppLinux'
              WebAppName: '$(DevEnvironemntWebAppName)'
              packageForLinux: '$(Pipeline.Workspace)/app/s'
              RuntimeStack: 'NODE|10-lts'
              StartupCommand: '$(StartupCommand)'
              WebConfigParameters: '-Handler iisnode -NodeStartFile server.js -appType node'
              AppSettings: '-WEBSITE_NODE_DEFAULT_VERSION 10.12.0'

【问题讨论】:

  • Azure 服务连接至少需要获取和列出机密保管库的管理权限。您是否在访问策略中选择了这两个权限?
  • 已授予所需权限。但是,即使订阅值未存储在 Key Vault 中,而仅存储在变量组中,问题仍然存在。
  • 测试了来自 Azure 密钥库的链接机密作为变量组中的变量,我能够在管道中成功download the secret。您能分享您的详细操作步骤吗?这将有助于进一步调查。跨度>
  • 我在问题中添加了代码 sn-p。从 Key Vault 下载任何变量都不是问题,因为我还设法获取并且最重要的是使用了其他变量。该问题特定于订阅值,并且此值不必位于 Key Vault 中。如果将它放在变量组中,问题仍然存在。

标签: azure yaml azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task


【解决方案1】:

From Developer Community

感谢您在开发者社区报告该问题。 Azure 密钥保管库 值是在运行时获取的。该资源之前已授权 部署。管道不能被授权用于非 可用的。因此,这不受支持。场景。

【讨论】:

  • 答案应该包含一些原创内容。
猜你喜欢
  • 2022-11-04
  • 1970-01-01
  • 2016-11-05
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
  • 1970-01-01
相关资源
最近更新 更多