2016-08-25 57 views
0

我已经做了RDS实例,并要授予我的用户的一个访问到RDS实例的IAM用户访问。我想知道我怎么能给这个权限。授予一个RDS实例

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

{ 
"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情况下,有什么问题呢?他可以自己做,但我不想让他做出另一个!

任何帮助,将不胜感激。

回答

0

如果上述政策对数据库中的正确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

+0

是的,我想充分只能访问一个RDS实例,但这一政策是不行的,我不希望我的用户可以使其他的RDS实例。你有什么想法吗? – Matrix

+0

但我的政策不起作用。我设置这个政策在以下链接:https://policysim.aws.amazon.com/home/index.jsp?#users/username/AmazonRDSFullAccess是正确的吗?我应该把这些政策放在哪里? – Matrix

+1

https://console.aws.amazon.com/iam/home选择策略,单击创建策略,将其添加并保存在名称下。然后回到IAM家庭中,选择用户,单击用户修改,权限选项卡中,“附加条款”,然后选择您刚才提出 – Vorsprung