← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися обмежувати доступ до ресурсів кластера через rbac. Крок 1. Створити namespace для лабораторії. Команда: kubectl create namespace rbac-lab Пояснення: ми обмежимо права тільки в цьому просторі. Крок 2. Створити service account для розробника. Команда: kubectl create serviceaccount dev-sa -n rbac-lab Пояснення: цей акаунт використовуватиметься для доступу до namespace. Крок 3. Написати role з мінімальними правами. Ідея: дозволити get, list, watch для pod у namespace rbac-lab. Пояснення: розробник зможе дивитися pod, але не змінювати їх. Крок 4. Створити role. Команда: kubectl apply -f role-view-pods.yaml Пояснення: у namespace зявиться обєкт role. Крок 5. Привязати role до service account. Yaml: rolebinding, який звязує role view-pods з dev-sa. Команда: kubectl apply -f rb-dev-sa.yaml Пояснення: тепер dev-sa має вказані права. Крок 6. Створити test pod у namespace. Команда: kubectl run test-rbac --image=nginx -n rbac-lab Пояснення: ресурс для тесту прав доступу. Крок 7. Отримати токен для dev-sa. Пояснення: залежно від версії kubernetes це може бути secret або команда kubectl create token. Крок 8. Зібрати окремий kubeconfig для dev-sa. Пояснення: створи новий контекст з користувачем dev-sa і його токеном, який має доступ тільки в rbac-lab. Крок 9. Перевірити, що dev-sa може дивитися pod, але не може створювати нові. Пояснення: виконуючи kubectl get pods і kubectl create під обліковкою dev-sa, перевір обмеження. Крок 10. Міні звіт. Завдання: опиши, як ти будеш розділяти права між dev, ops і read only користувачами.