2017-06-13 247 views
0

我試圖通過存儲桶策略將Amazon S3連接到其他服務。將Amazon S3存儲桶連接到其他服務器 - IAM

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": {"arn:aws:iam::ACCOUNT-ID:user/augmen", 
     } 

     "Action": [ 
     "s3:ListBucket", 
     "s3:GetBucketLocation", 
     "s3:GetObject" 
     ], 
     "Resource": ["arn:aws:s3:::rajatv.input", 
        "arn:aws:s3:::rajatv.input/*"] 
    } 
    ] 
} 

仍然得到這樣的錯誤:

  1. 該策略包含無效的Json
  2. 無效桶語法
  3. 沒有資源

回答

2

看來你想給桶訪問特定的IAM用戶。如果是這樣,最好的方法是自己在IAM用戶上放置一個策略,以便權限僅適用於他們。

此策略將授予存儲桶訪問權限給任何具有IAM策略的用戶。要添加它,去給用戶,添加內嵌政策

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "PermitBucketAccess", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:ListBucket", 
       "s3:GetBucketLocation", 
       "s3:GetObject" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::rajatv.input", 
       "arn:aws:s3:::rajatv.input/*" 
      ] 
     } 
    ] 
} 

鬥策略,這是適用於桶本身,是最適合用來授予訪問大家,而一個IAM策略是最好的用於授予特定IAM用戶,組和角色的權限。

+0

我試過這個,但錯誤:缺少必填字段主體? – Swap

+0

將其添加到IAM用戶(通過內嵌策略) - 而不是桶策略。因爲它附加到用戶,它不需要一個委託人。 –

1

委託人都需要有這樣的格式:

"Principal": {"AWS": ["arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:root"]},