是否可以使“允许”效果优先于“拒绝”?

时间:2019-04-01 22:54:59

标签: amazon-web-services amazon-s3 amazon-policy

我有一个S3存储桶,其结构如下:

top_level_name
  sub_level_1
  sub_level_2
  sub_level_3

我想全面拒绝top_level_name上的所有操作(以排除原本可以访问此存储桶的IAM策略),并有选择地允许特定用户访问其各自的{{1} }。最初,我认为该政策可能类似于:

sub_levels

在执行过程中,“允许”似乎无法取代“拒绝”。有什么办法可以重写我的存储桶策略以实现此模式?

1 个答案:

答案 0 :(得分:1)

不。 Deny始终会覆盖Allow

但是,只需简单地删除第一个Deny部分,就可以满足您的用例。这是因为,默认情况下,用户没有权限。因此,除非策略明确允许,否则他们没有最高级别的PutObject权限。

策略的第二部分授予您所需的较低级别的权限。

如果您有其他授予最高级别访问权限的策略(例如,通过*策略),那么您将需要重新考虑您的其他策略(例如,从其{{ 1}}授权。