AWS EC2实例,可通过Access key ID及Secret access key的方式读取其它服务的内容,也可通过关联IAM Role的方式获取其它服务的内容。下面介绍两种配置方式。
10年积累的成都做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有吉利免费网站建设让你可以放心的选择与我们合作。
1、通过在EC2上配置Access key ID的方式(AWSCLI)
apt-get install python3 -y #安装python3 pip3 install --upgrade awscli #安装aws命令行工具 aws configure #依次输入下列信息 AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: Default output format [None]: json
2、配置IAM Role的方式
进入IAM配置界面,创建策略
进入角色配置界面,关联创建的策略
将创建的角色附加到EC2
验证上述配置,首先解除IAM角色的关联,ssh到EC2验证
aws s3 ls --region cn-north-1 s3://package/ #能显示bucket内的文件则正常 rm -rf ~/.aws #删除aws configure配置文件
重新关联IAM角色,ssh到EC2验证
aws s3 ls --region cn-north-1 s3://package/ #与之前显示一致则正常
经过上述的测试发现,EC2实例可以使用当前的策略读取S3的内容,但是无法上传文件到S3中,经咨询AWS技术支持,上述策略生效后,对bucket中的object没有操作权限,导致上传失败;如要在策略中对object添加写入的权限
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:HeadBucket" ], "Resource": "arn:aws-cn:s3:::*" }, #上面的策略为列出所有的bucket信息 { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws-cn:s3:::package/*" #S3:*表示所有的S3操作,package/*表示package下的所有对象文件 } ] }