역할 기반 액세스 제어(RBAC)
역할 기반 액세스 제어(RBAC)는 리소스 액세스를 할당된 역할에 따라 권한이 부여된 사용자로 제한하는 보안 방법입니다. SUSE Multi-Linux Manager에서 RBAC는 사용자가 명시적인 권한이 있는 작업만 수행하고 리소스에 액세스할 수 있도록 하여 보안을 강화하고 관리를 간소화합니다.
RBAC의 핵심 원칙에는 다음이 포함됩니다.
-
최소 권한 원칙: 사용자가 작업을 수행하는 데 필수적인 액세스 권한만 부여합니다.
-
세분화된 제어: 구체적인 기능을 세밀하게 제어할 수 있습니다.
-
분리 원칙: 한 명의 사용자가 중요한 프로세스를 너무 많이 제어하는 것을 방지합니다.
-
감사 가능성: 사용자 행동 및 권한에 대한 명확한 추적을 허용합니다.
1. 주요 RBAC 개념
효율적인 RBAC 관리를 위해서는 다음 핵심 개념을 이해하는 것이 매우 중요합니다.
-
역할: SUSE Multi-Linux Manager 내에서 특정 기능 세트를 정의하는 권한 모음입니다. 역할은 사용자에게 할당되어 사용자에게 통합 권한을 부여합니다.
역할은 사용자에게 할당되어 사용자에게 통합 권한을 부여합니다.
-
권한: SUSE Multi-Linux Manager 내에서 특정 작업을 수행하거나, 특정 웹 페이지에 액세스하거나, 특정 API 엔드포인트를 호출하기 위한 단일 권한 부여입니다. SUSE Multi-Linux Manager에서 권한은 네임스페이스와 해당 액세스 모드로 표시됩니다.
-
사용자: SUSE Multi-Linux Manager과(와) 상호 작용하는 개별 계정입니다. 사용자에게는 하나 이상의 역할이 할당됩니다.
-
네임스페이스: 트리와 유사한 구조로 구성된 액세스 제어의 세분화된 단위입니다. 대부분의 네임스페이스에는 "보기" 또는 "수정" 모드가 있습니다.
2. SUSE Multi-Linux Manager의 사용자 역할
SUSE Multi-Linux Manager은(는) 사전 정의된 역할을 제공하며, 추가적인 사용자 정의 역할을 정의하는 것을 허용합니다. 선택 사항으로 다른 역할 조합으로부터 상속받을 수 있습니다.
2.1. 사전 정의된 역할
사전 정의 역할 및 해당 설명에 대한 전체 목록은 administration:users.adoc#administrator-roles에서 확인할 수 있습니다.
3. 세부 액세스 관리를 위한 네임스페이스
네임스페이스는 트리 구조로 구성된 세부적인 액세스 제어를 제공합니다. 대부분의 네임스페이스에서, 네임스페이스 내 액세스는 "보기" 및 "수정" 모드로 더욱 세분화됩니다.
| 네임스페이스 | 액세스 모드 | 설명 |
|---|---|---|
|
수정 |
컨테이너 또는 Kiwi 이미지 빌드 |
|
수정 |
등록된 이미지 저장소에서 컨테이너 이미지 임포트 |
|
보기 |
모든 이미지 나열 |
|
수정 |
이미지 삭제 |
|
보기 |
이미지 세부 정보, 패치, 패키지, 빌드 로그 및 클러스터 정보 보기 |
|
수정 |
이미지 검사, 재빌드, 삭제 |
|
보기 |
이미지 프로파일 세부 정보 보기 |
|
수정 |
이미지 프로파일 생성, 프로파일 세부 정보 편집 |
|
보기 |
모든 이미지 프로파일 나열 |
|
수정 |
이미지 프로파일 삭제 |
|
보기 |
이미지 저장소 세부 정보 보기 |
|
수정 |
이미지 저장소 생성, 저장소 세부 정보 편집 |
|
보기 |
모든 이미지 저장소 나열 |
|
수정 |
이미지 저장소 삭제 |
네임스페이스 및 해당 설명의 전체 목록은 access.listNamespaces API 메서드를 호출하여 확인할 수 있습니다. 요청 및 응답 형식을 포함한 자세한 내용은 SUSE Multi-Linux Manager API 문서를 참조하십시오.
4. RBAC 관리
현재 RBAC 역할 및 권한은 API를 통해서만 관리할 수 있습니다. 웹 UI를 통한 사용자 역할 할당은 사용자에서 확인할 수 있습니다.
4.1. API를 통한 RBAC 관리
SUSE Multi-Linux Manager API는 역할, 권한 및 사용자 할당을 프로그래밍 방식으로 관리할 수 있는 메서드를 제공합니다.
4.1.1. 액세스 API
이러한 API 메서드는 역할 및 관련 액세스를 관리합니다.
-
listNamespaces: SUSE Multi-Linux Manager에서 사용할 수 있는 네임스페이스, 액세스 모드 및 관련 설명을 나열합니다. -
listPermissions: 역할에 대해 허용되는 네임스페이스를 나열합니다. -
listRoles: SUSE Multi-Linux Manager의 기존 역할을 나열합니다. -
createRole: 새 역할을 생성하며, 선택 사항으로 기존 역할에서 권한을 복사합니다. -
deleteRole: 역할을 삭제합니다. -
grantAccess: 네임스페이스에 대한 접근 권한을 부여합니다. -
revokeAccess: 네임스페이스에 대한 액세스를 취소합니다.
4.1.2. 사용자 API
이러한 API 메서드는 사용자 역할 할당을 관리합니다.
-
listPermissions: 사용자에 대해 유효한 권한을 나열합니다. -
listRoles: 사용자에게 할당된 역할을 나열합니다. -
addRole: 사용자에게 역할을 할당합니다. -
removeRole: 사용자에게서 역할을 제거합니다.
요청 형식 및 응답 형식을 포함한 자세한 API 문서는 SUSE Multi-Linux Manager API 참조를 참조하십시오.
5. RBAC 모범 사례
이러한 모범 사례를 준수하면 효율적이고 관리하기 쉬운 보안 RBAC 환경을 유지하는 데 도움이 됩니다.
-
최소 권한 원칙: 항상 사용자에게 업무 수행에 필요한 최소한의 권한만 부여합니다. 과도하게 광범위한 권한 부여는 적합하지 않습니다.
-
정기 검토: 사용자에게 할당된 역할과 권한이 여전히 적절한지, 현재 보안 정책을 준수하는지 주기적으로 검토합니다.
-
역할 문서화: 생성하는 각 사용자 정의 역할의 목적과 권한을 명확하게 문서화합니다.
-
역할 분리: 한 명의 사용자가 중요한 프로세스를 너무 많이 제어하지 못하도록 업무 분리를 강제하는 역할을 구현합니다.