Tag 기반 권한 관리

Prev Next

네이버 클라우드 플랫폼에서는 Condition 조건 키를 기반으로 리소스에 대한 엑세스 및 액션 수행 요청에 대해 제어할 수 있습니다. 리소스에 대한 엑세스를 제어할 수 있는 Condition 조건 키인 Resource Tag와, 액션 수행 요청을 제어할 수 있는 Condition 조건 키인 Request Tag에 대해 설명합니다.

구분 Resource Tag Request Tag
사용 목적 특정 태그가 지정된 리소스에 대해 사용자 작업을 허용/거부하는데 사용 리소스 생성 또는 태그 수정 시, 특정 태그 키-값이 반드시 지정되도록 작업을 허용/거부하는데 사용됨
사용 가능한 액션 리소스 지정이 가능한 액션
  • View/get~List 와 같이 특정 리소스를 지정할 수 없는 액션은 사용 불가
  • 예외적으로 태그 정보가 포함된 리소스 생성액션(Change/create~)은 사용 가능
  • 태그 정보가 포함된 리소스 생성액션(Change/create~)
  • 태그지정액션(Change/tag~, Change/untag~)
권한 체크 방식 IAM 정책에 지정된 태그 키-값 쌍을 리소스에 연결된 키-값 쌍과 비교하여 리소스에 대한 액세스 허용 여부 관리 IAM 정책에 지정된 태그 키-값 쌍을 권한 체크 요청에 포함된 태그 키-값 쌍과 비교하여 액션 수행에 대한 허용 여부 관리

Resource Tag 사용을 통한 리소스에 대한 액세스 제어

아래 정책은 ncp:resourceTag 조건 키를 사용하여 특정 태그 [key:value]를 가진 Policy만 삭제 가능하도록 권한을 정의합니다.
subaccount_resourcetag_ko

Request Tag 사용을 통한 액션 수행 요청 제어

아래 정책은 ncp:requestTag 조건 키를 사용하여 특정 태그 [key:value]를 가진 Sub Account만 생성 가능하도록 권한을 정의합니다.
subaccount_requesttag_ko

이 정책을 부여받은 서브계정은 [project:unicorn] 태그를 가진 Sub Account만 생성이 가능합니다. 만약 태그를 지정하지 않은 채 서브계정을 생성하거나, [project:unicorn] 태그가 포함되지않은 이외의 태그를 지정하여 Sub Account를 생성하는 경우, 해당 작업은 거부됩니다. 또한 태그정보가 포함된 리소스 생성 액션의 경우 ncp:requestTag 조건 키를 사용하여도 동일하게 특정 태그 [key:value]를 가진 서브계정만 생성 가능하도록 정의할 수 있습니다.

참고
  • 액션별 지정할 수 있는 조건 키는 서비스별 Sub Account 권한관리에서 확인할 수 있습니다.
  • 액션에 사용불가한 조건 키가 지정된 정책을 부여받은 서브계정의 경우 해당 액션은 수행이 거부됩니다.
  • 네이버 클라우드 플랫폼에서 정의하는 연산자 정보는 Condition 조건 키 및 연산자에서 확인할 수 있습니다.

다수의 키 또는 값이 포함되어 있는 경우 권한 체크 로직

CASE 권한 체크 로직
1개의 조건 키 내에 값을 여러 개 지정할 경우 논리 연산자 or 를 활용하여, 정책에 지정된 태그 키-값 중 1개만 일치하면 권한이 허용됨
1개의 조건 키 내에 부정 연산자로 태그 값을 여러개 지정할 경우 논리 연산자 Nor를 활용하여, 정책에 지정된 태그 키-값 모두가 일치하지 않아야만 권한이 허용됨
1개의 Condition 내에 여러개의 조건키가 사용되는 경우 논리 연산자 AND를 활용하여, 모든 조건키가 일치하는 경우에만 권한이 허용됨