AWS Cloud Map에 대한 자격 증명 기반 정책(IAM 정책) 사용 - AWS Cloud Map

AWS Cloud Map에 대한 자격 증명 기반 정책(IAM 정책) 사용

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

중요

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

다음 예제에서는 사용자에게 서비스 인스턴스를 등록 및 등록 취소할 수 있는 권한을 부여하는 권한 정책을 보여줍니다. Sid(문 ID)는 선택 사항입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowInstancePermissions", "Effect": "Allow", "Action": [ "servicediscovery:RegisterInstance", "servicediscovery:DeregisterInstance", "servicediscovery:DiscoverInstances", "servicediscovery:Get*", "servicediscovery:List*", "route53:GetHostedZone", "route53:ListHostedZonesByName", "route53:ChangeResourceRecordSets", "route53:CreateHealthCheck", "route53:GetHealthCheck", "route53:DeleteHealthCheck", "route53:UpdateHealthCheck" ], "Resource": "*" } ] }

이 정책은 서비스 인스턴스를 등록 및 관리하는 데 필요한 작업에 대한 권한을 부여합니다. 인스턴스를 등록 및 등록 취소하면 AWS Cloud Map에서 Route 53 레코드 및 상태 확인을 생성, 업데이트 및 삭제하기 때문에 퍼블릭 또는 프라이빗 DNS 네임스페이스를 사용하는 경우 Route 53 권한이 필요합니다. Resource의 와일드카드 문자(*)는 현재 AWS 계정에서 소유한 모든 AWS Cloud Map 인스턴스, Route 53 레코드 및 상태 확인에 대한 액세스 권한을 부여합니다.

작업과 각 작업을 사용할 권한을 부여하거나 거부하기 위해 지정하는 ARN의 목록은 AWS Cloud Map API 권한: 작업, 리소스 및 조건 참조 단원을 참조하십시오.

AWS Cloud Map 콘솔 사용에 필요한 권한

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

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicediscovery:*", "route53:GetHostedZone", "route53:ListHostedZonesByName", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:ChangeResourceRecordSets", "route53:CreateHealthCheck", "route53:GetHealthCheck", "route53:DeleteHealthCheck", "route53:UpdateHealthCheck", "ec2:DescribeVpcs", "ec2:DescribeRegions" ], "Resource":"*" } ] }

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

servicediscovery:*

모든 AWS Cloud Map 작업을 수행할 수 있도록 허용합니다.

route53:CreateHostedZone, route53:GetHostedZone, route53:ListHostedZonesByName, route53:DeleteHostedZone

퍼블릭 및 프라이빗 DNS 네임스페이스를 생성 및 삭제하는 경우 AWS Cloud Map이 호스팅 영역을 관리하도록 합니다.

route53:CreateHealthCheck, route53:GetHealthCheck, route53:DeleteHealthCheck, route53:UpdateHealthCheck

서비스 생성 시 Amazon Route 53 상태 확인을 포함하는 경우 AWS Cloud Map이 상태 확인을 관리하도록 합니다.

ec2:DescribeVpcsec2:DescribeRegions

AWS Cloud Map이 프라이빗 호스팅 영역을 관리하도록 합니다.

AWS Cloud Map에 대한 AWS 관리형(사전 정의) 정책

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

  • AWSCloudMapDiscoverInstanceAccess – AWS Cloud Map DiscoverInstances API 작업에 대한 액세스 권한을 부여합니다.

  • AWSCloudMapReadOnlyAccess – 모든 AWS Cloud Map 작업에 대한 읽기 전용 액세스 권한을 부여합니다.

  • AWSCloudMapRegisterInstanceAccess – 네임스페이스 및 서비스에 대한 읽기 전용 액세스 권한을 부여하고, 서비스 인스턴스를 등록 및 등록 취소하는 권한을 부여합니다.

  • AWSCloudMapFullAccess – 모든 AWS Cloud Map 작업에 대한 전체 액세스 권한을 부여합니다.

참고

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

고객 관리형 정책 예

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

예제 1: 모든 AWS Cloud Map 리소스에 대한 읽기 액세스 허용

다음 권한 정책은 사용자에게 모든 AWS Cloud Map 리소스에 대한 읽기 전용 액세스 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicediscovery:Get*", "servicediscovery:List*", "servicediscovery:DiscoverInstances" ], "Resource":"*" } ] }

예제 2: 모든 유형의 네임스페이스 생성 허용

다음 권한 정책은 사용자가 모든 유형의 네임스페이스를 생성할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicediscovery:CreateHttpNamespace", "servicediscovery:CreatePrivateDnsNamespace", "servicediscovery:CreatePublicDnsNamespace", "route53:CreateHostedZone", "route53:GetHostedZone", "route53:ListHostedZonesByName", "ec2:DescribeVpcs", "ec2:DescribeRegions" ], "Resource":"*" } ] }