如何解决GitHub Action中Configure-aws-credentials无法加载凭证的问题?
解决GitHub Actions部署Serverless时AWS凭证加载失败问题
以下是几个排查方向和解决方法:
检查GitHub环境级Secrets配置
你的工作流指定了environment: dev,GitHub会优先读取该环境下的Secrets,而非仓库全局Secrets。请按以下步骤确认:- 进入仓库的「Settings」→「Secrets and variables」→「Actions」→「Environments」,找到
dev环境 - 在该环境下添加
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY两个Secrets,确保密钥值与AWS IAM用户的凭证完全一致,不要包含多余空格
- 进入仓库的「Settings」→「Secrets and variables」→「Actions」→「Environments」,找到
验证AWS IAM凭证有效性
确认你的IAM用户访问密钥状态正常:- 登录AWS控制台,进入IAM服务
- 找到对应IAM用户,查看「安全凭证」标签下的访问密钥是否未过期、未被禁用
- 可以在本地通过
aws configure输入该密钥,测试能否正常调用AWS API,排除密钥本身的问题
核对工作流中Secrets名称
确保工作流里的${{ secrets.AWS_ACCESS_KEY_ID }}和${{ secrets.AWS_SECRET_ACCESS_KEY }}与GitHub中设置的Secrets名称完全一致,名称大小写敏感,不能有拼写错误升级AWS凭证配置Action版本
当前使用的aws-actions/configure-aws-credentials@v1版本较旧,可能存在兼容性问题。建议升级到最新稳定版@v4,修改后的步骤代码如下:- name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: eu-north-1
内容的提问来源于stack exchange,提问作者ThunD3eR
相关产品推荐
相关产品推荐

