2016-08-25 5 views
0

RDS 인스턴스를 만들고 해당 사용자에게 해당 RDS 인스턴스에 대한 액세스 권한을 부여하려고합니다. 나는이 허가를 어떻게 줄 수 있는지 궁금해.하나의 RDS 인스턴스에 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 문제가 무엇 : 다음 내 IAM 사용자의 정책을 부착 이런 식으로 시뮬레이션에

나는 RDSFULLACESS을 부여한? 그는 그 자신을 만들 수있다. 그러나 나는 그가 또 다른 것을 만드는 것을 원하지 않는다.

도움을 주시면 감사하겠습니다.

답변

0

위의 정책에 데이터베이스에 대한 올바른 ARN이 있고 IAM 사용자에 연결되어있는 경우 데이터베이스를 중지하거나 백업을 복원하는 것과 같은 RDS 데이터베이스에 대한 전체 관리 작업을 허용합니다.

는 명시 적으로 http://docs.aws.amazon.com/IAM/latest/UserGuide/list_rds.html 당신은 예를 들어, 필요합니까 모든 권한을 포함이 페이지의 목록에 따라 "만들기"권한을 제외합니다. 이 문맥에서 "거부"는 항상 "허용"보다 높습니다. "Create"권한은 이미 존재하는 데이터베이스 대 괜찮지 만 다른 곳에는 적용되지 않습니다.

{ 
"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" 
     ] 
    } 
    ] 
    } 

나는이 정책을 단지 예를 들어 사용자가 다음이이 방법으로 관리되지 않는 데이터의 소비자로 데이터베이스에 대한 액세스를 필요로하는 경우

에게있어 테스트하지 않았습니다. 그들은 MySQL을위한 데이터베이스

에 대한 제대로 올바른 네트워킹 및 설치 보안 그룹

# 사용자 계정 자격 증명을 통해 RDS 인스턴스에이

# 네트워크 액세스를 위해 초기에 연결하는 과정을 두 가지가 필요 여기에 설명 된 것 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 home으로 돌아가 사용자를 선택하고 수정할 사용자, 사용 권한 탭, "정책 첨부"를 선택하고 방금 만든 정책을 선택하십시오. – Vorsprung

관련 문제