Cyberduck连接S3存储桶BucketDataDeliveries提示签名不匹配问题求助
解决步骤
- 首先核对访问密钥正确性:确认你填写的the_deliverer用户的Access Key ID、Secret Access Key完全正确,粘贴时不要带入多余的前后空格、换行符。如果密钥是之前生成的不确定有效性,可以在IAM控制台重新生成一组新密钥,新密钥生成后请立即保存,Secret Access Key后续无法二次查看。
- 调整Cyberduck签名配置:打开Cyberduck的S3连接配置页,在高级设置中将签名版本切换为AWS Signature Version 4,同时确认你填写的S3区域和BucketDataDeliveries桶实际创建的区域完全一致,区域不匹配会直接导致签名计算错误。
- 修正IAM权限策略的不合理配置:你当前的策略中,ListBucket类动作属于桶级操作,关联资源不需要带对象通配符,建议修改BucketOperations段的Resource配置,删掉
"arn:aws:s3:::BucketDataDeliveries/*",仅保留桶本身的ARN即可,避免后续触发不必要的权限拦截:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BucketOperations", "Effect": "Allow", "Action": "s3:ListBucket*", "Resource": "arn:aws:s3:::BucketDataDeliveries" }, { "Sid": "ObjectOperations", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject*", "s3:GetObject*", "s3:PutObject*" ], "Resource": [ "arn:aws:s3:::BucketDataDeliveries", "arn:aws:s3:::BucketDataDeliveries/*" ] }, { "Sid": "DenyAllOthers", "Effect": "Deny", "Action": "s3:*", "NotResource": [ "arn:aws:s3:::BucketDataDeliveries", "arn:aws:s3:::BucketDataDeliveries/*" ] } ] }
- 调整连接路径配置:连接时不要在地址栏提前填写桶名作为路径前缀,选择S3协议、填好密钥和对应区域后直接连接,连接成功后再导航到BucketDataDeliveries桶即可,提前拼接路径会导致签名计算的资源路径不匹配。
- 同步本地系统时间:如果本地电脑时间和AWS标准时间偏差超过15分钟,签名会直接验证失败,同步本地系统时间后重试即可。
内容的提问来源于stack exchange,提问作者calejero
相关产品推荐
相关产品推荐

