如何在AWS App Runner构建阶段注入机密环境变量?
在AWS App Runner构建阶段注入机密环境变量的解决方案
你可以直接在App Runner配置的build块下添加secrets配置,和run块的写法完全一致,这样构建阶段的命令就能访问到指定的机密变量。
修改后的配置示例:
version: 1.0 runtime: nodejs18 build: commands: pre-build: - npm install build: - npm run build post-build: - npm test # 新增构建阶段的机密配置 secrets: - name: SECRETS value-from: arn:aws:secretsmanager:eu-central-1:936969959426:secret:xxxxxx-xxxxxx run: runtime-version: 18.19.0 command: npm run start network: port: 8000 env: SERVER_PORT secrets: - name: SECRETS value-from: arn:aws:secretsmanager:eu-central-1:936969959426:secret:xxxxxx-xxxxxx
关键说明:
- 构建阶段的
secrets配置会自动将机密注入到构建环境中,你的pre-build/build/post-build命令可以直接读取对应的环境变量。 - 如果你的机密是多键值对格式,App Runner会自动把每个键解析为独立的环境变量,无需额外处理。
- 确保App Runner的服务角色拥有访问该Secrets Manager机密的权限,建议配置最小权限策略(比如仅允许
secretsmanager:GetSecretValue操作),避免权限过度开放。 - 配置文件中仅保留机密的ARN,不会暴露敏感数据,完全可以安全托管在GitHub代码库中,不用担心泄露风险。
内容的提问来源于stack exchange,提问作者Claudio Pomo
相关产品推荐
相关产品推荐

