Azure 상식

Azure RBAC

ktzzang0601 2025. 7. 28. 18:13

1. 개요

  • Azure RBAC이란,  Azure 역할 기반 액세스 제어(Role Based Access Controll)의 약자로 Azure 리소스에 대한 액세스를 세밀하게 관리할 수 있는 Azure Resource Manager 기반의 권한 부여 시스템이다.
  •  Azure RBAC 데이터는 고객이 액세스하는 위치에 관계없이 리소스에 적시에 액세스할 수 있도록 하는 글로벌 데이터입니다.

 

2. 구성 및 역할별 권한 

  • 역할 할당은 보안 주체(Security Principle), 역할 정의(Role Definition), 범위(Scope) 3가지 요소로 구성된다. 
요소 설명 예시
Role(역할) 수행 가능한 허용 작업(액션) 집합 Owner, Contributor, Reader, Custom Role 
Principal(주체) 권한을 부여받는 엔터티 사용자(User), 그룹(Group), 서비스 주체(SP), 관리형 ID
Scope(범위) 권한이 적용되는 Azure 리소스의 계층/구간 구독, 리소스 그룹, VM, Storage Account 
  • 보안주체 : 엑세스를 요청하는 관리ID로서, 사용자/그룹/서비스 주체/리소스 가 있다.
  • 역할 정의 : 역할 정의는 기존 제공 역할(Built-in)과 사용자 지정 역할(Custom)이 있으며, 역할이 서로 충돌할 경우  더 넓은 권한을 가진 역할이 우선시됩니다. 즉, 사용자에게 할당된 역할 중 가장 광범위한 권한을 가진 역할이 적용된다.  
  • 예를 들어, 사용자에게 Reader 역할과 특정 리소스에 대한 Contributor 역할을 모두 할당했다면, Contributor 권한이 적용된다. 이는 Azure RBAC의 기본 동작이며, 여러 역할 할당 시에도 동일하게 적용된다.
  • 범위 : 관리 그룹> 구독> 리소스 그룹> 리소스 등 4개 수준에서 범위를 지정할 수 있습니다. 범위는 부모-자식 관계로 구조화되어 있으며, 하위 수준은 상위 수준의 역할 권한을 상속합니다
  • 기존 제공되는 관리그룹에 따른 역할과 지원되는 작업 목록입니다. 
  • Azure 역할 이름  만들기 이름 바꾸기 이동** DELETE 액세스 권한 할당 정책 할당 읽기
    Owner(소유자) O O O O O O O
    Contributor (기여자) O O O O     O
    Management Group
    Contributor*
    O O O O     O
    Reader (읽기 권한자)             O
    Management Group
    Reader*
                O
    Resource Policy
    Contributor
              O  
    User Access Administrator
            O O  
  • *: 이러한 역할을 통해 사용자는 관리 그룹 범위에서만 지정된 작업을 수행할 수 있습니다.
    **: 구독 또는 관리 그룹을 이동하기 위해 루트 관리 그룹에 대한 역할을 할당할 필요가 없습니다.

3. 최소 권한의 법칙 (Principle of Least Privilege)

  • 정의 : 사용자에게 필요한 작업 수행에 필요한 최소 권한만 부여하여, 혹시 모를 권한 오용이나 보안 침해 사고 발생 시 피해 범위를 최소화하는 원칙입니다.
  • 예시 : 가상 머신을 관리하는 팀원에게는 가상 머신 관리자 역할을, 데이터베이스를 관리하는 팀원에게는 데이터베이스 관리자 역할을 부여하여 각 팀원이 자신의 업무에 필요한 권한만 갖도록 하는 것입니다
  • 최소 권한의 법칙을 지키면서, 필요한 경우 가장 광범위한 역할 적용 방식을 활용하여 사용자의 효율성을 높일 수 있습니다. 예를 들어, 특정 사용자에게 여러 리소스 그룹에 대한 관리자 권한이 필요하다면, 관리 그룹 차원에서 관리자 역할을 할당하여 각 리소스 그룹마다 역할을 개별적으로 할당하는 것보다 더 효율적으로 관리할 수 있습니다. 
  • 또한 역할 할당 시 Scope를 좁힐수록 보안상 안전

4. 상위 권한 우선 적용 원칙

  • Built-in 역할과 사용자 지정 역할이 충돌하는 경우, 더 넓은 권한을 가진 역할이 우선 적용됩니다. 즉  더 높은 범위의 역할 할당이 이미 액세스 권한을 부여하므로 하위 범위에서 중복 역할을 포함합니다.
  • 예를 들어, Custom 역할에 'Microsoft.Compute/virtualMachines/write' 권한과 'Microsoft.Storage/storageAccounts/write' 권한이 모두 포함되어 있고, Built-in 역할에는 'Microsoft.Compute/virtualMachines/write' 권한만 포함되어 있다면, Custom 역할이 우선 적용됩니다. 반대로, Built-in 역할에 'Microsoft.Compute/*' 와 같이 더 넓은 범위의 권한이 정의되어 있다면 Built-in 역할이 우선 적용됩니다.

 

5. 거부 할당 정책 우선 적용

  • ‘거부 할당’은 역할 할당과 마찬가지로 액세스를 거부하기 위해 특정 범위에서 사용자, 그룹 또는 서비스 주체에게 거부 작업 세트를 연결합니다. 
  • 거부 할당은 역할 할당이 사용자에게 액세스 권한을 부여하더라도 특정 Azure 리소스 작업을 사용자가 수행할 수 없도록 차단합니다.(Allow 정책보다 우선 적용)

6. 참고 문서