You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure Pipeline的AWS服务连接获取密钥并映射至任务环境变量

解决Azure Pipeline中从AWS服务连接获取密钥并映射到环境变量的问题

Azure Pipeline里的AWS服务连接机密没法直接用$(AWSServiceConnection.SecretKey)这类格式直接引用,得借助官方的AWS工具任务来安全获取,具体方案如下:

方法1:用AWS凭据任务自动注入环境变量

官方的AmazonWebServicesCredentials任务会自动将服务连接中的密钥注入到环境变量,无需手动映射:

# 第一步:配置AWS凭据,关联已有的服务连接
- task: AmazonWebServicesCredentials@1
  displayName: 'Configure AWS Credentials'
  inputs:
    awsCredentials: '你的AWS服务连接名称' # 替换成你实际配置的服务连接名
    regionName: '你的AWS区域' # 例如us-east-1、ap-southeast-1等

# 第二步:直接运行DotNetCoreCLI任务,自动继承环境变量
- task: DotNetCoreCLI@2
  displayName: 'Run Desktop App Builder'
  inputs:
    command: 'run'
    projects: 'AppBuilder\AppBuilder.csproj'
    arguments: '--configuration Release -- build desktop production'

此时DotNetCoreCLI任务会自动获取AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY两个环境变量,无需在env块中手动配置。

方法2:手动指定输出变量并映射

如果需要自定义变量传递逻辑,可以通过任务输出变量手动映射:

- task: AmazonWebServicesCredentials@1
  displayName: 'Configure AWS Credentials'
  inputs:
    awsCredentials: '你的AWS服务连接名称'
    regionName: '你的AWS区域'
  name: AWSCreds # 定义任务输出的标识名

- task: DotNetCoreCLI@2
  displayName: 'Run Desktop App Builder'
  env:
    AWS_ACCESS_KEY_ID: $(AWSCreds.AccessKeyID)
    AWS_SECRET_ACCESS_KEY: $(AWSCreds.SecretAccessKey)
  inputs:
    command: 'run'
    projects: 'AppBuilder\AppBuilder.csproj'
    arguments: '--configuration Release -- build desktop production'

关键注意点

  • 必须使用官方的AmazonWebServicesCredentials任务来获取服务连接机密,Azure Pipeline不会直接暴露服务连接的原始机密变量,这类任务是安全传递机密的唯一合规方式。
  • 确保你的AWS服务连接已正确配置(类型为AWS,且填入了有效的Access Key和Secret Key)。

内容的提问来源于stack exchange,提问作者Franco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:52:38