스파클링소다 패키지의 사용자 권한 알아보기

작성자 김아름 수정일 2023-01-31 15:07

#SparklingSoDA4.0, #스파클링소다4.0, #uid, #권한, #pvc

아티클 관련 제품: SparklingSoDA4.0

들어가며

  • 스파클링소다 제품을 구동하기 위해 여러 패키지를 설치합니다.

  • 이때, 특정 패키지의 프로세스 사용 권한에 대해 알아보겠습니다.



Security Context

security context란, kubernetes의 pod나 container의 권한 및 엑세스 제어를 정의합니다.

container 프로세스들이 사용하는 사용자와 그룹, 보안 정책 등을 설정하기 위해 사용됩니다.


스파클링소다에 설치된 특정 패키지들 역시, security context 기능을 사용하였습니다.

Pod나 컨테이너에서 구동 되는 프로세스의 사용자 ID와 그룹 ID를 지정하였습니다.


위 설정은 yaml에 정의하여 사용할 수 있습니다.

스파클링소다 패키지의 yaml의 일부를 보고, 프로세스 사용자 ID와 그룹 ID 설정을 하는 방법을 확인해 봅니다.

...
securityContext:
  runAsUser: 1000
  runAsGroup: 1000
  fsGroup: 1000
...
runAsUserpod의 모든 container에 대해 모든 프로세스의 사용자 UID 값을 지정
runAsGrouppod의 모든 container 내 모든 포로세스에 대한 기본 GID 값을 지정
fsGroup
컨테이너의 모든 프로세스는 보조 그룹 ID 를 지정


위 yaml파일로 실행된 pod의 컨테이너 내부로 들어가, 사용자의 정보를 확인해봅니다.

id
uid=1000 gid=1000 groups=1000



패키지 사용 권한

그렇다면, 스파클링소다에 설치된 패키지들 중 어떤 패키지가 위 권한 설정이 되어있는지 확인해봅니다.


스파클링소다는 nas-client 의 storage class를 사용하고 있습니다.

즉, nfs 마운트를 경로를 보고 pv의 데이터를 확인할 수 있습니다.


컨테이너 내부 경로와 마운트된 pv 데이터의 사용자 권한은 어떻게 설정되어 있는지 알아봅니다.


# minio
securityContext:
  runAsUser: 1000
  runAsGroup: 1000
  fsGroup: 1000

# mariadb
securityContext:
  runAsUser: 1000

# prometheus
securityContext:
  fsGroup: 2000
  runAsGroup: 2000
  runAsNonRoot: true
  runAsUser: 1000


위와 같이 특정 패키지들은 컨테이너 프로세스 사용 권한 설정이 되어있습니다.

따라서 해당 패키지의 pv 디렉터리 사용 권한을 확인해보면, yaml에 정의한 권한으로 설정되어 사용하는 것을 확인할 수 있습니다.


# minio
drwxr-xr-x 2 1000 1000   6 Jan  5 18:49 artifacts-repo
drwxr-xr-x 2 1000 1000   6 Jan  5 18:49 dockerfiles
drwxr-xr-x 2 1000 1000   6 Jan  5 18:49 dvc-storage
drwxr-xr-x 6 1000 1000 107 Jan  5 18:49 .minio.sys
drwxr-xr-x 3 1000 1000  19 Jan 30 01:38 mlmodel-repo
drwxr-xr-x 2 1000 1000   6 Jan  5 18:49 mlpipeline

# mariadb
drwxr-xr-x 6 1000 1000 4096 Jan 29 21:33 data

# prometheus
drwxr-xr-x 2 1000 2000    34 Jan 31 00:00 chunks_head
-rw-r--r-- 1 1000 2000 20001 Jan 31 00:29 queries.active
drwxr-xr-x 3 1000 2000    81 Jan 31 00:00 wal



마무리

  • 스파클링소다에 설치된 패키지들의 프로세스 사용자 권한에 대해 알아보았습니다.

  • 위에서 확인한 pv 경로에 대한 사용자 권한을 수정할 경우, 컨테이너가 정상 작동하지 않으니 주의해야 합니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300