← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 15: Налаштування прав через RBAC

Технологія: Kubernetes

Номер лабораторної: 15 · Рівень: middle

Тема: RBAC базовий доступ

Повний опис / сценарій лабораторної:

Мета: навчитися обмежувати доступ до ресурсів кластера через 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 користувачами.