Перейти к содержимому

Service Accounts в Kubernetes: токены, RBAC и kubectl auth can-i (практика)

Shubham gour

0:00 / 0:00

Service Accounts в Kubernetes: токены, RBAC и kubectl auth can-i (практика)

442 просмотра · 11 дн. назад
Shubham gour
5,48 тыс. подписчиков
442 просмотра · 11 дн. назад
Как Kubernetes узнает, кто является вашим приложением и что ему разрешено делать? В этом практическом руководстве по учетным записям служб Kubernetes мы подробно рассмотрим учетные записи служб: учетную запись службы по умолчанию, которую получает каждый Pod, токен, который Kubernetes монтирует в Pod, что находится внутри этого JWT-токена и как предоставить вашей собственной учетной записи службы минимальные привилегии с помощью RBAC. Мы начнем с простого Pod на nginx, изучим, что Kubernetes делает автоматически, затем создадим пользовательскую учетную запись службы, привяжем ее к роли только для чтения, прикрепим ее к Pod и проверим ее права доступа с помощью команды kubectl auth can-i. Все демонстрируется в режиме реального времени на кластере Minikube. Что вы узнаете: • Обычные пользователи против учетных записей служб — два типа идентификации в Kubernetes • Идентификация против авторизации: учетная запись службы = идентификация, RBAC = разрешения • Учетная запись службы по умолчанию, которая есть в каждом пространстве имен, и как она назначается подам • Смонтированный токен по адресу /var/run/secrets/kubernetes.io/serviceaccount (ca.crt, пространство имен, токен) • Что находится внутри JWT-токена учетной записи службы (пространство имен, узел, под, утверждения учетной записи службы) — и почему декодирование не проверяется • Отключение монтирования токена с помощью automountServiceAccountToken: false • Создание учетной записи службы с помощью kubectl create serviceaccount и запрос кратковременного токена с помощью kubectl create token • Написание роли RBAC (pod-reader: get, list, watch Pods) и поиск apiVersion с помощью kubectl api-resources • • Создание RoleBinding (subjects + roleRef) для связи роли с ServiceAccount • Прикрепление ServiceAccount к Pod с serviceAccountName (и исправление ошибки «serviceaccount not found») • Проверка разрешений с помощью kubectl auth can-i --as=system:serviceaccount:default:my-sa ⏱️ Разделы 0:00 Введение 0:39 Что такое ServiceAccount? Идентификация против авторизации 2:26 Учетная запись службы по умолчанию 5:26 Смонтированный токен 9:17 Что внутри токена (JWT) 12:52 Отключение автоматического монтирования токена 16:56 Создание учетной записи службы 19:29 RBAC: роль 24:13 RBAC: привязка роли 28:02 Прикрепление учетной записи службы к поду 30:49 Проверка с помощью kubectl auth can-i 32:58 Итоги 📚 Ресурсы • Документация Kubernetes – Учетные записи служб: https://kubernetes.io/docs/concepts/s... • Документация Kubernetes – Настройка учетных записей служб для подов: https://kubernetes.io/docs/tasks/conf... • Документация Kubernetes – Использование авторизации RBAC: https://kubernetes.io/docs/reference/... • Декодер JWT, используемый в демонстрации (только для обучения — никогда не вставляйте токены из производственной среды): https://www.jwt.io/ ▶️ Полный плейлист Kubernetes:    • Kubernetes Tutorial for Beginners | Comple...   Это видео основано на предыдущем эпизоде ​​о RBAC — посмотрите его первым, если роли и привязки ролей для вас в новинку. Если это помогло вам понять учетные записи служб Kubernetes, подпишитесь на канал Shubham Gour Tech, чтобы получать больше практических руководств по Kubernetes и DevOps. Есть вопрос о токенах или RBAC? Оставьте его в комментариях — я читаю все. #Kubernetes #ServiceAccount #RBAC #DevOps #KubernetesTutorial