Токен ServiceAccount (Kubernetes)
Что такое Токен ServiceAccount (Kubernetes)?
Токен ServiceAccount (Kubernetes)JWT-учётка, монтируемая в под Kubernetes, которая аутентифицирует нагрузку перед API-сервером и сторонними сервисами, доверяющими identity provider кластера.
Kubernetes ServiceAccount — это нечеловеческая идентичность, используемая подами. Ассоциированный токен представляет собой подписанный JSON Web Token, в современных версиях автоматически проецируемый в под через TokenRequest API в /var/run/secrets/kubernetes.io/serviceaccount/token и используемый для обращений к API-серверу. Токен содержит claims: audience, expiry, namespace, pod. Поскольку доступ выдаётся через RBAC, утечка опасна: украденный токен позволяет атакующему перечислять, изменять и уничтожать ресурсы кластера в пределах привязанной роли. Лучшие практики — короткоживущие bound-токены с указанной audience, отключение автомонтирования там, где оно не нужно, минимальные привилегии в RoleBinding, федерация workload identity в облачный IAM через OIDC, Workload Identity или IRSA.
● Примеры
- 01
Под использует проекционный токен с audience "sts.amazonaws.com" через IRSA, чтобы взять роль AWS IAM.
- 02
Атакующий после побега из контейнера читает SA-токен и переходит к API Kubernetes.
● Частые вопросы
Что такое Токен ServiceAccount (Kubernetes)?
JWT-учётка, монтируемая в под Kubernetes, которая аутентифицирует нагрузку перед API-сервером и сторонними сервисами, доверяющими identity provider кластера. Относится к категории Облачная безопасность в кибербезопасности.
Что означает Токен ServiceAccount (Kubernetes)?
JWT-учётка, монтируемая в под Kubernetes, которая аутентифицирует нагрузку перед API-сервером и сторонними сервисами, доверяющими identity provider кластера.
Как работает Токен ServiceAccount (Kubernetes)?
Kubernetes ServiceAccount — это нечеловеческая идентичность, используемая подами. Ассоциированный токен представляет собой подписанный JSON Web Token, в современных версиях автоматически проецируемый в под через TokenRequest API в /var/run/secrets/kubernetes.io/serviceaccount/token и используемый для обращений к API-серверу. Токен содержит claims: audience, expiry, namespace, pod. Поскольку доступ выдаётся через RBAC, утечка опасна: украденный токен позволяет атакующему перечислять, изменять и уничтожать ресурсы кластера в пределах привязанной роли. Лучшие практики — короткоживущие bound-токены с указанной audience, отключение автомонтирования там, где оно не нужно, минимальные привилегии в RoleBinding, федерация workload identity в облачный IAM через OIDC, Workload Identity или IRSA.
Как защититься от Токен ServiceAccount (Kubernetes)?
Защита от Токен ServiceAccount (Kubernetes) обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Токен ServiceAccount (Kubernetes)?
Распространённые альтернативные названия: ServiceAccount token, Projected SA token.
● Связанные термины
- cloud-security№ 600
Безопасность Kubernetes
Защита кластера Kubernetes — API-сервера, control plane, узлов, рабочих нагрузок и сети — от ошибок конфигурации, компрометации и латерального перемещения.
- cloud-security№ 596
kube-bench
Открытый инструмент от Aqua Security, автоматически проверяющий конфигурацию кластера Kubernetes на соответствие CIS Kubernetes Benchmark.
- cloud-security№ 601
Kubescape
Открытая платформа безопасности Kubernetes от ARMO для сканирования кластеров, манифестов и образов на ошибки конфигурации, уязвимости и отклонения от политик.
- cloud-security№ 1248
Идентичность нагрузки
Криптографическая идентичность, выдаваемая сервису, контейнеру или функции, чтобы они могли аутентифицироваться без долговременных общих секретов.