AWS EC2实例自动轮换密钥符合企业合规性
通常情况下,在组织或者企业中,各种环境都有较为严格的合规性控制,不管是访问权限还是各种资源等等,在这里我来介绍一下密码定时轮换的相关操作。
--课程与题库整理--
--
官网摘录:AWS Support 为您提供了 Systems Manager Run Command 文档,目的是与您启用了 Systems Manager 的实例交互来运行 EC2Rescue for Windows Server。Run Command 文档称为 AWSSupport-RunEC2RescueForWindowsTool。
这里我们可以利用Systems Manager Run Command中的重置本地管理员密码功能来实现本操作。
开始操作步骤:
1.创建 IAM 角色
导航到IAM。
在左侧菜单中,单击角色。单击创建角色该按钮以创建新的 IAM 角色。
在创建角色部分,为角色选择可信实体类型:AWS 服务
使用案例:EC2
单击下一步。
添加权限:现在,您可以看到策略列表。按名称AmazonSSMManagedInstanceCore搜索权限后添加。
单击下一步。
角色名称:输入 SSMRole。
您已成功按名称 SSMRole 创建了一个 IAM 角色。
现在我们继续向此IAM角色添加内联策略,以便SSM可以将加密的密码写入参数仓库。
内联策略摘自官网:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:*:*:parameter/EC2Rescue/Passwords/*" ] } ] }
内联策略名称可随喜好填写,之后点击创建策略即可完成IAM角色的创建。
2.创建 Windows EC2 实例
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
顶部菜单导航到 EC2
左侧面板,单击实例,然后单击启动新实例。
(1)名称和标签:随意填写即可,这是实例的显示名称。
(2)应用程序和操作系统映像:选择Windows镜像Microsoft Windows Server 2022 Base
(3)选择实例类型:t2.micro即可
(4)密钥对:选择账户中存在的密钥对或者新创建
(5)网络设置:保持默认即可
(6)配置存储:保持默认即可
(7)高级详细信息:IAM 实例配置文件选择刚刚创建的IAM角色,其他保持默认
(8)最后启动实例
3. 创建客户托管的 KMS 密钥
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域
顶部菜单导航到 KMS
点击创建密钥按钮。
在配置密钥下:
密钥类型:选择对称
点击下一步
在添加标签下:
别名 : 输入aws-kms-key
描述 : 输入encode ec2 password
点击下一步
在定义密钥管理权限下:密钥管理员保持默认
点击下一步
定义密钥使用权限:选择刚刚创建的IAM角色SSMRole
点击下一步
审核所有内容,然后单击完成
您已成功创建 KMS 密钥
4. 创建SSM 维护时段
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域
顶部菜单导航到Systems Manager
左侧列表中选择维护时段后点击Create Maintenance Window
创建维护时段:
名称:可根据喜好自行设置
计划:Cron 计划生成器 默认选项即可
(当然我们这里为了演示效果可以设置CRON表达式为5分钟一次实现效果(0 */5 * * * ? *))
持续时间:24
停止任务启动:0
最后点击创建维护时段按钮即可。
5. 为SSM 维护时段配置目标
点击刚刚创建的维护时段进入到目标选项卡中点击注册目标按钮。
向下滚动在目标中选择手动选择实例选项
选中刚刚创建的Windows EC2实例
最后点击注册目标按钮即可。
6. 为SSM 维护时段配置任务
点击刚刚创建的维护时段进入到任务选项卡中点击注册任务按钮。
选择 注册运行命令任务
向下滚动
在命令文档选择中选择AWSSupport-RunEC2RescueForWindowsTool
其他保持默认
目标选择项中选择刚刚注册的目标组。
速率选项:并发和错误填写为5即可。
IAM 服务角色:保持默认
参数:Command为ResetAccess,Parameters为刚刚创建的KMS密钥ID
最后选择注册运行命令任务按钮即可。
7. 半小时后SSM参数仓库检查结果
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域
顶部菜单导航到Systems Manager
左侧列表中选择Parameter Store后点击查看结果。
同时还可以使用此密码登录实例验证密码是否正确。