繁体   English   中英

AWS CLI:解析参数“--config-rule”时出错:JSON 无效:

[英]AWS CLI: Error parsing parameter '--config-rule': Invalid JSON:

cat <<EOF > S3ProhibitPublicReadAccess.json 
{
"ConfigRuleName": "S3PublicReadProhibited",
"Description": "Checks that your S3 buckets do not allow public read access. If an S3 
bucket policy or bucket ACL allows public read access, the bucket is noncompliant.",
"Scope": { 
"ComplianceResourceTypes": [ 
 "AWS::S3::Bucket"
] 
}, 
"Source": { 
"Owner": "AWS", 
"SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
} 
}
EOF
aws configservice put-config-rule --config-rule file://S3ProhibitPublicReadAccess.json

当我在配置后上传我的配置规则时,它给了我以下错误解析参数'--config-rule'的错误:无效的JSON:无效的控制字符:第3行第87列(字符132)收到的JSON:我第一次尝试这个在 Windows Powershell 上启动,然后尝试在 Linux 上查看是否会得到不同的结果,但在两台机器上仍然出现相同的错误。

错误:

Error parsing parameter '--config-rule': Invalid JSON: Invalid control character at: line 3 column 87 (char 132)
JSON received: {
"ConfigRuleName": "S3PublicReadProhibited",
"Description": "Checks that your S3 buckets do not allow public read access. If an S3
bucket policy or bucket ACL allows public read access, the bucket is noncompliant.",
"Scope": {
"ComplianceResourceTypes": [
 "AWS::S3::Bucket"
]
},
"Source": {
"Owner": "AWS",
"SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
}
}

答案就在那里,这就是我阅读错误消息的方式...

 Invalid JSON: Invalid control character at: line 3 column 87 (char 132)

“无效控制字符”——即换行符和换行符之类的字符——即不可见的“控制”字符。

“第 3 行第 87 列” - 告诉您它认为错误在哪里(这并不总是完全准确,但通常接近错误)。 在这种情况下,第 3 行第 87 列是以下行的结尾:

"Description": "检查您的 S3 存储桶是否不允许公共读取访问。如果 S3

“char 132” - 这是字符的 ASCII 码(顺便说一句,它是"字符" ),这是它期望在行尾找到的。

那么,这一切意味着什么,基本上它期待一个"并且它找到了一个行结束控制字符。

解决方法是将描述键和值放在一行中,因此:

"Description": "检查您的 S3 存储桶是否不允许公开读取访问。如果 S3 存储桶策略或存储桶 ACL 允许公开读取访问,则该存储桶不合规。",

变成:

"Description": "Checks that your S3 buckets do not allow public read access. If an S3 bucket policy or bucket ACL allows public read access, the bucket is noncompliant.",

我使用https://jsonlint.com/来快速验证 JSON,我能够调整它并重新验证它,直到它正确为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM