加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 基于命名空间或标记的Amazon AWS S3 IAM策略

发布时间:2020-12-14 05:57:00 所属栏目:百科 来源:网络整理
导读:我有一些桶,它们以与assets- something中相同的命名空间开头,所以我想知道什么是给IAM组权限的最佳选择,只需要维护它. 是否可以在ARN中使用任何类型的正则表达式?或者也许我可以使用标签? EC2具有ResourceTag的条件,但似乎S3不存在. 或者我应该为每个桶添
我有一些桶,它们以与assets-< something>中相同的命名空间开头,所以我想知道什么是给IAM组权限的最佳选择,只需要维护它.

是否可以在ARN中使用任何类型的正则表达式?或者也许我可以使用标签? EC2具有ResourceTag的条件,但似乎S3不存在.

或者我应该为每个桶添加新的ARN到策略?

我再次寻找最小的解决方案,因此将新策略附加到每个桶本身似乎有点多.

解决方法

IAM策略可以基于通配符授予对Amazon S3存储桶的访问权限.

例如,此策略授予列出存储桶内容和从存储桶检索对象的权限,但仅当存储桶以assets-开头时:

{
  "Version": "2012-10-17","Statement": [
    {
      "Sid": "SomeSID","Effect": "Allow","Action": [
        "s3:ListBucket","s3:GetObject"
      ],"Resource": [
        "arn:aws:s3:::assets-*","arn:aws:s3:::assets-*/*"
      ]
    }
  ]
}

请注意,Resource部分同时引用了bucket(对于ListBucket)和bucket的内容(对于GetObject).

通配符也可以在存储桶名称的其他位置工作,例如:arn:aws:s3 ::: * – record

无法基于标签授予对Amazon S3存储桶的访问权限.

ARN格式

顺便说一句,如果你想知道为什么亚马逊S3存储桶的ARN(亚马逊资源名称)中有这么多冒号,那是因为ARN的正常格式是:

arn:aws:<service name>:<region>:<account>:<resource>

对于Amazon S3存储桶,可以从存储桶名称(全局唯一)中识别区域和帐户,因此这些参数保留为空白.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读