AWS CLI上传S3桶策略遇MalformedPolicy报错,控制台可正常执行
S3桶策略CLI上传报错原因分析
针对你遇到的MalformedPolicy错误,结合控制台可正常应用的情况,可能的原因如下:
UTF-8 BOM编码干扰:部分文本编辑器保存JSON时会自动添加UTF-8字节顺序标记(BOM),这个隐藏标记会让文件首字节不是
{,而是不可见的\ufeff。AWS管理控制台会自动忽略BOM,但CLI读取文件时会将其当作有效字符,导致政策格式验证失败。可以用Notepad++等工具将文件转为UTF-8无BOM编码后重试。CLI路径解析错误:
- Windows环境下,
file://路径需要使用三个斜杠开头(比如file:///C:/docs/policy.json),如果只写两个斜杠,CLI可能无法正确读取文件内容,传递无效字符串。 - 相对路径可能因当前工作目录不符导致读取失败,建议改用绝对路径测试。
- Windows环境下,
AWS CLI版本兼容性问题:旧版本的CLI对JSON文件的读取或政策解析存在bug,尤其是对某些政策格式的处理。执行
aws --version查看当前版本,升级到最新稳定版(如使用pip安装,可执行pip install --upgrade awscli)后重试。文件读取权限不足:当前执行CLI命令的用户可能没有目标JSON文件的读取权限,导致CLI无法获取文件内容,传递空或无效字符串。检查文件权限,确保执行用户拥有读取权限。
内容的提问来源于stack exchange,提问作者GrahamMc
相关产品推荐
相关产品推荐

