본문 바로가기

Cloud/AZURE

Azure RBAC : Part 1

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 사이트에서 보다 더 자세하게 알아보기