动手实验 | 通过 EC2 实例来理解和使用 IAM 角色


  实验目标

某公司正在实施一个新的业务应用程序,该应用程序运行在两个 Amazon EC2 实例上,并使用 Amazon S3存储桶来存储文档。解决方案架构师需要确保 EC2 实例能够访问S3存储桶。

  解决方案

创建一个授予访问 S3 存储桶权限的 IAM 角色。将该角色附加到 EC2 实例上。IAM 角色是一种可以附加到 AWS 资源(如 EC2 实例)的权限集合。通过为 EC2 实例附加一个具有 S3 存储桶访问权限的 IAM 角色,实例就可以使用该角色来访问 S3 存储桶。这种方法既安全又方便,因为不需要在实例上存储访问密钥。

  作业步骤

本次采用AWS Console界面完成作业。
注意:根据项目的具体情况,可以采用不同的实施方法。比如使用命令行(CLI)部署、代码部署 (CloudFomation、Terraform等)、以及其它开发语言(SDK)完成作业。

步骤一:创建 IAM 角色
1 登录 AWS Management Console 并打开IAM控制台。
2. 在导航窗格中,选择角色,然后选择创建角色。
3. 对于选择可信实体,在可信实体类型,选择 AWS 服务。
4. 在 “用例” 下,选择 Amazon EC2,然后选择 “下一步”。
5. 对于添加权限,从策略列表中选中 Amazon S3 只读访问权限复选框,然后选择下一步。
6. 输入角色的名称,然后选择创建角色。

步骤二:将创建的角色连接到 EC2 实例
1. 打开对应 EC2 的详细设置的页面,确定没有指定角色。
2. 选择 “操作”、“安全”,然后选择 “修改IAM角色”
3. 指定角色为创建的 IAM 角色。

  结果验证

1. 登录到目标 EC2 实例,尝试访问目标 S3 存储桶。结果应该是可以访问。
2. 将创建的角色从目标 EC2 实例上分离,再次尝试访问目标 S3 存储桶。结果应该是已经无法访问目标 S3 存储桶。