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

如何创建仅允许访问指定RDS实例的IAM策略?

问题分析与解决方案

你的IAM策略存在两个核心问题,直接导致用户能访问所有RDS实例:

  1. 第二个Statement明确允许rds:DescribeDBInstances和rds:DescribeDBClusters操作作用于所有RDS实例(arn:aws:rds:*:<ACCOUNT_NUMBER>:db:*),这让用户能直接查看生产环境实例详情。
  2. 第一个Statement的Action列表包含大量超出“读写操作”的冗余权限(比如创建实例、购买预留实例、创建子网组等),存在过度授权风险。

修正后的IAM策略

以下策略仅允许用户对development和staging两个运行中的RDS实例执行必要读写操作,且无法查看其他实例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowRDSOperationsOnDevStaging",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeDBInstances",
                "rds:ModifyDBInstance",
                "rds:RebootDBInstance",
                "rds:StartDBInstance",
                "rds:StopDBInstance",
                "rds:ListTagsForResource",
                "rds:DescribeDBLogFiles",
                "rds:DownloadDBLogFilePortion",
                "rds:DownloadCompleteDBLogFile",
                "rds:CreateDBSnapshot",
                "rds:DescribeDBSnapshots"
            ],
            "Resource": [
                "arn:aws:rds:us-east-2:<ACCOUNT_NUMBER>:db:development",
                "arn:aws:rds:us-east-2:<ACCOUNT_NUMBER>:db:staging",
                "arn:aws:rds:us-east-2:<ACCOUNT_NUMBER>:snapshot:*development*",
                "arn:aws:rds:us-east-2:<ACCOUNT_NUMBER>:snapshot:*staging*"
            ],
            "Condition": {
                "StringEquals": {
                    "rds:DBInstanceStatus": "available"
                }
            }
        }
    ]
}

关键调整说明

  • 移除全局Describe权限:删除原策略中允许所有实例Describe的语句,确保用户仅能看到指定的两个实例。
  • 精简权限范围:仅保留与实例读写、状态管理、日志查看、快照操作相关的必要权限,剔除创建资源、全局配置等非必要操作。
  • 添加运行状态限制:通过Condition约束仅能访问状态为available(运行中)的实例,匹配你的需求。
  • 扩展资源覆盖:包含两个实例相关的快照ARN,确保用户能管理对应实例的快照(不需要可直接移除这两行)。

验证步骤

  1. 将策略中的<ACCOUNT_NUMBER>替换为你的AWS账号ID。
  2. 将修正后的策略重新附加到目标用户组。
  3. 使用测试用户登录AWS控制台,进入RDS服务,确认仅能看到development和staging实例,无法查看生产实例。
  4. 测试实例的修改、重启等操作,确保权限正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:54:23