温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

AWS ec2使用IAM Role管理S3文件

发布时间:2020-07-24 13:55:48 来源:网络 阅读:1148 作者:Nicky_Zheng 栏目:云计算

AWS EC2实例,可通过Access key ID及Secret access key的方式读取其它服务的内容,也可通过关联IAM Role的方式获取其它服务的内容。下面介绍两种配置方式。


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的方式

  1.     进入IAM配置界面,创建策略

    AWS ec2使用IAM Role管理S3文件

  2.     进入角色配置界面,关联创建的策略

    AWS ec2使用IAM Role管理S3文件

  3.     将创建的角色附加到EC2

    AWS ec2使用IAM Role管理S3文件


验证上述配置,首先解除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下的所有对象文件
        }
    ]
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI