액세스 제어의 유형 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

액세스 제어의 유형

광범위하게 정의된 두 가지 모델인 역할 기반 액세스 제어(RBAC)와 속성 기반 액세스 제어(ABAC)를 사용하여 액세스 제어를 구현할 수 있습니다. 각 모델에는 장단점이 있으며,이 단원에서는 이에 대해 간략하게 설명합니다. 사용해야 하는 모델은 특정 사용 사례에 따라 다릅니다. 이 가이드에서 설명하는 아키텍처는 두 모델을 모두 지원합니다.

RBAC

역할 기반 액세스 제어(RBAC)는 일반적으로 비즈니스 로직과 일치하는 역할을 기반으로 리소스에 대한 액세스를 결정합니다. 권한은 역할에 적절하게 연결됩니다. 예를 들어 마케팅 역할은 사용자에게 제한된 시스템 내에서 마케팅 활동을 수행할 수 있는 권한을 부여합니다. 이는 쉽게 인식할 수 있는 비즈니스 로직에 잘 부합하기 때문에 구현해야 할 비교적 간단한 액세스 제어 모델입니다. 

RBAC 모델은 다음과 같은 경우 효과가 떨어집니다. 

  • 여러 역할을 포함하는 고유한 사용자가 있습니다. 

  • 역할을 정의하기 어렵게 만드는 복잡한 비즈니스 로직이 있습니다. 

  • 대규모로 확장하려면 권한을 지속적으로 관리하고 새 역할 및 기존 역할에 매핑해야 합니다. 

  • 권한 부여는 동적 파라미터를 기반으로 합니다.

ABAC

속성 기반 액세스 제어(ABAC)는 속성을 기반으로 리소스에 대한 액세스를 결정합니다. 속성은 사용자, 리소스, 환경 또는 애플리케이션 상태와 연결할 수 있습니다. 정책 또는 규칙은 속성을 참조하며 기본 부울 로직을 사용하여 사용자가 작업을 수행할 수 있는지 여부를 결정할 수 있습니다. 다음은 권한의 기본 예입니다. 

결제 시스템에서 재무 부서의 모든 사용자는 업무 시간 /payments 중에 API 엔드포인트에서 결제를 처리할 수 있습니다.

재무 부서의 멤버십은에 대한 액세스를 결정하는 사용자 속성입니다/payments. 또한 업무 시간 중에만 액세스를 허용하는 /payments API 엔드포인트와 연결된 리소스 속성이 있습니다. ABAC에서 사용자가 결제를 처리할 수 있는지 여부는 재무 부서 멤버십을 사용자 속성으로 포함하고 시간을 리소스 속성으로 포함하는 정책에 따라 결정됩니다/payments.

ABAC 모델은 동적, 컨텍스트 및 세분화된 권한 부여 결정을 허용하는 데 매우 유연합니다. 그러나 ABAC 모델은 처음에 구현하기가 어렵습니다. 규칙 및 정책을 정의하고 모든 관련 액세스 벡터의 속성을 열거하려면 상당한 선결제 투자가 필요합니다.

RBAC-ABAC 하이브리드 접근 방식

RBAC와 ABAC를 결합하면 두 모델의 몇 가지 이점을 얻을 수 있습니다. 비즈니스 로직과 매우 밀접하게 정렬되는 RBAC는 ABAC보다 구현하기가 더 간단합니다. 권한 부여 결정을 내릴 때 추가 세분화 계층을 제공하기 위해 ABAC를 RBAC와 결합할 수 있습니다. 이 하이브리드 접근 방식은 사용자의 역할(및 할당된 권한)을 추가 속성과 결합하여 액세스 결정을 내림으로써 액세스를 결정합니다. 두 모델을 모두 사용하면 권한 관리 및 할당을 간소화하는 동시에 권한 부여 결정과 관련된 유연성과 세밀성을 높일 수 있습니다.

액세스 제어 모델 비교

다음 표에서는 앞서 설명한 세 가지 액세스 제어 모델을 비교합니다. 이 비교는 유익하고 높은 수준의 비교를 위한 것입니다. 특정 상황에서 액세스 모델을 사용하는 것이이 표에서 이루어진 비교와 반드시 상관관계가 있는 것은 아닙니다.

팩터

RBAC

ABAC

하이브리드

유연성

중간 

높음

높음

단순성

높음

낮음

중간

세부 수준

낮음

높음

중간

동적 결정 및 규칙

아니요

컨텍스트 인식

아니요

약간

구현 작업

낮음

높음

중간