27.18.6. SELinux 옵션


권한 있는 SCC를 제외한 사전 정의된 모든 SCC는 seLinuxContextMustRunAs 로 설정합니다. 따라서 포드의 요구 사항과 일치할 가능성이 가장 높은 SCC는 포드에서 SELinux 정책을 사용하도록 강제 적용합니다. 포드에서 사용하는 SELinux 정책은 포드 자체, 이미지, SCC 또는 프로젝트(기본값 제공)에 정의할 수 있습니다.

SELinux 레이블은 Pod의 securityContext.seLinuxOptions 섹션에 정의할 수 있으며 사용자,역할,유형수준을 지원합니다.

참고

이 주제에서는 Level 및 MCS 레이블이 서로 바꿔 사용할 수 있습니다.

...
 securityContext: 1
    seLinuxOptions:
      level: "s0:c123,c456" 2
...
1
전체 Pod에 대해 수준을 전역적으로 정의하거나 각 컨테이너에 대해 개별적으로 정의할 수 있습니다.
2
SELinux 수준 레이블.

다음은 SCC 및 기본 프로젝트의 내용입니다.

$ oc get -o yaml --export scc scc-name
...
seLinuxContext:
  type: MustRunAs 1

# oc get -o yaml --export namespace default
...
metadata:
  annotations:
    openshift.io/sa.scc.mcs: s0:c1,c0 2
...
1
MustRunAs 로 인해 볼륨 레이블이 다시 지정됩니다.
2
포드 또는 SCC에서 레이블을 제공하지 않으면 기본값은 프로젝트에서 제공됩니다.

권한 있는 SCC를 제외한 사전 정의된 모든 SCC는 seLinuxContextMustRunAs 로 설정합니다. 이렇게 하면 Pod에서 포드 정의, 이미지 또는 기본값으로 정의할 수 있는 MCS 레이블을 사용합니다.

SCC는 SELinux 레이블을 필요로 하는지 여부를 결정하고 기본 레이블을 제공할 수 있습니다. seLinuxContext 전략이 MustRunAs 로 설정되고 Pod(또는 이미지)가 레이블을 정의하지 않으면 OpenShift Container Platform은 기본적으로 SCC 자체 또는 프로젝트에서 선택한 레이블로 설정됩니다.

seLinuxContextRunAsAny 로 설정된 경우 기본 레이블이 제공되지 않으며 컨테이너에서 최종 레이블을 결정합니다. Docker의 경우 컨테이너는 고유한 MCS 레이블을 사용하므로 기존 스토리지 마운트의 레이블과 일치하지 않을 수 있습니다. 지정된 레이블에서 액세스할 수 있도록 SELinux 관리를 지원하는 볼륨과 해당 레이블만 제외되는 방식에 따라 레이블이 다시 지정됩니다.

이는 권한이 없는 컨테이너에 대한 두 가지를 의미합니다.

  • 볼륨에는 권한이 없는 컨테이너에서 액세스할 수 있는 유형이 제공됩니다. 이 유형은 일반적으로 RHEL(Red Hat Enterprise Linux) 버전 7.5 이상에서 container_file_t 입니다. 이 유형은 볼륨을 컨테이너 콘텐츠로 처리합니다. 이전 RHEL 버전인 RHEL 7.4, 7.3 등에서 볼륨에 svirt_sandbox_file_t 유형이 지정됩니다.
  • 수준을 지정하면 볼륨에 지정된 MCS 레이블이 지정됩니다.

Pod에서 볼륨에 액세스하려면 Pod에 볼륨의 두 카테고리가 모두 있어야 합니다. 따라서 s0:c1,c2 가 있는 Pod는 s0:c1,c2 를 사용하여 볼륨에 액세스할 수 있습니다. s0 이 있는 볼륨은 모든 포드에서 액세스할 수 있습니다.

포드가 권한 부여에 실패하거나 권한 오류로 인해 스토리지 마운트가 실패하는 경우 SELinux 강제를 방해할 가능성이 있습니다. 이를 확인하는 한 가지 방법은 다음을 실행하는 것입니다.

# ausearch -m avc --start recent

그러면 AVC(Access Vector Cache) 오류에 대한 로그 파일이 검사됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.