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
相关产品推荐
相关产品推荐

