..

K8s Service Account: 파드에게 신분증 발급하기

Service Account(SA)란?

쿠버네티스에서 파드(Pod)나 애플리케이션이 쿠버네티스 API 서버 혹은 다른 클러스터 리소스와 상호작용할 때, 자신이 누구인지 증명하고 권한을 확인받기 위해 사용하는 신원(Identity) 리소스입니다.

기본 동작 흐름

  • 자동 할당: 파드를 생성할 때 별도의 설정을 하지 않으면, 해당 네임스페이스의 default ServiceAccount가 자동으로 할당됩니다.
  • 네임스페이스 격리: 각 네임스페이스는 자신만의 ServiceAccount 세트를 가지며, 이를 통해 네임스페이스 간의 리소스 접근을 분리하고 제어할 수 있습니다.

사용 목적과 인증 과정

파드가 API 서버에 요청을 보낼 때, 자신에게 연결된 ServiceAccount의 자격 증명(Token)을 함께 보냅니다. API 서버는 이 정보를 확인하여:

  1. 해당 파드가 누구인지 인증(Authentication)하고,
  2. 이 파드가 요청한 작업을 수행할 권한(Authorization)이 있는지 검사합니다.

한 줄 요약

클러스터 내의 파드들이 서로 안전하게 통신하거나 관리용 API를 호출해야 할 때 사용하는 “기계용 계정”입니다. 사람에게 User Account가 있다면, 파드에게는 Service Account가 있습니다.