在线重置实例密码原理说明
阿里云支持在线重置ECS实例的登录密码,修改后您无需控制台重启ECS实例即可生效。本文介绍在线重置实例登录密码涉及的实现原理。
功能说明
您在使用重置实例密码功能时,可以选择通过在线重置密码功能修改ECS实例的登录密码,修改完成后无需在控制台重启ECS实例即可生效。
在线重置实例密码主要通过运维编排服务OOS的加密参数和模板实现。在实现过程中,会使用到云服务器ECS、运维编排服务OOS、资源编排服务ROS和密钥管理服务KMS等相关产品。具体实现过程,请参见实现原理。
同时,在使用在线重置实例密码功能前,需要符合以下条件:
需要使用阿里云账号操作,不支持RAM用户操作。
仅支持专有网络VPC,不支持经典网络。
需要已开通密钥管理服务KMS。具体操作,请参见开通密钥管理服务。
ECS实例处于运行中(running)状态。
ECS实例未授予RAM角色。
实现原理
在线重置实例密码主要通过以下流程实现:
在线重置实例密码功能通过加密参数功能实现密码加密;通过OOS模板功能定义所需要编排的运维操作。具体信息,请参见加密参数和模板概述。具体流程说明如下表所示。
流程 | 步骤 | 说明 |
① | 创建加密参数 | 在OOS的参数仓库中,根据用户输入的明文密码,创建加密参数。 |
② | 查询ECS实例是否绑定RAM角色 | 查询ECS实例是否已绑定RAM角色。
|
③ | 创建RAM角色和权限策略 | 通过ROS资源栈为ECS创建RAM角色和权限策略。 权限策略的策略内容如下:
|
④ | 为RAM角色授予权限策略 | 通过ROS资源栈为RAM角色授予权限策略。 RAM角色的信任策略内容如下:
|
⑤ | 为ECS实例授予RAM角色 | 将创建的RAM角色绑定到目标ECS实例。 |
⑥ | 查询ECS实例操作系统 | 查询ECS实例的操作系统类型。 |
⑦ | ACS::ECS::RunCommand | 根据ECS实例的操作系统类型,执行修改用户密码的命令。
|
⑧ | 收回ECS实例的RAM角色 | 回收ECS实例上的RAM角色。 |
⑨ | 删除RAM角色和权限策略 | 删除RAM角色和权限策略。 |
⑩ | 删除加密参数 | 删除创建的加密参数。 |