+86 13541016684Mon. - Fri. 10:00-22:00

AWS-IAM 的管理

AWS-IAM 的管理

AWS-IAM 的管理

创建AWS的账号之后,用户就可以通过这个email账号和密码登陆了。不过这个主账号的权限实在是太大了,从管理和安全的角度来说我们都需要限制 不同用户的访问权限,这个可以通过IAM来实现。即使是管理员本身,平常也应该尽量避免直接使用主账号,而使用具有管理权限的IAM账号。

小结了一下3个常用的知识点:

  1. 创建基本的账号和组;
  2. MFA绑定账号
  3. 自定义Role(角色)

首先我们来看看如何创建一个基本的IAM 组和 账号

首先用主账号登陆,然后点开IAM的管理界面,我们可以先创建一个管理员组

wKiom1OyLE2QrTD8AAA7e-4hy0A496

名字就叫administrators好了

wKiom1OyLE6CfzJLAAAoQRfmFBU909

默认的3个模板, Administrator access 模板可以允许访问除了账单系统以外的所有服务和资源;Power User 可以访问除了账单系统和用户系统之外的服务和资源;Read Only 就只有只读服务了。这里我们选择第一个模板

wKioL1OyLCGyHLfLAABhH9Fenfk170

组就创建好了

wKiom1OyLFHTK6LvAABjIBWh27o407

接下来,我们创建一个新用户,名字就叫做Yuan, 注意下面那个access key的选项主要是用来生成验证密码了以便用户能够远程的访问API接口。如果只打算使用图形界面,这个是可有可无的。

wKioL1OyLCOgUlbpAAA3L9nCRBE484

然后把yuan加入administrators 组,yuan就自动获取了管理权限。

wKioL1OyLCaStfW6AABkJjloXPg676

别忘记设置用户的密码

wKiom1OyLFixEPgUAABv_wef9sg321

这样一个基本的用户组和管理员就设定好了。

接下来我们看看如何进一步加强安全性,我们可以给用户绑定MFA验证。

wKioL1OyLCvjfxNyAABcEDeBS6g964

点 击进入配置,一般方便使用,可以使用Virtual MFA device。我们可以安装Google authenticator 到iphone, android 手机或者PC上面,每次登陆的时候除了用户名和密码,还需要输入authenticator提供的验证码

wKiom1OyLFuj2kErAAAoUBPOBQs104

wKioL1OyLC2j-Tn3AAA1TmM9WU0845

点击Countinue之后会出现一个巨大的二维码

然后我在我的iphone上下载安装了goolge authenticator (左下角的白***标)

 

打开之后

wKioL1OyMDjj5_IjAAHeOJIQHJk584

选择Scan Barcode, 扫描二维码

wKioL1OyMDyjuDEOAAHjtaxKSvo198

会自动绑定Yuan的账号,并实时的生成验证码,该验证码每30秒会变化一次。

连续两次输入验证码。

wKioL1OyMEGRXh1OAAH6BTUOrLs091

wKiom1OyMHXiXNTbAAH8OB0UQYA671

绑定就成功了。

wKiom1OyLFzA5QSlAAAQvoFInoI933

最后,别忘了配置用户登陆的URL。

wKiom1OyLGCgiulfAAEZ8pvLI1c986

浏览器里输入以上https://beanxyz.signin.aws.amazon.com/console

然后输入username, password和 MFA code (手机程序),就可以登陆了

wKiom1OyMbHQB17UAAAhYnAQUA4932

登陆以后,右上角可以看见当前登陆名

wKioL1OyMYOzkT66AAAO5aP8eMw164

上边教会大家怎么创建一个基本的用户组和用户并绑定MFA设备。

 

我们来看看如何自定义Roles(角色),该角色绑定的EC2的实例将自动有权限访问S3 bucket。

首先点开IAM,Create New Role

wKioL1OyM3OTpN78AABDiiaKC2Y737

取名叫做 EC2-S3

wKioL1OyM3Sw3OoTAAAxU913j1c655

选择 Amazon EC2,注意说明“允许EC2实例代表来访问其他服务”

wKiom1OyM6WAggKCAAByvd16wOU802

模板选择 S3 Full Access

wKiom1OyM6ezMZWpAACOAAAEcfQ157

自动生成的JSON语句

wKiom1OyM6njrsG7AABF563lXZ4373

wKioL1OyM3ygbXViAAA3__JGyYQ925

创建好了

wKioL1OyM3zSMZ5RAAAbm1Z2Gjc647

接下里我们来做个试验。 我已经有了一个Web Server的EC2实例了,我在上面跑了一个wordpress的博客。默认创建的时候我并没有分配任何角色给他,也就是说他没有权限访问aws上的其他服务。

接下来我要创建一个新的实例,并分配自定义的角色给他。

wKiom1OyM63wZktiAABuRcfBpXs568

创建一个linux ami 实例

wKioL1OyM4CgpQHTAAA2F3s_k-E335

免费的Micro 类型

wKioL1OyM4KBVk0DAACcMMJLsxc224

IAM Role选择自定义的ec2-s3

wKiom1OyM7SDF5hqAACq7aKpGL8193

wKioL1OyM4fRSeBNAABcPE7Xdrs943

wKioL1OyM4mTQf98AABBQy96VzI231

wKiom1OyM7ry7avpAACP8Y8TzlE364

wKioL1OyM43CFrEjAABkhVi7yOI019

创建过程很简单,就不赘述了。

创建完成之后,用他的公网IP从putty登陆,记得SSH的验证方式选择对应的证书

wKiom1OyM72TC1BgAABSf4Yt2Vg735

登陆之后,先看看python的版本 (默认已经安装了)

wKioL1OyM4_Sfry2AAAHBJkSNwU546

然后安装PiP

wKiom1OyM7_wkWHzAAAOr5Tjpz8588

验证成功安装

wKioL1OyM5Hg2YIWAAANaVtXvbY563

升级PIP到最新版本

wKiom1OyM8LyGhZAAAA_XKbHgCo428

然后通过PIP安装最新的awscli 命令行工具

wKioL1OyM5SiVB_AAAAgSeXcr-k058

安装之后看看能否访问S3, 访问成功,列出了我的S3 bucket

wKiom1OyM8OydsKmAAAI8rQ5VJY500

控制台确认一下,没错!

wKioL1OyNqrARn5OAAAlkwPjq8o318

同样的方式,登陆到我的web server,安装命令行工具,执行命令,报错!无权限访问。

wKiom1OyM8TSb-YkAAANSNcoC_M084

对比试验成功!

补充一下:EC2不支持在已经运行的实例上更改或者删除角色,只能在创建之初配置。如果需要更改,只能在其现有的角色上更改权限。