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
ContributorO 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. 참고 문서
- Azure RBAC(Azure 역할 기반 액세스 제어)란? : https://learn.microsoft.com/ko-kr/azure/role-based-access-control/overview
'Azure 상식' 카테고리의 다른 글
| Azure VMSS의 특징과 Ochestration 모드 분석 (1) | 2025.08.04 |
|---|---|
| Azure Saving Plan, Reserved Instance을 활용한 비용절감 방안 이해 (2) | 2025.08.04 |
| VNet 구성시 Inbound/Outbound 구성방법 및 네트워크 흐름 (2) | 2025.08.04 |
| Azure Blob Storage Life Cycle 관리 (2) | 2025.07.28 |
| Azure Storage (account)서비스 및 Blob Storage tier 정보 (4) | 2025.07.28 |