전체 글

DevOps Security Specialist를 목표하는 Security Compliance Engineer의 블로그
Kubernetes

Kubernetes 프라이빗 레포지토리(PrivateRepository) 개념 및 설정

1. 개념 애플리케이션 배포 시 애플리케이션의 이미지를 도커등 퍼블릭 레포에서 다운 애플리케이션 이미지 변조에 따른 리스크를 없애기 위해 프라이빗 레포지토리 사용 가능 2. 시크릿 설정 프라이빗 레포지토리에 접속하기 위해 크레덴셜을 저장한 시크릿 생성 kubectl create secret docker-registry private-reg-cred --docker-username=[레포지토리_유저네임] --docker-password=[레포지토리_패스워드] --docker-server=[레포지토리_주소] 시크릿 생성 확인 3. 이미지 풀 설정 애플리케이션 이미지를 프라이빗 레포지토리에서 다운받도록 설정 imagePullSecrets : 앞서 생성한 시크릿 image : 프라이빗 레포지토리 주소와 다운받을..

Kubernetes

Kubernetes 서비스어카운트(ServiceAccount) 개념 및 설정1

1. 개념 쿠버네티스의 계정에는 2종류(유저 어카운트, 서비스 어카운트)가 존재 유저 어카운트 : 운영자 또는 개발자 등이 클러스터를 운영하는데 활용 서비스 어카운트 : 쿠버네티스 서비스 또는 써드파티 서비스(프로메테우스, 젠킨스 등)가 사용하는 계정 서비스 어카운트 생성 시 자동으로 secret을 생성하고, JWT 값의 토큰을 생성(예전) 서비스 어카운트 생성 후 서비스 어카운트가 사용할 토큰을 생성해야함(현재) 모든 네임스페이스에는 default 서비스 어카운트가 존재하며, 서비스 어카운트를 별도로 지정하지 않는 경우 자동으로 default 서비스 어카운트를 사용 서비스 어카운트 생성 후 추가적으로 RBAC 또는 클러스터 롤로 권한을 부여해야 함 2. ServiceAccount 핸들링 서비스 어카운트..

Kubernetes

Kubernetes 클러스터 롤(ClusterRole) 개념 및 설정

1. 개념 네임스페이스 단위에서의 리소스 접근을 핸들링하는 RBAC과는 다르게 클러스터 단위로 접근권한을 제어 2. ClusterRole Role & RoleBinding YAML ClusterRole apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: secret-reader rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list"] 9번 라인 : 핸들링할 API가 포함된 그룹 10번 라인 : 핸들링할 API 종류 11번 라인 : 핸들링하고자 하는 액션 ClusterRoleBinding apiVersion: rbac.authorizatio..

MR. ZERO
Security & DevOps