Azure RBAC란?

ID 관련해서 클라우드 쓰려면 걱정되는 두가지..

  1. 퇴사 시 리소스 접근 권한 제거
  2. 자율성, 거버넌스 사이 균형 유지

Entra ID + RBAC 위 문제 해결 가능!

Azure 구독

Azure 구독 Entra 디렉토리와 연결돼있음 디렉토리의 사용자, 그룹, 앱 등은 구독의 리소스 관리 가능. Entra Connect로 온프레미스 AD를 클라우드로 확장 가능. 온프레미스 AD 계정 비활성화 시 Entra ID와 연결된 구독에 대한 권한 자동 상실

Azure RBAC란?

리소스에 대한 접근을 관리하는 Resource manager 기반 권한 부여 시스템. 작업에 필요한 정확한 접근 권한 부여 가능. 예시) 한 사람은 구독의 VM 관리, 다른 사람은 동일한 구독 내 SQL DB 관리

상황에 적합한 역할 할당으로 접근 권한 부여 가능. 할당의 범위: 구독, 리소스 그룹, 리소스… 당연히 구독으로 할당하면 그 하위의 자식 범위까지 다 사용 가능하겠죠 멋있게 말하면 상속된다는 말임 ㅇㅇ

클래식 구독 관리자 역할, Azure 역할 및 Microsoft Entra 역할이 상위 수준에서 어떻게 관련되어 있는지 보여 주는 다이어그램.

Azure RBAC로 어떤 작업을 할 수 있나요?

본인이 조종하는 리소스에 대한 접근 권한 부여 가능. 개발, 엔지니어링, 마케팅 등 팀의 리소스 접근 권한 관리해야 한다면?

  • 한 사용자는 VM 관리, 다른 사용자는 VPN 관리
  • DB 관리자 그룹이 SQL DB 관리
  • 사용자는 VM, 웹사이트, 서브넷 등이 있는 리소스 그룹 관리
  • 앱이 모든 리소스에 접근

Azure Portal의 Azure RBAC

IAM이라는 액세스 제어가 있음. ID 및 액세스 관리 라고도 부름.

백업 연산자 섹션이 강조 표시된 액세스 제어 역할 할당 창을 보여 주는 Azure Portal 스크린샷

위 그림을 보면 Alain에게 리소스 그룹의 백업 운영자 역할이 주어짐.

Azure RBAC의 작동 원리

역할 할당을 생성하여 RBAC 쓰는 리소스에 접근 제어 가능. 보안 주체, 역할 정의, 범위 = 누구, 무엇, 어디

1. 보안 주체 (WHO)

권한 부여할 사용자, 그룹, 애플리케이션

사용자, 그룹 및 서비스 주체를 포함한 보안 주체를 보여 주는 그림입니다.

2. 역할 정의 (WHAT)

역할 정의 = 권한 컬렉션. =역할. 읽기, 쓰기, 삭제 등의 수행 가능한 권한 나열됨. 소유자 처럼 대략적일 수도 있고, VM 기반 기여자 처럼 구체적일 수도 있음.

여러 기본 제공 역할과 사용자 지정 역할이 나열되어 있고, 기여자 역할에 대한 정의가 확대된 그림입니다.

Azure에는 기본 제공 역할이 몇 가지 있는데, 앞선 문서에서 언급했으니 간단히 말함. 소유자, 기여자, 읽기 권한자, 사용자 접근 관리자. 이 역할들 맘에 안들면 사용자 지정 역할 만들면 됨. 커스텀 역할임.

3. 범위 (WHERE)

접근 권한이 적용되는 대상. 단일 리소스 그룹에만 기여자로 지정하려는 경우에 유용. 알다시피 여러 수준(구독, 리소스 그룹…)에서 구독 지정 가능. 상속받는거 위에서 언급했제

역할 할당

위 3가지를 결정했으면 권한 부여 가능. 역할 할당은 권한 부여를 위해 ‘특정 범위’에서 ‘보안 주체’에게 ‘역할’을 바인딩 함. 아래 예시 그림 참조.

보안 주체, 역할 정의, 범위의 조합인 마케팅 그룹에 대한 샘플 역할 할당 프로세스를 보여 주는 일러스트레이션. 마케팅 그룹은 그룹 보안 주체 아래에 있으며 리소스 그룹 범위에 대해 참가자 역할을 할당합니다.

Azure RBAC는 허용 모델이다.

= 역할이 할당되면 특정 작업 수행을 허용한다. = 하나의 역할이 리소스 그룹에 읽기 권한, 다른 역할이 쓰기 권한 부여 시 ‘읽기 및 쓰기’권한 가짐.

NoActions로 허용하지 않는 권한 세트 생성 가능. 권한은 Actions에서 NoActions를 빼고 계산됨.