2.4. 역할 기반 액세스 제어

RBAC(역할 기반 액세스 제어)는 관리 사용자에 대한 권한 집합을 지정하는 메커니즘입니다. 이를 통해 여러 사용자가 무제한 액세스 권한 없이도 JBoss EAP 서버를 관리하는 책임을 공유할 수 있습니다. JBoss EAP는 관리 사용자를 위한 업무 분리를 통해 조직이 불필요한 권한을 부여하지 않고도 개인 또는 그룹 간에 책임을 쉽게 분배할 수 있도록 합니다. 이렇게 하면 구성, 배포 및 관리에 대한 유연성을 제공하면서 서버 및 데이터의 최대한의 보안이 보장됩니다.

JBoss EAP의 RBAC는 역할 권한과 제약 조건의 조합을 통해 작동합니다. 사전 정의된 7개의 역할이 제공되며 모든 역할은 수정된 권한을 갖습니다. 각 관리 사용자에게는 서버를 관리할 때 사용자가 수행할 수 있는 작업을 지정하는 하나 이상의 역할이 할당됩니다.

JBoss EAP에 대해 RBAC는 기본적으로 비활성화되어 있습니다.

표준 역할

JBoss EAP는 사전 정의된 7가지 사용자 역할을 제공합니다. monitor,Operator,Maintainer,Deployer,Auditor,AdministratorSuperUser. 각 역할에는 다른 권한 집합이 있으며 특정 사용 사례에 맞게 설계되었습니다. Monitor,Operator,Maintainer,AdministratorSuperUser 역할은 상호 간에 성공적으로 빌드되며 각 역할은 이전보다 더 많은 권한이 있습니다. 감사자배포자 역할은 각각 Monitor 및 Maintainer 역할과 비슷하지만 몇 가지 특별 권한 및 제한이 있습니다.

모니터
Monitor 역할의 사용자는 가장 적은 권한이 있으며 서버의 현재 구성 및 상태만 읽을 수 있습니다. 이 역할은 서버 성능을 추적하고 보고해야 하는 사용자를 위한 것입니다. 모니터 는 서버 구성을 수정할 수 없으며 중요한 데이터 또는 작업에 액세스할 수 없습니다.
Operator
Operator 역할은 서버의 런타임 상태를 수정하는 기능을 추가하여 Monitor 역할을 확장합니다. 즉, Operator 는 서버를 다시 로드하고 종료하고 자카르타 메시징 대상을 일시 중지하고 다시 시작할 수 있습니다. Operator 역할은 애플리케이션 서버의 실제 또는 가상 호스트를 담당하는 사용자에게 이상적입니다. 따라서 필요한 경우 서버를 종료하고 올바르게 다시 시작할 수 있습니다. Operator 는 서버 구성을 수정하거나 중요한 데이터 또는 작업에 액세스할 수 없습니다.
유지 관리자
유지 관리 대상 역할에는 민감한 데이터 및 작업을 제외하고 런타임 상태 및 모든 구성을 보고 수정할 수 있습니다. 유지 관리 역할은 중요한 데이터 및 작업에 액세스할 수 없는 범용 역할입니다. 유지 관리 역할을 사용하면 사용자에게 암호 및 기타 중요한 정보에 대한 액세스 권한을 부여하지 않고 서버를 관리할 수 있는 거의 모든 액세스 권한이 부여될 수 있습니다. 유지 관리자는 중요한 데이터 또는 작업에 액세스할 수 없습니다.
관리자
Administrator 역할은 감사 로깅 시스템을 제외한 서버의 모든 리소스 및 작업에 대한 무제한 액세스 권한을 갖습니다. Administrator 역할은 중요한 데이터 및 작업에 액세스할 수 있습니다. 이 역할은 액세스 제어 시스템을 구성할 수도 있습니다. Administrator 역할은 중요한 데이터를 처리하거나 사용자 및 역할을 구성할 때만 필요합니다. 관리자는 감사 로깅 시스템에 액세스할 수 없으며 Auditor 또는 SuperUser 역할로 변경할 수 없습니다.
수퍼유저
SuperUser 역할에 제한이 없으며 감사 로깅 시스템을 포함하여 서버의 모든 리소스와 작업에 대한 전체 액세스 권한이 있습니다. RBAC가 비활성화되면 모든 관리 사용자에게 SuperUser 역할과 동일한 권한이 있습니다.
deployer
Deployer 역할에는 Monitor (모니터)와 동일한 권한이 있지만, 배포의 구성 및 상태와 애플리케이션 리소스로 활성화된 기타 리소스 유형을 수정할 수 있습니다.
감사자
Auditor 역할에는 Monitor 역할의 모든 권한이 있으며 중요한 데이터를 보고 수정할 수도 있습니다. 감사 로깅 시스템에 대한 전체 액세스 권한이 있습니다. Auditor 역할은 감사 로깅 시스템에 액세스할 수 있는 SuperUser 이외의 유일한 역할입니다. 감사 자는 중요한 데이터 또는 리소스를 수정할 수 없습니다. 읽기 액세스만 허용됩니다.

권한

권한은 각 역할에 수행할 수 있는 작업을 결정합니다. 모든 역할에 모든 권한이 있는 것은 아닙니다. 특히 SuperUser 에는 모든 권한이 있으며 Monitor 에 가장 적은 권한이 있습니다. 각 권한은 단일 리소스 범주에 대한 읽기 및/또는 쓰기 액세스 권한을 부여할 수 있습니다. 카테고리는 런타임 상태, 서버 구성, 중요한 데이터, 감사 로그 및 액세스 제어 시스템입니다.

표 2.1. 모니터, Operator, 유지 보수 및 배포자에 대한 각 역할의 권한

 모니터Operator유지 관리자deployer

설정 및 상태 읽기

중요한 데이터 2읽기

    

중요한 데이터 2수정

    

감사 로그 읽기/수정

    

런타임 상태 수정

 

1

영구 설정 수정

  

1

액세스 제어 읽기/수정

    

1 권한은 애플리케이션 리소스로 제한됩니다.

표 2.2. 감사자, 관리 및 SuperUser에 대한 각 역할의 권한

 감사자관리자수퍼유저

설정 및 상태 읽기

중요한 데이터 2읽기

중요한 데이터 2수정

 

감사 로그 읽기/수정

 

런타임 상태 수정

 

영구 설정 수정

 

액세스 제어 읽기/수정

 

2 민감도 데이터를 사용하여 구성하는 리소스는 무엇입니까.

Constraints

제약 조건은 지정된 리소스 목록에 대한 access-control 구성 세트로 지정됩니다. RBAC 시스템은 제약 조건과 역할 권한의 조합을 사용하여 특정 사용자가 관리 작업을 수행할 수 있는지 확인합니다.

제한 조건은 다음 세 가지 분류로 나뉩니다.

애플리케이션 제한
애플리케이션 제약 조건은 배포자 사용자가 액세스할 수 있는 리소스 및 속성 집합을 정의합니다. 기본적으로 활성화된 유일한 애플리케이션 제한 조건은 배포 및 배포 오버레이를 포함하는 core입니다. 또한 애플리케이션 제약 조건도 데이터 소스, 로깅, 메일, 메시징, 이름 지정, 리소스 어댑터 및 보안에 대해 기본적으로 활성화되어 있지 않습니다. 이러한 제약 조건을 통해 배포자 사용자는 애플리케이션을 배포할 뿐만 아니라 해당 애플리케이션에 필요한 리소스를 구성하고 유지 관리할 수 있습니다.
민감도 제한
민감도 제한 조건은 중요한 리소스 집합을 정의합니다. 일반적으로 중요한 리소스는 암호와 같은 비밀 또는 네트워킹, JVM 구성 또는 시스템 속성과 같이 서버 작동에 심각한 영향을 미치는 리소스입니다. 액세스 제어 시스템 자체도 중요한 것으로 간주됩니다. 중요한 리소스에 쓰기에 허용되는 유일한 역할은 Administrator 및 SuperUser입니다. Auditor 역할은 중요한 리소스만 읽을 수 있습니다. 다른 역할에는 액세스할 수 없습니다.
Vault 표현식 제한
vault 표현식 제약 조건은 자격 증명 모음 식을 읽고 쓰는 것이 중요한 작업으로 간주되는지를 정의합니다. 기본적으로 자격 증명 모음 표현식을 읽고 쓰는 것은 중요한 작업입니다.

2.4.1. RBAC 구성

RBAC가 이미 활성화되어 있는 경우 사용자 또는 그룹 수준에서 구성을 변경하려면 SuperUser 또는 Administrator 역할이 할당되어 있어야 합니다.

절차

  1. 다음 명령을 사용하여 RBAC를 활성화합니다.

    /core-service=management/access=authorization:write-attribute(name=provider,value=rbac)
  2. SuperUser 또는 JBoss EAP의 관리자로 RBAC를 구성합니다.

    • 읽기 전용 액세스 권한이 있는 Monitor 역할과 같이 지원되는 역할 중 하나를 추가하려면 다음 명령을 사용합니다.

      /core-service=management/access=authorization/role-mapping=Monitor:add()
      참고

      Monitor 역할 및 추가할 수 있는 기타 지원되는 역할에 대한 자세한 내용은 역할 기반 액세스 제어를 참조하십시오.

    • Monitor 역할과 같은 사용자를 특정 역할에 추가하려면 다음 명령을 사용합니다.

      /core-service=management/access=authorization/role-mapping=Monitor/include=user-timRO:add(name=timRO,type=USER)
    • Monitor 역할과 같은 특정 역할에 그룹을 추가하려면 다음 명령을 사용합니다.

      /core-service=management/access=authorization/role-mapping=Monitor/include=group-LDAP_MONITORS:add(name=LDAP_MONITORS, type=GROUP)
    • 특정 역할에서 사용자 또는 그룹을 제외하려면 다음 명령을 사용하십시오.

      /core-service=management/access=authorization/role-mapping=Monitor/exclude=group-LDAP_MONITORS:add(name=LDAP_, type=GROUP)
  3. 서버 또는 호스트를 다시 시작하여 RBAC 구성으로 작동할 수 있습니다.

    • 호스트 시스템을 다시 시작하려면 다음 명령을 사용하십시오.

      reload --host=master
    • 독립 실행형 모드에서 서버를 다시 시작하려면 다음 명령을 사용하십시오.

      reload