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

使用Node.js aws-sdk无凭证访问公开S3桶提示缺凭证如何处理

解决方案

可以设置无需凭证发起请求,该功能对应AWS CLI的--no-sign-request参数,仅需调整S3客户端的初始化配置即可。

针对你当前使用的v2版本AWS SDK(aws-sdk包),修改后代码如下:

import AWS from 'aws-sdk';
const s3 = new AWS.S3({
  // 核心配置:指定请求不签名,跳过凭证校验流程
  signatureVersion: 'unsigned',
  // 建议补充桶所在的区域,避免区域自动解析报错
  region: '你的桶实际所在区域,例如us-east-1、cn-north-1'
});

// 原有listObjectsV2调用逻辑无需修改
s3.listObjectsV2({Bucket: bucket_name, Prefix: prefix, Delimiter: "/"}, (err, data) => {
  // 你的业务逻辑
});

补充说明

  • 配置signatureVersion: 'unsigned'后,SDK会跳过凭证获取、请求签名的全流程,直接发起匿名请求,适配公开可访问的S3桶场景
  • 需提前确认你的S3桶策略已开放匿名用户的s3:ListBucket权限,且前缀配置符合桶策略的权限范围,否则请求仍会返回403错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:39:03