You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需分发SSH密钥的EC2访问授权:最佳实践及实现方案咨询

基于IAM的EC2细粒度访问控制实现
  • 核心逻辑:用IAM策略锁定用户可访问的EC2实例范围,搭配无密钥登录方式替代SSH密钥,权限通过IAM资源的修改/移除即时生效。
  • 操作步骤:
    1. 创建IAM身份实体:给需要访问EC2的人员创建IAM用户,或按权限维度划分用户组,便于批量管理。
    2. 编写实例级限制策略:通过指定资源ARN,限制用户仅能对目标EC2实例执行登录相关动作。示例策略(适配Session Manager):
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "ec2:DescribeInstances",
              "ssm:StartSession"
            ],
            "Resource": [
              "arn:aws:ec2:区域ID:账号ID:instance/实例ID",
              "arn:aws:ssm:区域ID:账号ID:*"
            ]
          }
        ]
      }
      
      把实例ID替换为目标EC2的实际ID,就能实现单实例访问限制。
    3. 启用无密钥登录:
      • 选EC2 Instance Connect:确保实例预装对应插件(Amazon Linux 2、Ubuntu 16.04+默认自带),用户通过AWS控制台或CLI命令发起登录,无需本地存密钥。
      • 选Session Manager:给EC2实例附加AmazonSSMManagedInstanceCore角色,用户直接通过控制台或aws ssm start-session命令连接,无需开放SSH端口。
    4. 权限撤销:直接删除用户关联的策略、移除用户组,或修改策略缩小资源范围,权限立即生效,无需回收密钥。
基于AWS Directory Service的EC2访问控制实现
  • 核心逻辑:将EC2实例接入AWS托管的AD域,用域账号统一管理登录权限,权限管控和撤销完全通过AD完成,适配习惯AD架构的企业。
  • 操作步骤:
    1. 创建托管AD目录:在AWS控制台创建AWS Managed Microsoft AD,设置域名、管理员账号等基础信息。
    2. EC2实例加入域:
      • Windows实例:通过EC2控制台的“加入域”功能,输入AD域名和管理员凭证完成配置。
      • Linux实例:安装SSSD等域客户端工具,配置AD认证集成,让实例识别域账号。
    3. 配置AD权限规则:在AD中创建用户/用户组,通过组策略(GPO)设置“允许本地登录”权限仅对指定EC2实例生效,实现实例级访问限制。
    4. 权限撤销:在AD中禁用用户账号、移除用户组,或修改组策略,用户即刻无法登录对应实例,无需操作EC2端资源。
其他推荐服务
  • AWS Systems Manager Session Manager:最推荐的替代方案,完全摒弃SSH密钥,所有连接通过SSM中转:
    • 细粒度控制:IAM策略可精确到单个EC2实例;
    • 即时权限回收:修改/删除IAM策略后,用户无法发起新连接,已建立的会话也可强制终止;
    • 审计溯源:所有会话操作记录到CloudTrail,便于合规检查。
  • AWS IAM Identity Center(原SSO):适合多AWS账号/多服务的企业,统一管理用户身份,给用户分配指定EC2实例的权限集,权限集中管控,撤销只需移除用户的权限分配即可。

内容的提问来源于stack exchange,提问作者Ajit Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:45:29