전체 글

DevOps Security Specialist를 목표하는 Security Compliance Engineer의 블로그
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..

Kubernetes

Kubernetes RBAC 개념 및 설정1

1. 개념 쿠버네티스는 네임스페이스 단위에서의 유저 리소스 접근을 핸들링하기 위한 4가지 접근제어 방식이 존재 Node : 스케줄링 된 파드의 kubelet에서 접근제어 ABAC : 속성기반 접근제어 RBAC : 역할기반 접근제어 Webhook : POST 요청에 대한 접근제어 2. RBAC Role & RoleBinding YAML Role apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: default name: test-pod-reader rules: - apiGroups: [""] # "" means api resources: ["pods"] verbs: ["get", "watch", "list"] resourceNa..

MR. ZERO
Security & DevOps