2016-08-25 61 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