조건 지정: 사용자 지정 태그 사용

조건 지정: 사용자 지정 태그 사용

Amazon RDS는 IAM 정책에서 사용자 지정 태그를 사용해 조건을 지정하는 것을 지원해요. 태그를 활용하면 리소스 전체가 아닌 특정 태그 값을 가진 리소스만 권한을 주도록 세밀하게 제어할 수 있어요.

출처: 문서

본문

Amazon RDS는 IAM 정책에서 사용자 지정 태그를 사용해 조건을 지정하는 것을 지원해요.

예를 들어 DB 인스턴스에 beta, staging, production 등의 값을 가진 environment라는 태그를 추가한다고 가정해보세요. 이렇게 하면 특정 사용자를 environment 태그 값에 따라 DB 인스턴스로 제한하는 정책을 만들 수 있어요.

참고

사용자 지정 태그 식별자는 대소문자를 구분해요.

다음 표는 Condition 요소에서 사용할 수 있는 RDS 태그 식별자를 나열해요.

RDS 태그 식별자 적용 대상
db-tag DB 인스턴스 (읽기 전용 복제본 포함)
snapshot-tag DB 스냅샷
ri-tag 예약 DB 인스턴스 (Reserved DB instances)
og-tag DB 옵션 그룹
pg-tag DB 파라미터 그룹
subgrp-tag DB 서브넷 그룹
es-tag 이벤트 구독
cluster-tag DB 클러스터
cluster-pg-tag DB 클러스터 파라미터 그룹
cluster-snapshot-tag DB 클러스터 스냅샷

사용자 지정 태그 조건의 구문은 다음과 같아요.

"Condition":{"StringEquals":{"rds:rds-tag-identifier/tag-name": ["value"]} }

예를 들어 다음 Condition 요소는 environment라는 태그와 production이라는 태그 값을 가진 DB 인스턴스에 적용돼요.

 "Condition":{"StringEquals":{"rds:db-tag/environment": ["production"]} }

태그 생성에 대한 정보는 "Amazon RDS 리소스 태그 지정" 문서를 참고하세요.

중요

태깅을 사용해 RDS 리소스에 대한 접근을 관리한다면, RDS 리소스 태그에 대한 접근을 보호할 것을 권장해요. AddTagsToResource 및 RemoveTagsFromResource 작업에 대한 정책을 만들어 태그에 대한 접근을 관리할 수 있어요. 예를 들어 다음 정책은 모든 리소스에 태그를 추가하거나 제거하는 것을 거부해요. 그런 다음 특정 사용자가 태그를 추가하거나 제거할 수 있도록 정책을 만들 수 있어요.

Amazon RDS 작업 목록을 보려면 Service Authorization Reference의 "Actions Defined by Amazon RDS"를 참고하세요.

예시 정책: 사용자 지정 태그 사용

Amazon RDS IAM 권한 정책에서 사용자 지정 태그를 사용하는 방법의 예시들이에요. Amazon RDS 리소스에 태그를 추가하는 방법에 대한 자세한 내용은 "Amazon RDS의 Amazon Resource Names(ARN)" 문서를 참고하세요.

참고

모든 예시는 us-west-2 리전을 사용하고 가상의 계정 ID를 포함해요.

예시 1: 두 개의 서로 다른 값을 가진 특정 태그가 있는 리소스에 대한 작업 권한 부여

다음 정책은 stage 태그가 development 또는 test로 설정된 DB 인스턴스에서 CreateDBSnapshot API 작업을 수행할 권한을 허용해요.

또한 다음 정책은 stage 태그가 development 또는 test로 설정된 DB 인스턴스에서 ModifyDBInstance API 작업을 수행할 권한을 허용해요.

예시 2: 지정된 DB 파라미터 그룹을 사용하는 DB 인스턴스 생성 권한을 명시적으로 거부

다음 정책은 특정 태그 값을 가진 DB 파라미터 그룹을 사용하는 DB 인스턴스 생성 권한을 명시적으로 거부해요. DB 인스턴스를 생성할 때 특정 고객 생성 DB 파라미터 그룹이 항상 사용되도록 요구한다면 이 정책을 적용할 수 있어요. Deny를 사용하는 정책은 대체로 더 광범위한 정책이 부여한 접근을 제한하는 데 사용돼요.

권한을 명시적으로 거부하면 부여된 다른 모든 권한보다 우선해요. 이렇게 하면 부여하고 싶지 않은 권한을 주체가 실수로 얻는 일을 방지할 수 있어요.

예시 3: 사용자 이름으로 접두사가 붙은 인스턴스 이름을 가진 DB 인스턴스에 대한 작업 권한 부여

다음 정책은 DB 인스턴스 이름이 사용자의 이름으로 접두사가 붙고, stage라는 태그가 devo와 같거나 stage라는 태그가 없는 DB 인스턴스에서 어떤 API(AddTagsToResource 또는 RemoveTagsFromResource 제외)를 호출할 권한을 허용해요.

정책의 Resource 줄은 ARN(Amazon Resource Name)으로 리소스를 식별해요. Amazon RDS 리소스에서 ARN을 사용하는 방법에 대한 자세한 내용은 "Amazon RDS의 Amazon Resource Names(ARN)" 문서를 참고하세요.

더 알아보기 (Learn more)