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

能否通过SCP限制特定属性EC2实例的访问权限,仅允许指定IAM用户访问?

使用AWS服务控制策略(SCP)限制特定EC2实例的访问权限

核心结论

可以通过SCP实现对带有特定属性(标签、名称模式)的EC2实例的访问限制,仅允许选定IAM用户组访问,并禁止其他用户查看这类实例的元数据。

实现思路与配置示例

SCP通过拒绝规则结合条件判断,排除授权的IAM组,从而限制非授权用户对目标EC2实例的操作权限。以下是具体配置要点:

1. 基于标签的SCP配置

如果用标签(比如SensitiveData=true)标识敏感实例,可使用如下SCP:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        // 控制实例基本信息查看
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceAttribute",
        // 控制元数据相关操作
        "ec2:DescribeInstanceMetadataOptions",
        "ec2:GetInstanceMetadata"
      ],
      "Resource": "*",
      "Condition": {
        // 匹配带有指定标签的实例
        "StringEquals": {
          "ec2:ResourceTag/SensitiveData": "true"
        },
        // 排除允许访问的IAM组
        "NotPrincipal": {
          "AWS": [
            "arn:aws:iam::你的账户ID:group/授权访问组名称"
          ]
        }
      }
    }
  ]
}

2. 基于名称模式的SCP配置

如果用名称模式(比如名称包含Sensitive)标识敏感实例,将条件替换为StringLike:

"Condition": {
  "StringLike": {
    "ec2:ResourceName": "*Sensitive*"
  },
  "NotPrincipal": {
    "AWS": [
      "arn:aws:iam::你的账户ID:group/授权访问组名称"
    ]
  }
}

元数据访问的额外控制

除了SCP的API权限限制,还需结合EC2实例的元数据配置增强安全性:

  • 启用IMDSv2(实例元数据服务版本2),强制使用会话令牌访问元数据,降低未授权访问风险。
  • 配置实例的元数据访问控制,限制仅允许特定IP范围或内部进程访问。
  • 注意:SCP无法直接限制已登录到实例内部的用户访问元数据,这类场景需依赖实例层面的配置。

关键注意事项

  • SCP仅作用于AWS组织内的OU或账户,需确保将该SCP应用于包含敏感EC2实例的目标OU/账户。
  • 测试验证:使用非授权用户账号测试,确认无法查看敏感实例的信息和元数据;使用授权组内的用户验证正常访问。
  • 避免权限过度收紧:确保SCP仅针对敏感实例,不要影响其他正常EC2实例的操作权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:04:56