AWS-IAM 的管理
创建AWS的账号之后,用户就可以通过这个email账号和密码登陆了。不过这个主账号的权限实在是太大了,从管理和安全的角度来说我们都需要限制 不同用户的访问权限,这个可以通过IAM来实现。即使是管理员本身,平常也应该尽量避免直接使用主账号,而使用具有管理权限的IAM账号。
小结了一下3个常用的知识点:
- 创建基本的账号和组;
- MFA绑定账号
- 自定义Role(角色)
首先我们来看看如何创建一个基本的IAM 组和 账号
首先用主账号登陆,然后点开IAM的管理界面,我们可以先创建一个管理员组
名字就叫administrators好了
默认的3个模板, Administrator access 模板可以允许访问除了账单系统以外的所有服务和资源;Power User 可以访问除了账单系统和用户系统之外的服务和资源;Read Only 就只有只读服务了。这里我们选择第一个模板
组就创建好了
接下来,我们创建一个新用户,名字就叫做Yuan, 注意下面那个access key的选项主要是用来生成验证密码了以便用户能够远程的访问API接口。如果只打算使用图形界面,这个是可有可无的。
然后把yuan加入administrators 组,yuan就自动获取了管理权限。
别忘记设置用户的密码
这样一个基本的用户组和管理员就设定好了。
接下来我们看看如何进一步加强安全性,我们可以给用户绑定MFA验证。
点 击进入配置,一般方便使用,可以使用Virtual MFA device。我们可以安装Google authenticator 到iphone, android 手机或者PC上面,每次登陆的时候除了用户名和密码,还需要输入authenticator提供的验证码
点击Countinue之后会出现一个巨大的二维码
然后我在我的iphone上下载安装了goolge authenticator (左下角的白***标)
打开之后
选择Scan Barcode, 扫描二维码
会自动绑定Yuan的账号,并实时的生成验证码,该验证码每30秒会变化一次。
连续两次输入验证码。
绑定就成功了。
最后,别忘了配置用户登陆的URL。
浏览器里输入以上https://beanxyz.signin.aws.amazon.com/console
然后输入username, password和 MFA code (手机程序),就可以登陆了
登陆以后,右上角可以看见当前登陆名
上边教会大家怎么创建一个基本的用户组和用户并绑定MFA设备。
我们来看看如何自定义Roles(角色),该角色绑定的EC2的实例将自动有权限访问S3 bucket。
首先点开IAM,Create New Role
取名叫做 EC2-S3
选择 Amazon EC2,注意说明“允许EC2实例代表来访问其他服务”
模板选择 S3 Full Access
自动生成的JSON语句
创建好了
接下里我们来做个试验。 我已经有了一个Web Server的EC2实例了,我在上面跑了一个wordpress的博客。默认创建的时候我并没有分配任何角色给他,也就是说他没有权限访问aws上的其他服务。
接下来我要创建一个新的实例,并分配自定义的角色给他。
创建一个linux ami 实例
免费的Micro 类型
IAM Role选择自定义的ec2-s3
创建过程很简单,就不赘述了。
创建完成之后,用他的公网IP从putty登陆,记得SSH的验证方式选择对应的证书
登陆之后,先看看python的版本 (默认已经安装了)
然后安装PiP
验证成功安装
升级PIP到最新版本
然后通过PIP安装最新的awscli 命令行工具
安装之后看看能否访问S3, 访问成功,列出了我的S3 bucket
控制台确认一下,没错!
同样的方式,登陆到我的web server,安装命令行工具,执行命令,报错!无权限访问。
对比试验成功!
补充一下:EC2不支持在已经运行的实例上更改或者删除角色,只能在创建之初配置。如果需要更改,只能在其现有的角色上更改权限。