Amazon Route 53에 대한 자격 증명 기반 정책(IAM 정책) 사용 - Amazon Route 53

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Route 53에 대한 자격 증명 기반 정책(IAM 정책) 사용

이 주제에서는 자격 증명 기반 정책의 예를 통해 계정 관리자가 IAM 자격 증명(사용자, 그룹, 역할)에 권한 정책을 연결함으로써 Amazon Route 53 리소스에 대한 작업 수행 권한을 부여하는 방법을 보여 줍니다.

중요

Route 53 리소스 액세스를 관리하기 위한 기본 개념과 옵션을 설명하는 소개 주제를 먼저 읽어 보는 것이 좋습니다. 자세한 정보는 Amazon Route 53 리소스에 대한 액세스 권한 관리 개요 단원을 참조하십시오.

다음 예는 권한 정책을 보여 줍니다. Sid(문 ID)는 선택 사항입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowPublicHostedZonePermissions", "Effect": "Allow", "Action": [ "route53:CreateHostedZone", "route53:UpdateHostedZoneComment", "route53:GetHostedZone", "route53:ListHostedZones", "route53:DeleteHostedZone", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZoneCount", "route53:ListHostedZonesByName" ], "Resource": "*" }, { "Sid" : "AllowHealthCheckPermissions", "Effect": "Allow", "Action": [ "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:GetHealthCheck", "route53:ListHealthChecks", "route53:DeleteHealthCheck", "route53:GetCheckerIpRanges", "route53:GetHealthCheckCount", "route53:GetHealthCheckStatus", "route53:GetHealthCheckLastFailureReason" ], "Resource": "*" } ] }

이 정책에는 두 가지 문이 포함됩니다.

  • 첫 번째 문은 퍼블릭 호스팅 영역과 그 레코드를 생성 및 관리하는 데 필요한 작업에 대한 권한을 부여합니다. Amazon 리소스 이름(ARN)에 와일드카드 문자(*)가 있으면 현재 AWS 계정이 소유한 모든 호스팅 영역에 액세스할 수 있는 권한이 부여됩니다.

  • 두 번째 문은 상태 확인을 생성 및 관리하는 데 필요한 모든 작업 권한을 부여합니다.

작업과 각 작업을 사용할 권한을 부여하거나 거부하기 위해 지정하는 ARN의 목록은 Amazon Route 53 API 권한: 조치, 자원 및 조건 참조 단원을 참조하십시오.

Amazon Route 53 콘솔 사용에 필요한 권한

Amazon Route 53 콘솔에 대한 전체 액세스 권한을 부여하려면 다음 권한 정책에서 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:*", "route53domains:*", "cloudfront:ListDistributions", "elasticloadbalancing:DescribeLoadBalancers", "elasticbeanstalk:DescribeEnvironments", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketWebsite", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:ModifyNetworkInterfaceAttribute", "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:CreateTopic", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricStatistics" ], "Resource":"*" }, { "Effect": "Allow", "Action": "apigateway:GET", "Resource": "arn:aws:apigateway:*::/domainnames" } ] }

다음은 권한이 필요한 이유입니다.

route53:*

다음을 제외한 모든 Route 53 작업을 수행할 수 있습니다.

  • Alias Target(별칭 대상) 값이 CloudFront 배포, Elastic Load Balancing 로드 밸런서, Elastic Beanstalk 환경 또는 Amazon S3 버킷인 별칭 레코드를 생성 및 업데이트합니다. (이 권한으로 [Alias Target] 값이 동일한 호스팅 영역의 다른 레코드가 되는 별칭 레코드를 생성할 수 있습니다.)

  • 프라이빗 호스팅 영역 작업

  • 도메인 작업

  • CloudWatch 경보 생성, 삭제, 보기

  • Route 53 콘솔에서 CloudWatch 측정치 사용

route53domains:*

도메인에 대한 작업을 할 수 있게 해줍니다.

중요

route53 작업을 개별적으로 나열하는 경우, 도메인을 작업할 route53:CreateHostedZone을 포함해야 합니다. 도메인을 등록하는 동시에 호스팅 영역이 생성되므로, 도메인 등록 권한이 포함된 정책에는 호스팅 영역을 생성할 권한도 필요합니다.

도메인 등록과 관련해 Route 53은 개별 리소스에 대한 권한 부여 또는 거부를 지원하지 않습니다.

route53resolver:*

Route 53 Resolver 작업을 수행할 수 있습니다.

cloudfront:ListDistributions

Alias Target(별칭 대상)의 값이 CloudFront 배포인 별칭 레코드를 생성 및 업데이트할 수 있게 해줍니다.

Route 53 콘솔을 사용하지 않는 경우에는 이러한 권한이 필요하지 않습니다. Route 53은 콘솔에 표시할 배포 목록을 가져오는 데만 이 권한을 사용합니다.

elasticloadbalancing:DescribeLoadBalancers

[Alias Target]의 값이 ELB 로드 밸런서인 별칭 레코드를 생성 및 업데이트할 수 있게 해줍니다.

Route 53 콘솔을 사용하지 않는 경우에는 이러한 권한이 필요하지 않습니다. Route 53은 콘솔에 표시할 로드 밸런서 목록을 가져오는 데만 이 권한을 사용합니다.

elasticbeanstalk:DescribeEnvironments

Alias Target(별칭 대상)의 값이 Elastic Beanstalk 환경인 별칭 레코드를 생성 및 업데이트할 수 있게 해줍니다.

Route 53 콘솔을 사용하지 않는 경우에는 이러한 권한이 필요하지 않습니다. Route 53은 콘솔에 표시할 환경 목록을 가져오는 데만 이 권한을 사용합니다.

s3:ListBucket, s3:GetBucketLocation, 및 s3:GetBucketWebsite

Alias Target(별칭 대상)의 값이 Amazon S3 버킷인 별칭 레코드를 생성 및 업데이트할 수 있게 해줍니다. (버킷이 웹 사이트 엔드포인트로 구성되어 있는 경우에만 Amazon S3 버킷의 별칭을 생성할 수 있습니다. s3:GetBucketWebsite는 필요한 구성 정보를 가져옵니다.)

Route 53 콘솔을 사용하지 않는 경우에는 이러한 권한이 필요하지 않습니다. Route 53은 콘솔에 표시할 버킷 목록을 가져오는 데만 이 권한을 사용합니다.

ec2:DescribeVpcsec2:DescribeRegions

프라이빗 호스팅 영역에 대한 작업을 할 수 있도록 해줍니다.

나열된 모든 ec2 권한

Route 53 Resolver 작업을 수행할 수 있습니다.

sns:ListTopics, sns:ListSubscriptionsByTopic, sns:CreateTopic, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm, cloudwatch:DeleteAlarms

CloudWatch 경보를 생성하고, 삭제하고, 볼 수 있습니다.

cloudwatch:GetMetricStatistics

CloudWatch 지표 상태 확인을 생성할 수 있습니다.

Route 53 콘솔을 사용하지 않는 경우에는 이러한 권한이 필요하지 않습니다. Route 53은 콘솔에 표시할 통계를 가져오는 데만 이 권한을 사용합니다.

apigateway:GET

Alias Target(별칭 대상)의 값이 Amazon API Gateway API인 별칭 레코드를 생성 및 업데이트할 수 있게 해 줍니다.

Route 53 콘솔을 사용하지 않는 경우에는 이러한 권한이 필요하지 않습니다. Route 53은 콘솔에 표시할 API 목록을 가져오는 데만 이 권한을 사용합니다.

Route 53에 대한 AWS 관리형(미리 정의된) 정책

AWS는 AWS에서 생성하고 관리하는 독립형 IAM 정책을 제공하여 많은 일반 사용 사례를 처리합니다. 이러한 AWS 관리형 정책은 사용자가 필요한 권한을 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 내용은 을 참조하십시오. AWS 관리 정책 에서 IAM 사용 설명서. Route 53의 경우 IAM은 다음과 같은 관리형 정책을 제공합니다.

  • AmazonRoute53FullAccess – 도메인 등록 및 상태 확인을 포함하여 Route 53 리소스에 대한 모든 액세스 권한을 부여하지만 Route 53 Resolver는 제외합니다.

  • AmazonRoute53ReadOnlyAccess – 도메인 등록 및 상태 확인을 포함하여 Route 53 리소스에 대한 읽기 전용 액세스 권한을 부여하지만 Route 53 Resolver는 제외합니다.

  • AmazonRoute53DomainsFullAccess – Route 53 도메인 등록 리소스에 대한 전체 액세스 권한을 부여합니다.

  • AmazonRoute53DomainsReadOnlyAccess – Route 53 도메인 등록 리소스에 대한 읽기 전용 액세스 권한을 부여합니다.

  • AmazonRoute53ResolverFullAccess – 확인자 리소스에 대한 전체 액세스 권한을 부여합니다.

  • AmazonRoute53ResolverReadOnlyAccess – 확인자 리소스에 대한 읽기 전용 액세스 권한을 부여합니다.

참고

IAM 콘솔에 로그인하고 이 콘솔에서 특정 정책을 검색하여 이러한 권한 정책을 검토할 수 있습니다. Route 53 API 작업에 대한 권한을 허용하는 고유의 사용자 지정 IAM 정책을 생성할 수도 있습니다. 해당 권한이 필요한 IAM 사용자 또는 그룹에 이러한 사용자 지정 정책을 연결할 수 있습니다.

고객 관리형 정책 예

Route 53 작업에 대한 권한을 허용하는 고유의 사용자 지정 IAM 정책을 생성할 수 있습니다. 지정된 권한이 필요한 IAM 사용자 또는 그룹에 이러한 사용자 지정 정책을 연결할 수 있습니다. 이러한 정책은 Route 53 API, AWS SDK 또는 AWS CLI를 사용하는 경우에 유효합니다. 다음 예제에서는 몇 가지 일반적인 사용 사례의 권한을 보여 줍니다. 사용자에게 Route 53에 대한 전체 액세스 권한을 부여하는 정책에 대해서는 Amazon Route 53 콘솔 사용에 필요한 권한 단원을 참조하십시오.

예 1: 모든 호스팅된 영역에 대한 읽기 액세스 허용

다음 권한 정책은 모든 호스팅 영역을 나열하고 호스팅 영역의 모든 레코드를 볼 수 있는 권한을 사용자에게 부여합니다.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:GetHostedZone", "route53:ListResourceRecordSets" ], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:ListHostedZones"], "Resource":"*" } ] }

예 2: 호스팅된 영역의 생성 및 삭제 허용

다음 권한 정책은 사용자가 호스팅 영역을 생성 및 업데이트하고, 변경 진행 상황을 추적할 수 있도록 합니다.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["route53:CreateHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:DeleteHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:GetChange"], "Resource":"*" } ] }

실시예 3: 모든 도메인에 대한 전체 액세스 허용(공용 호스팅된 영역만 해당)

다음 권한 정책은 도메인 등록 권한과 호스팅 영역 생성 권한을 비롯하여 사용자가 도메인 등록에 관한 모든 작업을 수행할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53domains:*", "route53:CreateHostedZone" ], "Resource":"*" } ] }

도메인을 등록하는 동시에 호스팅 영역이 생성되므로, 도메인 등록 권한이 포함된 정책에는 호스팅 영역을 생성할 권한도 필요합니다. (도메인 등록과 관련해 Route 53은 개별 리소스에 대한 권한 부여를 지원하지 않습니다.)

프라이빗 호스팅 영역 작업에 필요한 권한은 Amazon Route 53 콘솔 사용에 필요한 권한 단원을 참조하십시오.

실시예 4: 인바운드 및 아웃바운드 생성 허용 Route 53 Resolver 끝점

다음 권한 정책은 사용자가 Route 53 콘솔을 사용하여 확인자 인바운드 및 아웃바운드 엔드포인트를 생성할 수 있도록 허용합니다.

이러한 권한 중 일부는 콘솔에서 엔드포인트를 생성하는 데에만 필요합니다. 프로그래밍 방식으로 인바운드 및 아웃바운드 엔드포인트를 생성할 수 있는 권한만 부여하려는 경우 이러한 권한을 생략할 수 있습니다.

  • route53resolver:ListResolverEndpoints를 사용하면 엔드포인트가 생성되었는지 확인할 수 있도록 인바운드 또는 아웃바운드 엔드포인트 목록을 볼 수 있습니다.

  • 가용 영역 목록을 표시하려면DescribeAvailabilityZones이 필요합니다.

  • DescribeVpcs는 VPC 목록을 표시해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "route53resolver:CreateResolverEndpoint", "route53resolver:ListResolverEndpoints", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" } ] }