2017-10-16 96 views
0

我試圖使用NotResource /拒絕與一個絃樂器的條件如下AWS S3 NotResource /拒絕和資源/條件

"Action": [ 
    "s3:*" 
    ], 
    "NotResource": [ 
    "arn:aws:s3:::bucket/file.txt", 
    ], 
    "Effect": "Deny" 
}, 

爲S3:ListObjectVersions如下

{ 
     "Action": [ 
     "s3:List*" 
     ], 
     "Resource": [ 
     "arn:aws:s3:::bucket" 
     ], 
     "Condition": { 
     "StringLike": { 
      "s3:prefix": [ 
      "anotherfile.txt" 
      ] 
     } 
     }, 
     "Effect": "Allow" 
    } 

的NotResource/Deny使用條件阻塞資源。有沒有辦法做到這一點?

+0

燦你清楚你想讓它工作.. –

+0

我想鎖定S3,以便所有s3操作被拒絕,只允許List *(ListObjectVersions)顯示條件。 – user6781377

+0

默認S3被鎖定。如果允許採取行動,您可能需要調查發生的情況。還要注意,IAM策略解釋永遠不會含糊不清 - 匹配的「拒絕」總是勝過匹配的「允許」。 –

回答

0

優先訪問策略如下:

Explicit Deny > Explicit Allow > Default Deny All 

地圖與您的設置:

Deny "NotResource" > Allow "StringLike" > Default Deny All 

您可以使用下面的政策,讓所有的人這是不arn:aws:s3:::bucket/file.txt

{ 
     "Action": [ 
     "s3:List*" 
     ], 
     "Resource": [ 
     "arn:aws:s3:::bucket/*" 
     ], 
     "Condition": { 
     "StringNotEquals": { 
      "s3:prefix": "file.txt" 
     } 
     }, 
     "Effect": "Allow" 
    }