27.18.4. fsGroup


참고

보조 그룹을 사용하기 전에 SCC, 기본값, 허용된 범위를 읽습니다.

작은 정보

fsGroup 은 Pod의 "파일 시스템 그룹" ID를 정의하며, 이는 컨테이너의 보조 그룹에 추가됩니다. supplementalGroups ID는 공유 스토리지에 적용되지만 fsGroup ID는 블록 스토리지에 사용됩니다.

Ceph RBD, iSCSI 및 다양한 클라우드 스토리지와 같은 블록 스토리지는 일반적으로 직접 또는 PVC를 사용하여 블록 스토리지 볼륨을 요청한 단일 포드 전용입니다. 공유 스토리지와 달리 블록 스토리지는 포드에서 인계받습니다. 즉 포드 정의 또는 이미지에 제공된 사용자 및 그룹 ID가 실제 물리적 블록 장치에 적용됩니다. 일반적으로 블록 스토리지는 공유되지 않습니다.

fsGroup 정의는 다음 Pod 정의 내용에서 아래에 표시됩니다.

kind: Pod
...
spec:
  containers:
  - name: ...
  securityContext: 1
    fsGroup: 5555 2
  ...
1
supplementalGroups 와 마찬가지로,fsGroup 은 컨테이너가 아닌 Pod에 전역적으로 정의되어야 합니다.
2
5555는 볼륨의 그룹 권한과 볼륨에 생성된 모든 새 파일의 그룹 ID가 됩니다.

supplementalGroups 와 마찬가지로, 위의 포드의 모든 컨테이너(동일한 SCC 또는 프로젝트가 5555그룹이 허용된다고 가정)는 5555 그룹의 멤버이며 컨테이너의 사용자 ID에 관계없이 블록 볼륨에 액세스할 수 있습니다. 포드가 fsGroup 전략이 MustRunAsrestricted SCC와 일치하면 포드가 실행되지 않습니다. 그러나 SCC에 fsGroup 전략이 RunAsAny 로 설정된 경우 모든 fsGroup ID(5555 포함)가 허용됩니다. SCC에 fsGroup 전략이 RunAsAny 로 설정되어 있고 fsGroup ID가 지정되지 않은 경우 블록 스토리지의 "계산"이 발생하지 않고 Pod에 대한 사용 권한이 거부될 수 있습니다.

fsGroups 및 사용자 지정 SCC

이전 예제의 상황을 해결하기 위해 다음과 같이 사용자 정의 SCC를 생성할 수 있습니다.

  • 최소 및 최대 그룹 ID가 정의됩니다.
  • ID 범위 검사가 강제 적용됨
  • 5555 의 그룹 ID가 허용됩니다.

사전 정의된 SCC를 수정하거나 사전 정의된 프로젝트에서 허용되는 ID 범위를 변경하는 대신 새 SCC를 생성하는 것이 좋습니다.

새 SCC 정의의 다음 내용을 고려하십시오.

# oc get -o yaml --export scc new-scc
...
kind: SecurityContextConstraints
...
fsGroup:
  type: MustRunAs 1
  ranges: 2
  - max: 6000
    min: 5000 3
...
1
MustRunAs 는 그룹 ID 범위 검사를 트리거하지만 RunAsAny 는 범위 검사가 필요하지 않습니다.
2
허용되는 그룹 ID의 범위는 5000 ~ 5999를 포함합니다. 여러 범위가 지원되지만 사용되지 않습니다. 여기서 허용되는 그룹 ID 범위는 5000 ~ 5999이며 기본 fsGroup 은 5000입니다.
3
최소 값(또는 전체 범위)은 SCC에서 생략할 수 있으므로 기본값을 검사하고 생성하는 범위가 프로젝트의 openshift.io/sa.scc.supplemental-groups 범위로 지연됩니다. fsGroupsupplementalGroups 는 프로젝트에서 동일한 그룹 필드를 사용합니다. fsGroup 에는 별도의 범위가 없습니다.

위에 표시된 포드가 이 새 SCC에 대해 실행되는 경우(물론 포드는 새 SCC와 일치), 포드 정의에 제공된 5555 그룹이 사용자 지정 SCC에서 허용되므로 시작됩니다. 또한 포드는 블록 장치를 "수수"하므로 Pod 외부의 프로세스에서 블록 스토리지를 볼 때 실제로 5555 가 그룹 ID로 지정됩니다.

블록 소유권을 지원하는 볼륨 목록은 다음과 같습니다.

  • AWS Elastic Block Store
  • OpenStack Cinder
  • Ceph RBD
  • GCE 영구 디스크
  • iSCSI
  • emptyDir
참고

이 목록은 잠재적으로 불완전합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.