【问题标题】:Grant an IAM user access to one RDS instance授予 IAM 用户访问一个 RDS 实例的权限
【发布时间】:2016-08-25 07:14:28
【问题描述】:

我创建了一个 RDS 实例,并希望授予我的一位用户访问该 RDS 实例的权限。我想知道如何授予此权限。

我已在我的 IAM 用户的附加策略中授予 RDSFULLACESS,然后像这样模拟它:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Action": [
            "rds:*",
            "cloudwatch:DescribeAlarms",
            "cloudwatch:GetMetricStatistics",
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "sns:ListSubscriptions",
            "sns:ListTopics",
            "logs:DescribeLogStreams",
            "logs:GetLogEvents"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:rds:eu-west-1:accountIDofIAMUser:db:instancename"
    }
]
}

但是我的用户仍然无法访问这个 RDS 实例,这是什么问题?他可以自己做,但我不希望他再做一个!

任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services permissions amazon-rds amazon-iam


    【解决方案1】:

    如果上述策略具有正确的数据库 ARN 并附加到 IAM 用户,那么它将允许对 RDS 数据库执行全面管理操作,例如停止数据库或恢复备份。

    明确排除“创建”权限,基于此页面上的列表 http://docs.aws.amazon.com/IAM/latest/UserGuide/list_rds.html 例如,包括您确实需要的所有权限。在这种情况下,“拒绝”总是胜过“允许”。 “创建”权限与现有数据库相比是可以的,但不适用于其他地方。

        {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "rds:*",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:GetMetricStatistics",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "sns:ListSubscriptions",
                "sns:ListTopics",
                "logs:DescribeLogStreams",
                "logs:GetLogEvents"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:rds:eu-west-1:accountIDofIAMUser:db:instancename"
        },
        {
          "Effect": "Deny",
          "Action": [
            "rds:Create*"
          ],
          "NotResource": [
             "arn:aws:rds:eu-west-1:accountIDofIAMUser:db:instancename"
           ] 
        }
        ]
        }
    

    我没有测试过这个政策,这只是一个例子

    如果用户需要以数据消费者的身份访问数据库,则不会以这种方式进行管理。他们需要为此准备两件事

    #通过正确的网络访问RDS实例并正确设置安全组

    #数据库的用户帐户凭据

    对于mysql,初始连接的过程在此处描述http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html

    【讨论】:

    • 是的,我只想授予对一个 RDS 实例的完全访问权限,但该策略不起作用,我不希望我的用户创建另一个 RDS 实例。你有什么想法吗?
    • 但是我的策略不起作用。我在以下链接中设置此策略:policysim.aws.amazon.com/home/index.jsp?#users/username/… 是否正确?我应该把这些政策放在哪里?
    • console.aws.amazon.com/iam/home 选择策略,点击创建策略,添加并保存在名称下。然后回到iam home,选择用户,点击要修改的用户,权限选项卡,“附加策略”并选择你刚刚制定的策略
    • @ Vorsprung 谢谢我做到了,但现在在我的用户控制台中它不可用:错误:用户/spsadmin 无权执行:rds:DescribeDBInstances
    【解决方案2】:

    请查看以下单用户单 rds 启停访问政策。

    创建以下策略并在资源部分提供 rds arn。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "rds:AddTagsToResource",
                    "rds:ListTagsForResource",
                    "rds:DescribeDBSnapshots",
                    "rds:DescribeDBEngineVersions",
                    "rds:DescribeDBParameters",
                    "rds:DescribeDBParameterGroups",
                    "rds:StopDBInstance",
                    "rds:StartDBInstance"
                ],
                "Resource": [
                    "arn:aws:rds:us-east-1:accountnumber:db:dbidentifier"
                ]
            },
            {
                "Sid": "VisualEditor1",
                "Effect": "Allow",
                "Action": [
                    "rds:DescribeDBClusterSnapshots",
                    "rds:DescribeDBInstances"
                ],
                "Resource": "*"
            }
        ]
    }
    

    将此策略附加到您要授予访问权限的用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2020-05-28
      • 1970-01-01
      • 2023-03-14
      • 2017-01-01
      相关资源
      最近更新 更多