[英]Why i got error java.lang.NumberFormatException: Invalid double: “ACE” when Iam have declared a string
[英]Why does this IAM policy have a syntax error?
我是 AWS 的新手/正在學習 AWS,目前使用LocalStack
代替真實的AWS
。
arn:aws:s3:::my-bucket/path/to/foo.json
是新創建的S3
存儲桶中 object 的有效S3
密鑰。 因為存儲桶是新創建的並且是原始的,除了一個文件上傳之外,其中的任何內容都無法從外部訪問。 我正在嘗試通過示例來了解IAM
,以創建一個授予對S3
存儲桶部分讀取訪問權限的策略。
我基於AWS
CLI 參考中的此示例創建了以下策略文件:
$ cat ./policy
{
"Version": "2020-04-27",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::my-bucket/path/to/foo.json"
]
}
]
}
在同一個鏈接示例中,我嘗試使用此命令創建我的策略,但失敗了:
$ aws --endpoint-url=http://localhost:4593 iam create-policy --policy-name my-bucket-policy --policy-document file://policy
An error occurred (MalformedPolicyDocument) when calling the CreatePolicy operation: Syntax errors in policy.
為什么此命令失敗,或者有什么方法可以讓我獲得更具描述性的錯誤消息?
( policy
是我在其中執行aws
CLI 命令的cwd
中的一個文件)
根據我的閱讀,錯誤消息暗示 JSON 格式錯誤,但像https://jsonlint.com/這樣的短絨表明文本是有效的 JSON。 此外,源示例中的更改很小並且看起來很合理: "Version"
更改為今天的日期, "Resource"
ARN
更改為與我相關的內容。
給出的版本不正確。 應該是:“2012-10-17”
編輯:原則錯誤。 看評論。 基於資源的策略需要原則:
主體(僅在某些情況下需要)– 如果您創建基於資源的策略,則必須指明您希望允許或拒絕訪問的帳戶、用戶、角色或聯合用戶。 如果您要創建IAM 權限策略以附加到用戶或角色,則不能包含此元素。 主體隱含為該用戶或角色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.