AWS s3访问权限

1.1基础策略字段

通过json来控制S3桶的访问权限,以下示例策略用于访问存储桶。该策略允许用户仅对 MY-BUCKET 执行 s3:ListBucket、s3:PutObject 和 s3:GetObject 操作:

(下面我将对下面策略的字段进行解释)

{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["s3:ListBucket"],"Resource":"arn:aws:s3:::MY-BUCKET"},{"Effect":"Allow","Action":["s3:PutObject","s3:GetObject"],"Resource":"arn:aws:s3:::MY-BUCKET/*"}]
}
  • Version 策略版本号(一般为时间戳)
  • Statement 策略的声明(列表的形式,里面定义了访问策略对象)
  • Effect 策略的效果(权限的拒绝或者允许,Deny,Allow)
  • Action 操作(定义操作,可以为字符串数组,也可以是字符串,如果为"s3:*" ,那么为全部操作)
  • Resource 策略附加到的资源(可以为字符串数组,也可以是字符串,AWS中每个资源都有对应的arn)

其他例子

{"Version":"2012-10-17","Statement": [{"Sid":"GrantAnonymousReadPermissions","Effect":"Allow","Principal": "*","Action":["s3:GetObject"],"Resource":["arn:aws:s3:::awsexamplebucket1/*"]}]
}
  • Sid 策略的ID标识(一般为描述信息)
  • Principal 用于指定被允许或拒绝访问资源的用户、账户、服务或其他实体(“Principal”:"*"匿名访问,及授予每个人权限)

1.2 S3的条件键Condition

{ "Version": "2012-10-17","Statement": [{"Sid": "statement1","Effect": "Allow","Action": "s3:PutObject","Resource": ["arn:aws:s3:::awsexamplebucket1/*"],"Condition": {"StringEquals": {"s3:x-amz-acl": "public-read"}}}]
}
  • Condition 指定策略生效时的条件

可以指定以下这些条件,如:

指定IP访问范围

"Condition" : {"IpAddress" : {"aws:SourceIp": "192.0.2.0/24" },"NotIpAddress" : {"aws:SourceIp": "192.0.2.188/32" }
}

要求用户上传对象时需具有特定访问权限

"Condition": {"StringEquals": {"s3:x-amz-grant-full-control": "id=AccountA-CanonicalUserID"}
}

更多条件字段请查阅官方文档:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/list_amazons3.html.

2.将亚马逊 AWS S3 存储桶的访问权限到一个特定 IAM 角色

其中111111111111为账户号,ROLENAME为角色名。

//使用Principal指定111111111111账户中的ROLENAME
//拥有对MyExampleBucket桶的ListBucket权限
{"Effect": "Allow","Principal": {"AWS": "arn:aws:iam::111111111111:role/ROLENAME"},"Action": "s3:ListBucket","Resource": "arn:aws:s3:::MyExampleBucket"
}//通过Condition指定角色
{"Effect": "Deny","Principal": "*","Action": "s3:*","Resource": ["arn:aws:s3:::MyExampleBucket","arn:aws:s3:::MyExampleBucket/*"],"Condition": {"StringNotLike": {"aws:userId": ["AROAEXAMPLEID:*","111111111111"]}}
}//通过Principal给role/ROLENAME和user/USERNAME权限
{"Effect": "Allow","Principal": [{"AWS": ["arn:aws:iam::222222222222:role/ROLENAME","arn:aws:iam::222222222222:user/USERNAME"]}],"Action": "s3:ListBucket","Resource": "arn:aws:s3:::MyExampleBucket"
}

演练:使用用户策略控制对存储桶的访问的官方文档------------
https://aws.amazon.com/cn/blogs/china/securityhow-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/.

AWS s3访问权限相关推荐

  1. 「云网络安全」为AWS S3和Yum执行Squid访问策略

    在本文中,我们将设置一个示例情况,展示如何使用开源Squid代理从Amazon虚拟私有云(VPC)中控制对Amazon简单存储服务(S3)的访问.首先,您将配置Squid以允许访问Linux Yum存 ...

  2. s3 aws_您需要了解的有关AWS S3的所有信息

    s3 aws This article will provide an in-depth introduction to AWS S3 - the secure, scalable, and supe ...

  3. k8s aws 部署_如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署

    k8s aws 部署 by Adam Watt 通过亚当·瓦特 如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署 (How to setup Continuous Deployme ...

  4. AWS S3云存储服务

    AWS S3云存储服务 1 S3概念及基础知识 2 S3的基本操作 3 S3数据安全 4 S3数据加密以及命令行CLI 4.1 S3加密工作原理 4.1.1 server端的加密 4.1.2 clie ...

  5. php aws s3查看所有文件_国内AWS没有文件系统服务,快来看如何通过EC2挂载S3存储桶替代...

    作者:光环云 尹晓征 当有需求必须使用共享磁盘服务时,但目前AWS的EFS因为在国内落地的情况,只能通过自建诸如NFS或者GFS等服务来完成,整个过程比较繁杂. S3是互联网的一种存储解决方案,并且借 ...

  6. aws s3 php,Amazon S3 预签名 POSTs 与 AWS SDK for PHP 版本 3 - 适用于 PHP 的 AWS 开发工具包...

    AWS 文档中描述的 AWS 服务或功能可能因区域而异.要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门. 本文属于机器翻译版本.若本译文内容与英语原文存在差异,则一律以英文原文为准. Am ...

  7. Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传

    背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...

  8. .NET Core AWS S3云存储

    [导读]最近有需要用到AWS S3云存储上传附件,这里对利用.NET或.NET Core在调用SDK APi需要注意的一点小问题做个记录,或许能对后续有用到的童鞋提供一点帮助 Amazon Simpl ...

  9. 我们如何使用CircleCI 2.0来构建Angular应用并将其部署到AWS S3

    by Marius Lazar 通过马里乌斯·拉扎尔(Marius Lazar) 我们如何使用CircleCI 2.0来构建Angular应用并将其部署到AWS S3 (How we used Cir ...

最新文章

  1. 切换表达式到Java吗?
  2. Python变量 - Python零基础入门教程
  3. 添加include文件路径_-isystem以及include_next的副作用
  4. 解决PD17虚拟机安装时出现 “操作失败 执行该操作失败”的方法
  5. 展望未来计算机可以分为哪几种类型,大学计算机基础-计算机概述.ppt
  6. 二维数组按指定的键值排序
  7. 动画组件和动画控制器资源介绍、动画状态机
  8. 3.PHP核心技术与最佳实践 --- PHP网络技术及应用(cURL,socket,SMTP,WebService,Cookie,Session,localStorage)
  9. .tar.bz2 解压出错问题解决方案
  10. linux bridge vlan,Linux Bridge实现Vlan
  11. (四十七)情景分析与压力测试——Stressed VaR
  12. 一个 Transformer,很强;两个,更强?
  13. Spring-retry重试组件
  14. Gulp 编译Less和Sass
  15. 免疫表位数据库(IEDB)数据下载操作实例
  16. XML编程经验――LIBXML2库使用指南
  17. Hu不变矩原理及opencv实现
  18. 人均负债12万,90后为何会这么穷?
  19. 败团---吴家私房菜(别有天茶艺居)
  20. 基于SA-Conv-CTC/Attention端到端语音识别模型的基本原理、实现方法和主要流程

热门文章

  1. Struts2的核心文件
  2. 页面设计四大基本原则
  3. 学习笔记之APACHE ANT
  4. centos6.4 搭建vsftpd
  5. Citrix xenapp
  6. asp.net报错“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”的解决办法...
  7. context:component-scan使用说明
  8. php中的var_dump()方法的详细说明
  9. ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper
  10. 关于SpringBoot 1.x和2.x版本差别