# 1.12 EKS 서비스 어카운트 관리

<p class="callout info">취약점 설명</p>

**서비스 어카운트 = 파드에 K8S RBAC 역할을 할당할 수 있는 특수한 유형의 개체**

**Cluster 내의 각 네임스페이스에 기본 서비스 어카운트가 자동으로 생성됨**

<span style="white-space: pre-wrap;">쉽게 설명하면 </span>

**01. "서비스 어카운트(SA)" 를 Pod 에 부여하여 "RBAC(역할 기반 접근 제어)" 를 수행한다.**

**02. 서비스어카운트에는 RBAC 정책과, 인증에 사용할 Token이 존재한다.**

**03. 별도의 서비스어카운트를 지정하지 않을경우 default 서비스 어카운트가 할당되며, Token은 특정 경로에 자동으로 마운트된다.**

**04. 토큰은 K8S API를 호출할때 인증에 쓰이며, 해당 어플리케이션이 K8S API를 호출할 일이 없을경우 Token을 쓸 일이 없다.**

**05. "automountServiceAccountToken" 속성을 false로 설정할 경우 불필요하게 SA 토큰을 자동으로 마운트하는 것을 방지할 수 있다.**

<p class="callout warning">딴소리</p>

**K8S 구조를 파악하는게 중요하다.**

**서비스, 파드, 클러스터, 시크릿, 인그레스 등 k8s에서 쓰이는 단어들의 쓰임을 확실히 알고 어떤 식으로 흘러가는지 공부해보면 감이 온다.**

<p class="callout info"><span style="white-space: pre-wrap;"> 진단 방법</span></p>

**01. 사용자가 SA를 지정하지 않고 default SA를 쓸 경우에 automount를 방지하는 것이기 때문에 default SA의 설정 값을 확인한다.**

```
kubectl get serviceaccount default -o yaml
```

[![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-10/scaled-1680-/InpP2WqVa6ceJzyZ-image.png)](https://www.ochidstudy.com/uploads/images/gallery/2025-10/InpP2WqVa6ceJzyZ-image.png)

\* "**automountServiceAccountToken" 옵션이 true로 활성화되어있는것을 확인 (취약)**

<p class="callout info">양호 취약 기준</p>

**automountServiceAccountToken 옵션이 false로 비활성화 되어 있을 경우 -&gt; 양호**

**automountServiceAccountToken 옵션이 true로 활성화되어 있을 경우 -&gt; 취약**

**automountServiceAccountToken 옵션이 존재하지 않을 경우 (기본 값 : 활성화) -&gt; 취약**

<span style="white-space: pre-wrap;"> </span>

<p class="callout info">참고</p>