You need to enable JavaScript to run this app. AWS S3开启SSE-KMS加密后PHP SDK上传下载对象异常求助
优惠活动
大模型
产品
解决方案
定价
更多

AWS S3开启SSE-KMS加密后PHP SDK上传下载对象异常求助

AWS S3 配置SSE-KMS后上传下载功能异常

问题背景

作为AWS服务新手,原本已实现S3存储桶对象正常上传、下载的功能,为存储桶开启**AWS S3 SSE-KMS(默认选项)**服务端加密后,原有功能直接失效。
当前使用的S3客户端初始化、上传代码如下:

$s3Client = new Aws\S3\S3Client([
    'credentials'    => $credentials,
    'region'         => 'eu-west-1',
    'version'        => 'latest',
]);

// 上传对象的原有实现
$result = $s3->putObject([
    'Bucket'               => $bucket,
    'SourceFile'           => $_FILES['file']['tmp_name'], // 来自PHP表单的文件上传临时路径
    'ServerSideEncryption' => 'AES256',
]);

按照原有配置预期上传逻辑可正常运行,实际执行putObject操作时页面一直处于等待状态,无法完成请求。

后续操作与异常现象

  • 补充对象Key参数后,调整上传配置再次尝试:
// 补充Key参数后的上传实现
$result = $s3->putObject([
    'Bucket'               => $bucket,
    'Key'                  => $key,
    'SourceFile'           => $_FILES['file']['tmp_name'], // 来自PHP表单的文件上传临时路径
    'ServerSideEncryption' => 'AES256',
]);
  • 调用getObjectUrl方法获取加密对象的访问地址,执行代码如下:
echo $url = $s3->getObjectUrl($bucket, $folderUser);
  • 实际请求返回AccessDenied类错误XML报文:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>1iejr93i2u5ka00</RequestId>
<HostId>fn3hhuFGYjkQI/sCeQVddddd631d213i21jidfeoihga45146363das40E=</HostId>
</Error>

核心诉求为梳理当前配置遗漏项,定位SSE-KMS加密后功能失效的根本原因,获取可落地的配置调整建议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 20:45:03