역할 기반 액세스 제어(RBAC)

역할 기반 액세스 제어(RBAC)는 사용자가 할당된 역할에 따라 권한이 있는 자원에 대한 접근을 제한하는 보안 방법입니다. SUSE Manager에서 RBAC는 사용자가 명시적으로 승인된 작업만 수행하고 자원에 액세스할 수 있도록 보장하여 보안을 강화하고 관리의 단순화를 도모합니다.

RBAC의 핵심 원칙에는 다음이 포함됩니다.

  • 최소 권한 원칙: 사용자가 작업을 수행하는 데 필수적인 액세스 권한만 부여합니다.

  • 세분화된 제어: 구체적인 기능을 세밀하게 제어할 수 있습니다.

  • 역할 분리: 한 명의 사용자가 중요한 프로세스를 너무 많이 제어하는 것을 방지합니다.

  • 감사 가능성: 사용자 행동 및 권한에 대한 명확한 추적을 허용합니다.

1. 주요 RBAC 개념

효율적인 RBAC 관리를 위해서는 다음 핵심 개념을 이해하는 것이 매우 중요합니다.

  • 역할: SUSE Manager 내에서 특정 기능 집합을 정의하는 권한의 모음입니다. 역할은 사용자에게 할당되어 사용자에게 통합 권한을 부여합니다.

    역할은 사용자에게 할당되어 사용자에게 통합 권한을 부여합니다.

  • 권한: 특정 작업을 수행하거나 특정 웹 페이지에 접근하거나 SUSE Manager 내에서 특정 API 엔드포인트를 호출하기 위한 원자적 권한입니다. SUSE Manager에서 권한은 네임스페이스와 그 액세스 모드로 표현됩니다.

  • 사용자: SUSE Manager와 상호작용하는 개별 계정입니다. 사용자는 하나 이상의 역할을 할당받습니다.

  • 네임스페이스: 트리 구조로 조직된 세분화된 액세스 제어 단위입니다. 대부분의 네임스페이스는 구별되는 "보기" 또는 "수정" 모드를 가지고 있습니다.

2. SUSE Manager의 사용자 역할

SUSE Manager은(는) 사전 정의된 역할을 제공하며, 추가적인 사용자 정의 역할을 정의하는 것을 허용합니다. 선택 사항으로 다른 역할 조합으로부터 상속받을 수 있습니다.

2.1. 사전 정의된 역할

사전 정의된 역할 및 그 설명의 전체 목록은 administration:users.adoc#administrator-roles을(를) 참조하십시오.

2.2. 추가 역할 정의

추가 역할을 정의하려면 다음을 수행합니다.

  • 기존 역할 중 권한을 상속받을 역할을 선택합니다.

  • 액세스 권한을 부여할 추가 네임스페이스를 지정합니다.

3. 세부 액세스 관리를 위한 네임스페이스

네임스페이스는 트리 구조로 조직된 세분화된 액세스 제어를 제공합니다. 대부분의 네임스페이스에서 네임스페이스 내의 액세스는 "보기" 및 "수정" 모드로 더욱 세분화됩니다.

Table 1. 예: 이미지 관리 네임스페이스 및 액세스 모드
네임스페이스 액세스 모드 설명

cm.build

수정

컨테이너 또는 키위 이미지를 빌드합니다.

cm.image.import

수정

등록된 이미지 저장소에서 컨테이너 이미지를 가져옵니다.

cm.image.list

보기

모든 이미지를 나열합니다.

cm.image.list

수정

이미지를 삭제합니다.

cm.image.overview

보기

이미지 세부정보, 패치, 패키지, 빌드 로그 및 클러스터 정보를 봅니다.

cm.image.overview

수정

이미지를 검사하고, 재구성하고, 삭제합니다.

cm.profile.details

보기

이미지 프로파일의 세부정보를 봅니다.

cm.profile.details

수정

이미지 프로파일을 생성하고, 프로파일 세부정보를 편집합니다.

cm.profile.list

보기

모든 이미지 프로파일을 나열합니다.

cm.profile.list

수정

이미지 프로파일을 삭제합니다.

cm.store.details

보기

이미지 저장소의 세부정보를 봅니다.

cm.store.details

수정

이미지 저장소를 생성하고 저장소 세부정보를 편집합니다.

cm.store.list

보기

모든 이미지 저장소를 나열합니다.

cm.store.list

수정

이미지 저장소를 제거합니다.

네임스페이스와 그 설명의 포괄적인 목록은 access.listNamespaces API 메서드를 호출하여 검색할 수 있습니다. 요청 및 응답 형식을 포함한 자세한 정보는 SUSE Manager API 문서를 참조하십시오.

4. RBAC 관리

RBAC 역할 및 권한 관리는 API 또는 Web UI을 통해 가능합니다. 웹 UI를 통해 사용자에게 역할을 할당하려면 사용자를 참조하십시오.

4.1. API를 통한 RBAC 관리

SUSE Manager API는 역할, 권한 및 사용자 할당을 프로그래밍 방식으로 관리할 수 있는 메서드를 제공합니다.

4.1.1. access API

이러한 API 메서드는 역할 및 관련 액세스를 관리합니다.

  • listNamespaces: SUSE Manager에서 사용할 수 있는 네임스페이스, 액세스 모드 및 관련 설명을 나열합니다.

  • listPermissions: 역할의 허용된 네임스페이스를 나열합니다.

  • listRoles: SUSE Manager에 있는 기존 역할을 나열합니다.

  • createRole: 새 역할을 생성하며, 선택 사항으로 기존 역할에서 권한을 복사합니다.

  • deleteRole: 역할을 삭제합니다.

  • grantAccess: 네임스페이스에 대한 액세스를 부여합니다.

  • revokeAccess: 네임스페이스에 대한 액세스를 철회합니다.

4.1.2. user API

이러한 API 메서드는 사용자 역할 할당을 관리합니다.

  • listPermissions: 사용자의 유효한 권한을 나열합니다.

  • listRoles: 사용자에게 할당된 역할을 나열합니다.

  • addRole: 사용자에게 역할을 할당합니다.

  • removeRole: 사용자에게서 역할을 제거합니다.

요청 형식 및 응답 형식을 포함한 자세한 API 문서는 SUSE Manager API 참조를 참조하십시오.

5. RBAC 모범 사례

이러한 모범 사례를 준수하면 효율적이고 관리하기 쉬운 보안 RBAC 환경을 유지하는 데 도움이 됩니다.

  • 최소 권한 원칙: 사용자가 자신의 업무를 수행하는 데 필요한 최소한의 권한만 부여합니다. 너무 광범위한 권한을 피하십시오.

  • 정기 검토: 사용자에게 할당된 역할과 권한이 여전히 적절한지, 현재 보안 정책을 준수하는지 주기적으로 검토합니다.

  • 역할 문서화: 생성하는 각 사용자 정의 역할의 목적과 권한을 명확하게 문서화합니다.

  • 역할 분리: 한 명의 사용자가 중요한 프로세스에 대한 과도한 제어를 하지 못하도록 업무 분리를 강제하는 역할을 구현합니다.