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

使用serverless-better-credentials插件时AWS SSO登录遇Profile未找到错误求助

解决Serverless结合AWS SSO会话与serverless-better-credentials插件时的Profile default not found错误

问题场景

执行serverless info --aws-profile elevator-robot时触发ProcessCredentialsProviderFailure: Profile default not found错误,但AWS SSO配置(~/.aws/config)、Serverless配置均已正确设置,且通过导出环境变量能正常运行。

解决方案

1. 在Serverless配置中明确指定AWS Profile

修改serverless.json,在provider节点下添加profile字段,确保框架默认使用目标SSO profile,避免 fallback 到default:

{
  "service": "dog",
  "frameworkVersion": "3",
  "provider": {
    "name": "aws",
    "runtime": "nodejs18.x",
    "profile": "elevator-robot"
  },
  "functions": {
    "dog": {
      "handler": "index.handler"
    }
  },
  "plugins": [
    "serverless-better-credentials"
  ]
}

2. 更新serverless-better-credentials插件到最新版本

旧版本插件可能存在SSO会话解析的兼容性问题,执行更新命令:

npm update --save-dev serverless-better-credentials

3. 验证AWS SSO登录有效性

先确认SSO会话处于正常状态,执行以下命令检查身份信息:

aws sts get-caller-identity --profile elevator-robot

若命令返回正常身份数据,说明SSO登录无问题;若失败,重新执行aws sso login --profile elevator-robot完成登录。

4. 检查AWS配置文件权限

确保~/.aws/config和~/.aws/credentials(若存在)的权限为600,避免因权限过高导致读取异常:

chmod 600 ~/.aws/config
chmod 600 ~/.aws/credentials

5. 尝试移除插件,使用Serverless原生SSO支持

Serverless Framework 3.x已原生支持AWS SSO,可暂时移除serverless-better-credentials插件,直接执行命令测试:

serverless info --aws-profile elevator-robot

若运行正常,说明插件存在兼容性冲突,无需使用该插件即可实现SSO认证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:00:43