

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

# 액세스 제어의 유형
<a name="access-control-types"></a>

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

## RBAC
<a name="rbac"></a>

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

RBAC 모델은 다음과 같은 경우 효과가 떨어집니다. 
+ 여러 역할을 포함하는 고유한 사용자가 있습니다. 
+ 역할을 정의하기 어렵게 만드는 복잡한 비즈니스 로직이 있습니다. 
+ 대규모로 확장하려면 권한을 지속적으로 관리하고 새 역할 및 기존 역할에 매핑해야 합니다. 
+ 권한 부여는 동적 파라미터를 기반으로 합니다.

## ABAC
<a name="abac"></a>

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

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

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

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

## RBAC-ABAC 하이브리드 접근 방식
<a name="hybrid"></a>

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

## 액세스 제어 모델 비교
<a name="comparison"></a>

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


|  |  |  |  | 
| --- |--- |--- |--- |
| **팩터** | **RBAC** | **ABAC** | **하이브리드** | 
| **유연성** | 중간  | 높음 | 높음 | 
| **단순성** | 높음 | 낮음 | 중간 | 
| **세부 수준** | 낮음 | 높음 | 중간 | 
| **동적 결정 및 규칙** | 아니요 | 예 | 예 | 
| **컨텍스트 인식** | 아니요 | 예 | 약간 | 
| **구현 작업** | 낮음 | 높음 | 중간 | 