Today Keys : RBAC, role, azure, cloud, access, 액세스, 역할, assignments, 역할할당, 속성, resource, 리소스
Azure RBAC에 대한 정리 내용입니다.
RBAC (role-based access control) - 역할 기반 엑세스 제어
▪ Azure 리소스에 대한 액세스를 세밀하게 관리할 수 있는 Azure Resource Manager 기반의 권한 부여 시스템
▪ 역할 할당(role assignments)을 통해서 권한 관리가 되며, 역할 할당에는 '보안주체' , '역할 정의', '범위'의 요소로 구성
Role assignments - 역할 할당
▪ Security principal - 보안주체
- 사용자
- 그룹
Azure Active Directory에서 만든 사용자 집합
- 서비스 주체(Service principal)
애플리케이션 또는 서비스에서 특정 Azure 리소스에 액세스하기 위해 사용하는 보안 ID
- Managed identity
Auzre 리소스에 대한 액세스를 요청하는 관리 ID
▪ Role definition - 역할 정의
- 권한의 모음(collection of permissions)이며, 일반적으로 역할(role)이라고 함.
- 읽기, 쓰기, 삭제와 같은 수행 가능한 작업 정의
- Azure에서 제공되는 기본 제공 역할
소유자(owner) : 권한 위임을 포함한 전체 권한
기여자(contributor) : 권한 위임을 제외한 모든 권한
읽기 권한자(Reader) : 기존 리소스 읽기 가능
사용자 액세스 관리자(User Access Administrator) : 사용자 엑세스 관리
※ 기타 세부 리소스에 대한 다양한 기본 제공 역할이 있음.
▪ Scope - 범위
- 액세스가 적용되는 리소스의 세트
- 관리 그룹(Management Group), 구독, 리소스그룹, 리소스 등으로 지정이 가능.
역할 할당 관련
▪ RBAC은 추가 모델(additive model)이므로, 다수의 역할이 할당된 경우에 모든 역할의 합집합으로 적용
▪ 역할 할당 시에 허용 역할 이외에 거부 할당도 가능하며, 거부 할당이 허용 할당보다 우선 순위가 높음
역할 정의 시에 사용하는 속성 값
roleName : 역할명
name : 역할의 고유 ID
type : CustoomRole / BuiltInRole
description : 역할 설명
actions [] : 역할에서 수행 가능한 작업
notActions [] : 허용 Action에서 제외하는 작업
dataActions [] : 역할에서 수행 가능한 데이터 작업
notDataActions [] : 허용 Action에서 제외하는 데이터 작업
assignableScopes [] : 역할을 할당 할 수 있는 범위 지정
작업 형식(Operation format)
{Company}.{ProviderName}/{resourceType}/{action}
▪ action 부분에 작업 유형 설정
- *
- read : 읽기 작업(get)
- write : 쓰기 작업(put,patch)
- action : 사용자 지정 작업(post)
- delete : 삭제 작업
MS 사이트에서 보다 더 자세하게 알아보기