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

S3上传报错InvalidAccessKeyId,如何更新当前用户访问密钥?

问题描述

应用此前运行正常,删除搭建AWS基础设施的用户后,无法上传内容,控制台报错:

Failed to load resource: the server responded with a status of 403 (Forbidden)
Response {type: "cors", url: "https://my-bucket.s3.amazonaws.com/", redirected: false, status: 403, ok: false, …}

Sources面板中显示:

return (<Code>InvalidAccessKeyId</Code>
)

The AWS Access Key Id you provided does not exist in our records.

应用上传代码配置:

import { uploadFile } from 'react-s3';

const Services = {
    S3Upload: (file) => {
        const config = {
            bucketName: process.env.S3_BUCKET,
            region: process.env.S3_REGION,
            accessKeyId: process.env.S3_API_ACCESS_KEY,
            secretAccessKey: process.env.S3_API_SECRET_KEY,
        };

        return uploadFile(file, config);
    },
};

export const { S3Upload } = Services;

export default Services;
解决方案

1. 确认/创建具备S3上传权限的IAM用户

  • 登录AWS控制台,进入IAM服务
  • 选择现有用于上传操作的用户,或新建IAM用户(新建时勾选「访问密钥 - 编程访问」选项)
  • 给该用户配置S3上传权限:至少需要s3:PutObject权限,建议创建最小权限的自定义策略,示例如下:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::你的Bucket名称/*"
        }
    ]
}

2. 生成新的访问密钥

  • 在IAM用户详情页切换到「安全凭证」标签
  • 找到「访问密钥」区域,点击「创建访问密钥」
  • 保存生成的Access Key ID和Secret Access Key(Secret仅生成时可见,务必妥善保存)

3. 更新应用环境变量

  • 打开项目的环境变量配置文件(比如.env、.env.local,或部署平台的环境变量设置页)
  • 将S3_API_ACCESS_KEY替换为新生成的Access Key ID
  • 将S3_API_SECRET_KEY替换为新生成的Secret Access Key
  • 本地开发需重启应用,线上环境需重新部署应用使配置生效

4. 检查S3 Bucket的CORS配置

因报错包含CORS相关提示,需确保Bucket允许应用域名访问:

  • 进入S3控制台,找到目标Bucket,切换到「权限」标签
  • 编辑「跨域资源共享(CORS)」规则,示例规则(根据实际域名调整):
[
    {
        "AllowedHeaders": ["*"],
        "AllowedMethods": ["PUT", "POST"],
        "AllowedOrigins": ["https://你的应用域名.com", "http://localhost:3000"],
        "ExposeHeaders": []
    }
]

5. 测试上传功能

重新触发应用内的上传操作,检查控制台是否仍有报错,确认文件可正常上传至S3 Bucket。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:12:37