Red Hat Training
A Red Hat training course is available for RHEL 8
15.4. 가상 머신 사용자가 사용할 수 있는 작업 제한
경우에 따라 RHEL 8에서 호스팅되는 VM(가상 머신)의 사용자가 기본적으로 수행할 수 있는 작업은 보안 위험이 발생할 수 있습니다. 이 경우 호스트 시스템에서 polkit
정책 툴킷을 사용하도록 libvirt
데몬을 구성하여 VM 사용자가 사용할 수 있는 작업을 제한할 수 있습니다.
절차
선택 사항:
libvirt
와 관련된 시스템의polkit
제어 정책이 기본 설정에 따라 설정되어 있는지 확인합니다./usr/share/polkit-1/actions/
및/usr/share/polkit-1/rules.d/
디렉토리에서 모든 libvirt 관련 파일을 찾습니다.# ls /usr/share/polkit-1/actions | grep libvirt # ls /usr/share/polkit-1/rules.d | grep libvirt
파일을 열고 규칙 설정을 검토합니다.
polkit
제어 정책의 구문을 읽는 방법에 대한 자세한 내용은man polkit
을 사용합니다.libvirt
제어 정책을 수정합니다. 이렇게 하려면 다음을 수행합니다.-
/etc/polkit-1/
디렉터리에 새 .rules 파일을 만듭니다.rules.
d/ 사용자 지정 정책을 이 파일에 추가하고 저장합니다.
libvirt
제어 정책의 예제와 자세한 내용은libvirt
업스트림 문서를 참조하십시오.
-
polkit
에 의해 결정된 액세스 정책을 사용하도록 VM을 구성합니다.이렇게 하려면
/etc/libvirt/libvirtd.conf
파일에서access_drivers = [polkit" ]
행의 주석을 해제합니다.# sed -i 's/#access_drivers = \[ "polkit" \]/access_drivers = \[ "polkit" \]/' /etc/libvirt/libvirtd.conf
libvirtd
서비스를 다시 시작합니다.# systemctl restart libvirtd
검증
제한하려는 VM 작업의 사용자로 제한된 작업 중 하나를 수행합니다.
예를 들어 권한이 없는 사용자가 시스템 세션에서 생성된 VM을 볼 수 없는 경우:
$ virsh -c qemu:///system list --all Id Name State -------------------------------
시스템에 하나 이상의 VM이 있어도 이 명령에 VM이 나열되지 않은 경우
polkit
은 권한이 없는 사용자에 대한 작업을 성공적으로 제한합니다.
문제 해결
현재
polkit
을 사용하도록libvirt
를 구성하면libvirt-dbus
서비스와 호환되지 않아 RHEL 8 웹 콘솔을 사용하여 VM에 연결할 수 없습니다.웹 콘솔에서 VM에 대한 액세스를 세밀하게 제어해야 하는 경우 사용자 지정 D-Bus 정책을 생성합니다. 자세한 내용은 Red Hat 지식베이스 의 Cockpit에서 가상 머신을 세부적으로 제어하는 방법을 참조하십시오.
추가 리소스
-
man polkit
명령 -
polkit 액세스 제어 정책에대한
libvirt
업스트림 정보