AWS SDK for JavaScript 的凭证链(Credential Chain)是用于安全地获取和管理 AWS 凭证的核心机制。它会按优先级顺序查找凭证,确保开发者在不同环境中都能正确访问 AWS 服务 ✅


凭证链查找顺序 📚

  1. 环境变量
    AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

    AWS_环境变量
  2. AWS credentials 文件
    默认路径:~/.aws/credentials
    示例内容:

    [default]
    aws_access_key_id = YOUR_KEY_ID
    aws_secret_access_key = YOUR_SECRET_KEY
    
  3. AWS IAM 角色(EC2/lambda等环境)
    通过实例元数据自动获取凭证

    AWS_IAM_角色
  4. AWS_DEFAULT_REGION 环境变量
    若未指定区域,SDK 会使用默认区域(如 us-east-1


如何验证凭证链? 🔍

  • 使用 AWS.config.credentials 查看当前凭证

    const credentials = new AWS.Credentials();
    console.log(credentials); // 显示凭证信息
    
  • 通过 AWS 凭证验证工具 检查权限和有效性

    AWS_凭证验证

常见问题解决 💡

问题 解决方案
凭证未找到 检查环境变量或 credentials 文件是否存在
权限不足 确认 IAM 角色策略是否允许相关操作
凭证过期 更新 ~/.aws/credentials 中的密钥或使用临时凭证

扩展阅读 📚


如需进一步了解如何在 Lambda 或 EC2 中使用凭证链,请参考我们的 进阶教程 🚀