Pod 보안 표준(PSS) 및 보안 컨텍스트 제약 조건(SCC)
Kubernetes Pod 보안 표준(PSS)과 Pod 보안 정책(PSP)은 권한 수준을 정의하고 Pod의 동작을 제한합니다. OpenShift 보안 컨텍스트 제약 조건(SCC)은 마찬가지로 OpenShift Kubernetes Engine에 특정한 포드 제한을 정의합니다. 이러한 사용자 정의 기능을 제공하기 위해 Trident 설치 중에 특정 권한을 부여합니다. 다음 섹션에서는 Trident 가 설정한 권한에 대해 자세히 설명합니다.
|
|
PSS는 Pod 보안 정책(PSP)을 대체합니다. PSP는 Kubernetes v1.21에서 더 이상 지원되지 않으며 v1.25에서 제거될 예정입니다. 자세한 내용은 다음을 참조하세요."쿠버네티스: 보안" . |
필수 Kubernetes 보안 컨텍스트 및 관련 필드
| 허가 | 설명 |
|---|---|
특권 |
CSI에서는 마운트 지점이 양방향이어야 합니다. 즉, Trident 노드 포드는 권한이 있는 컨테이너를 실행해야 합니다. 자세한 내용은 다음을 참조하세요."Kubernetes: 마운트 전파" . |
호스트 네트워킹 |
iSCSI 데몬에 필요합니다. |
호스트 IPC |
NFS는 NFSD와 통신하기 위해 프로세스 간 통신(IPC)을 사용합니다. |
호스트 PID |
시작하려면 필요합니다 |
역량 |
그만큼 |
세콤프 |
Seccomp 프로필은 특권 컨테이너에서는 항상 "제한 없음" 상태이므로 Trident 에서 활성화할 수 없습니다. |
셀리눅스 |
OpenShift에서는 권한이 있는 컨테이너가 실행됩니다. |
DAC |
권한이 있는 컨테이너는 루트로 실행해야 합니다. 권한이 없는 컨테이너는 CSI에 필요한 유닉스 소켓에 액세스하기 위해 루트로 실행됩니다. |
포드 보안 표준(PSS)
| 상표 | 설명 | 기본 |
|---|---|---|
|
Trident Controller와 노드가 설치 네임스페이스에 들어갈 수 있도록 허용합니다. 네임스페이스 레이블을 변경하지 마세요. |
|
|
|
네임스페이스 레이블을 변경하면 포드가 예약되지 않거나, "생성 오류: …" 또는 "경고: trident-csi-…"가 발생할 수 있습니다. 이런 일이 발생하면 네임스페이스 레이블을 확인하십시오. privileged 변경되었습니다. 그렇다면 Trident 다시 설치하세요.
|
Pod 보안 정책(PSP)
| 필드 | 설명 | 기본 |
|---|---|---|
|
권한이 있는 컨테이너는 권한 상승을 허용해야 합니다. |
|
|
Trident 인라인 CSI 임시 볼륨을 사용하지 않습니다. |
비어 있는 |
|
권한이 없는 Trident 컨테이너는 기본 설정보다 더 많은 기능을 필요로 하지 않으며 권한이 있는 컨테이너는 가능한 모든 기능을 부여받습니다. |
비어 있는 |
|
Trident 는 사용하지 않습니다"FlexVolume 드라이버" 따라서 허용되는 볼륨 목록에 포함되지 않습니다. |
비어 있는 |
|
Trident 노드 포드는 노드의 루트 파일 시스템을 마운트하므로 이 목록을 설정하는 데에는 이점이 없습니다. |
비어 있는 |
|
Trident 어떤 것도 사용하지 않습니다 |
비어 있는 |
|
Trident 안전하지 않은 것을 요구하지 않습니다. |
비어 있는 |
|
특권 컨테이너에는 기능을 추가할 필요가 없습니다. |
비어 있는 |
|
권한 확대 허용은 각 Trident Pod에서 처리됩니다. |
|
|
아니요 |
비어 있는 |
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
NFS 볼륨을 마운트하려면 호스트 IPC가 통신해야 합니다. |
|
|
iscsiadm은 호스트 네트워크가 iSCSI 데몬과 통신하는 데 필요합니다. |
|
|
호스트 PID는 다음을 확인하는 데 필요합니다. |
|
|
Trident 호스트 포트를 사용하지 않습니다. |
비어 있는 |
|
Trident 노드 포드는 볼륨을 마운트하기 위해 권한이 있는 컨테이너를 실행해야 합니다. |
|
|
Trident 노드 포드는 노드 파일 시스템에 써야 합니다. |
|
|
Trident 노드 포드는 권한이 있는 컨테이너를 실행하며 기능을 삭제할 수 없습니다. |
|
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
Trident 사용하지 않습니다 |
비어 있는 |
|
Trident 설정되지 않습니다 |
비어 있는 |
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
Trident 포드에는 이러한 볼륨 플러그인이 필요합니다. |
|
보안 컨텍스트 제약 조건(SCC)
| 라벨 | 설명 | 기본 |
|---|---|---|
|
Trident 노드 포드는 노드의 루트 파일 시스템을 마운트합니다. |
|
|
NFS 볼륨을 마운트하려면 호스트 IPC가 통신해야 합니다. |
|
|
iscsiadm은 호스트 네트워크가 iSCSI 데몬과 통신하는 데 필요합니다. |
|
|
호스트 PID는 다음을 확인하는 데 필요합니다. |
|
|
Trident 호스트 포트를 사용하지 않습니다. |
|
|
권한이 있는 컨테이너는 권한 상승을 허용해야 합니다. |
|
|
Trident 노드 포드는 볼륨을 마운트하기 위해 권한이 있는 컨테이너를 실행해야 합니다. |
|
|
Trident 안전하지 않은 것을 요구하지 않습니다. |
|
|
권한이 없는 Trident 컨테이너는 기본 설정보다 더 많은 기능을 필요로 하지 않으며 권한이 있는 컨테이너는 가능한 모든 기능을 부여받습니다. |
비어 있는 |
|
특권 컨테이너에는 기능을 추가할 필요가 없습니다. |
비어 있는 |
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
이 SCC는 Trident 에만 적용되며 사용자에게 적용됩니다. |
비어 있는 |
|
Trident 노드 포드는 노드 파일 시스템에 써야 합니다. |
|
|
Trident 노드 포드는 권한이 있는 컨테이너를 실행하며 기능을 삭제할 수 없습니다. |
|
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
Trident 설정되지 않습니다 |
비어 있는 |
|
특권 컨테이너는 항상 "제한되지 않음"으로 실행됩니다. |
비어 있는 |
|
Trident 컨테이너는 루트로 실행됩니다. |
|
|
Trident 네임스페이스에서 이 SCC를 Trident 사용자에 바인딩하기 위해 하나의 항목이 제공됩니다. |
해당 없음 |
|
Trident 포드에는 이러한 볼륨 플러그인이 필요합니다. |
|