2016-09-09 44 views
0

所以我在AWS IAM中有大約50個桶和15個用戶。我想有一個非常祕密的水桶,只允許訪問名爲「僅允許的用戶」 於是我想出了這個政策,單一的IAM用戶,AWS Bucket Policy,通過用戶名拒絕安全嗎?

{ 
    "Version": "2012-10-17", 
    "Id": "Policy19", 
    "Statement": [ 
     { 
      "Sid": "Stmt14", 
      "Effect": "Deny", 
      "Principal": "*", 
      "Action": "s3:*", 
      "Resource": "arn:aws:s3:::s3-bucket/*", 
      "Condition": { 
       "StringNotEquals": { 
        "aws:username": "only-allowed-user" 
       } 
      } 
     } 
    ] 
} 

而且沒有非管理員用戶可以編輯桶政策。

它肯定與我們的15個用戶到目前爲止。 14被拒絕,並且'只允許用戶'有權訪問(包括api調用)。但是我沒有看到任何人提到這是一種選擇或者是這樣做的好主意,是否有解決方案可以在內部(由其他14位沒有管理員權限的用戶)或外部解決?

回答

1

使用username條件限制對不使用具有指定用戶名的用戶的任何人的訪問權限。

但是,您的政策中沒有任何內容拒絕從使用相同用戶名的其他AWS賬戶訪問用戶。因此,如果存在允許其他AWS賬戶訪問您的存儲桶的策略,則具有相同用戶名的用戶可以訪問。

你有什麼可能就足夠了,因爲默認情況下,這個假設的其他策略不存在。但未來可能會改變事情。

更好的可能是使用的語句NotPrincipal元素直接指定特定的用戶:

http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#NotPrincipal

{ 
    "Version": "2012-10-17", 
    "Id": "Policy19", 
    "Statement": [ 
     { 
      "Sid": "Stmt14", 
      "Effect": "Deny", 
      "NotPrincipal": [ 
       "arn:aws:iam::<your account number>:user/your-allowed-user" 
      ], 
      "Action": "s3:*", 
      "Resource": "arn:aws:s3:::s3-bucket/*" 
     } 
    ] 
} 

採用主ARN,你明確允許在特定的AWS用戶帳戶。

+0

嘿馬特,我很感激,這很難讓AWS回答Stackoverflow – lonewarrior556

相關問題