키워드: 권한 관리 모델
요즘 소프트웨어 분야, 특히 B2 SaaS 기반 소프트웨어의 경우 점점 더 높은 수준의 권한이 필요하고 권한이 점점 더 복잡해지고 있는데, 업계에서 공통적으로 사용하는 권한 관리 모델이 있나요? 네, 있습니다!
SaaS에서 사용되는 다양한 권한 관리 모델과 이러한 모델이 증가하는 사용자 수, 다양한 리소스 유형, 진화하는 비즈니스 프로세스에 어떻게 대처하는지 간략하게 살펴봅니다. 이러한 모델을 자세히 살펴봄으로써 디지털 시대에 기업의 성공을 견고하게 지원할 수 있는 더 스마트하고 유연한 권한 관리 정책을 SaaS에 제공할 수 있습니다.
실제 코드 쇼는 없으며, 저작권 관리 모델에 대한 약간의 과학적 지식이 있을 뿐입니다.
일반적인 권한 관리 모델
일반적인 권한 모델이 무엇인지 결정하기만 하면 됩니다.
- DAC : 사용자는 리소스에 대한 자율권을 가지며, 리소스 소유자는 다른 사용자에게 자유롭게 액세스 권한을 부여하거나 취소할 수 있습니다.
- MAC: 시스템 관리자가 리소스에 대한 사용자 액세스를 제어하는 일련의 필수 규칙을 정의합니다. 이러한 규칙은 사용자가 변경할 수 없으며 일반적으로 높은 수준의 보안이 요구되는 환경에서 사용됩니다.
- RBAC: 사용자를 역할로 그룹화하고 각 역할에 특정 권한을 부여하는 사용자 역할에 따라 권한이 할당됩니다. 이는 권한 관리를 간소화하며 특히 대규모 조직에 적합합니다.
- ABAC: 사용자 속성을 기반으로 액세스 권한을 제어합니다. 여기에는 사용자 속성, 환경 정보 등이 포함될 수 있어 세분화된 제어가 가능합니다.
- PBAC: 미리 정의된 정책에 따라 액세스 권한을 제어합니다. 정책에는 다양한 액세스 제어 요구에 유연하게 적응할 수 있도록 여러 규칙과 조건을 포함할 수 있습니다.
DAC
이 설계의 가장 일반적인 적용 사례는 Microsoft의 NTFS와 같은 파일 시스템 권한 설계입니다.
MAC
MAC(필수 액세스 제어)는 시스템 관리자가 미리 정의한 일련의 필수 규칙을 통해 리소스에 대한 사용자의 액세스를 결정하는 권한 관리 모델로서, 그 핵심 기능은 시스템 관리자가 미리 정의한 일련의 필수 규칙입니다. MAC 모델에서는 사용자가 이러한 규칙을 스스로 수정할 수 없으며, 이러한 불변성 때문에 MAC 모델은 보안 수준이 높은 환경에 적합합니다. 재량적 접근 제어와 달리 MAC은 리소스 소유자의 자율성보다는 시스템 수준에서의 강제적 제어를 강조합니다. 이 모델은 일반적으로 레이블 또는 레벨을 사용하여 사용자와 리소스의 보안 속성을 나타내며, 여러 수준의 보안 제어를 지원합니다. MAC은 보안이 중요한 군대, 정부 및 정보 기관에서 널리 사용됩니다. MAC 모델에서는 시스템 관리자의 정의가 사용자 및 리소스 액세스 권한에 매우 중요하며 전반적인 시스템 보안과 규정 준수를 보장합니다.
이 권한의 가장 큰 특징 중 하나는 권한 레이블과 수준입니다. 레이블 또는 수준은 사용자와 리소스에 대한 보안 수준을 나타내는 데 사용됩니다. 이러한 레이블은 사용자 및 리소스의 보안 속성을 반영하며 액세스가 허용되는지 여부를 결정하는 데 사용됩니다.
MAC 모델은 군사, 정부 및 정보 기관과 같이 보안이 중요한 분야에서 자주 사용됩니다.
예를 들어, 다양한 민감한 정보가 포함된 정부 기관의 파일 시스템을 생각해 보세요. MAC 모델에서:
- 시스템 관리자는 액세스 제어 규칙을 정의합니다(예: '일급 기밀' 레이블이 있는 사용자만 '일급 기밀' 수준의 파일에 액세스할 수 있도록 하는 등).
- 사용자는 자신의 보안 수준을 직접 변경하거나 시스템 관리자가 정의한 규칙을 우회하여 볼 수 없습니다.
- 이 파일은 일반 사용자인 사용자가 만들지만 보기만 할 수 있고 파일의 액세스 수준이나 편집 수준을 변경할 수 없습니다.
RBAC
역할 기반 접근 제어는 사용자 역할을 기반으로 접근 제어를 제공하는 것을 핵심으로 하는 권한 관리 모델입니다. RBAC 모델에서는 사용자에게 하나 이상의 역할이 할당되고 각 역할에는 특정 권한이 있으며 사용자는 역할을 통해 해당 액세스 권한을 얻습니다.
역할 기반 접근 제어 모델은 특히 2B 방향 SAAS 도메인에서 가장 널리 사용되는 모델 중 하나입니다.
가장 중요한 두 가지 핵심 요소는 권한과 역할의 연결과 특정 사용자에게 역할 재할당입니다;
ABAC
일부에서는 속성 기반 접근 제어 모델을 권한 시스템 설계의 미래라고 설명하기도 합니다.
사용자를 어떤 방식으로든 권한과 연결하는 일반적인 접근 방식과 달리 ABAC는 속성 또는 속성 집합이 특정 조건을 충족하는지 여부를 동적으로 계산하여 권한 판단을 내립니다.
사용자, 리소스 및 환경에는 모두 고유한 속성이 있습니다. 이러한 속성에는 사용자의 신원, 역할, 부서, 리소스 유형, 민감도 수준, 시간 등이 포함될 수 있습니다.
액세스 제어 정책은 속성을 일치시키고 조건을 평가하여 액세스를 허용할지 여부를 결정합니다. 예를 들어 사용자의 역할 속성이 '관리자'이고 리소스의 민감도 수준 속성이 '높음'인 경우 액세스가 허용됩니다.
예: 문서에 대한 액세스를 제어하기 위해 속성 기반 액세스 제어 모델을 사용하는 엔터프라이즈 문서 관리 시스템을 생각해 보세요. 이 예에서 액세스 제어 결정은 사용자 속성, 문서 속성 및 기타 환경적 요인에 따라 이루어집니다.
사용자 속성:
- 속성 1: 사용자 역할 - 사용 가능한 값으로는 '직원' 및 '관리자'가 있습니다.
- 속성 2: 사용자 분야 - '영업' 및 '엔지니어링'을 포함합니다.
문서 속성:
- 속성 1: 문서 유형 - '내부' 및 '기밀'을 포함합니다.
- 속성 2: 문서 부서 - 문서가 속한 부서를 지정합니다.
환경 속성:
- 속성 1: 액세스 시간 - 사용자가 문서에 액세스하는 시간을 결정합니다.
전략 정의:
- 규칙 1: 사용자 역할이 '관리자'이고 문서 유형이 '기밀'인 경우 액세스가 허용됩니다.
- 규칙 2: 문서 부서가 '영업'이고 액세스 시간이 근무 시간인 경우 직원 액세스가 허용됩니다.
액세스 요청의 예입니다:
- 사용자 A는 '관리자'이며 규칙 1의 일치로 인해 허용된 '기밀' 유형의 문서에 액세스하려고 합니다.
- 사용자 B는 '직원'이며 규칙 2의 일치로 인해 근무 시간 중에 허용되는 '내부' 유형의 문서에 액세스하려고 합니다.
이 예에서 ABAC 모델은 사용자, 문서, 환경의 속성을 일치시켜 액세스 권한을 결정합니다. 관리자는 조직의 필요에 따라 액세스 규칙을 정의하고 업데이트하여 보다 세분화되고 동적인 액세스 제어를 수행할 수 있습니다.
이 권한 설계는 데이터 속성에 중점을 둡니다;
PBAC
정책 기반 접근 제어는 정책 기반 접근 제어 모델로, 일련의 정책을 정의하고 시행하여 시스템 리소스에 대한 접근을 관리하는 것이 핵심입니다. PBAC에서 액세스 제어는 특정 조건에서 사용자가 수행할 수 있는 작업을 설명하는 규칙 및 조건 모음에 의해 결정됩니다.
PBAC는 ABAC와 동일한 수준의 접근 제어 모델이지만 접근 제어 정책을 재정의하고 적용하는 데 중점을 둡니다. 이러한 정책은 특정 조건에서 사용자가 수행할 수 있는 작업을 설명하는 일련의 규칙으로 구성됩니다.
예를 들어 보세요:
관리자가 정책 기반 액세스 제어를 사용하여 액세스 제어 정책을 정의하여 문서에 대한 액세스가 권한이 있는 사용자와 특정 조건으로 제한되도록 하는 엔터프라이즈 문서 관리 시스템을 생각해 보세요.
사용자 및 역할 정의:
- 역할 1: 직원
- 역할 2: 관리자
- 역할 3: 관리자
리소스 정의:
- 리소스 1: 프로젝트 문서
- 리소스 2: 재무 보고서
전략 정의:
- 정책 1: 사용자가 관리자인 경우 프로젝트 폴더에 대한 액세스를 허용합니다.
- 정책 2: 사용자가 관리자인 경우 재무 보고서 폴더에 대한 액세스를 허용합니다.
- 정책 3: 업무 시간 중에 액세스하는 경우 프로젝트 폴더와 재무 보고서 폴더에 대한 액세스를 허용합니다.
- 정책 4: 사용자가 정규 직원인 경우 근무 시간 중에만 프로젝트 폴더에 액세스할 수 있도록 허용합니다.
이러한 정책과 규칙의 조합을 통해 관리자는 파일에 대한 액세스 제어를 정의할 수 있습니다. 예를 들어, 관리자는 근무 시간 중에는 프로젝트 폴더에 액세스할 수 있는 반면, 재무 보고서 폴더에는 언제든지 액세스할 수 있습니다. 이 예는 PBAC 모델을 통해 유연한 정책 정의를 통해 리소스 액세스를 세밀하게 제어할 수 있는 방법을 보여줍니다. 관리자는 기업 요구사항에 따라 다양한 액세스 제어 요구사항에 맞게 이러한 정책을 조정하고 업데이트할 수 있습니다.





