Қатынасты басқару
Kubernetes-тің 1.23 және одан жоғары нұсқадағы кластерлері VK Cloud платформасымен тығыз интеграцияланған:
-
Бірыңғай кіру технологиясы (Single Sign-On, SSO) қолданылады.
Пайдаланушы Kubernetes кластерінде VK Cloud жеке кабинетіне кіру кезіндегідей сол реквизиттермен аутентификациядан өтеді.
SSO функционалдығын өшіру мүмкін емес.
-
Жеке кабинеттегі пайдаланушы рөлдері мыналарға әсер етеді:
-
Жеке кабинетте кластерлермен орындалатын қолжетімді операцияларға.
-
Кластердегі қолжетімді әрекеттерге.
Жеке кабинетте белгілі бір рөлі бар пайдаланушыға сәйкес Kubernetes рөлі тағайындалады. Kubernetes рөлі пайдаланушыға кластердің қандай объектілері қолжетімді екенін, сондай-ақ осы объектілерге қатысты қандай әрекеттерді орындауға болатынын анықтайды.
-
-
Kubernetes әкімшісі жеке кабинетте пайдаланушыларға рөлдер тағайындау арқылы кластерлерге қолжетімділікті басқарады.
Пайдаланушылардың құқықтарын жеке кабинет үшін де, Kubernetes кластерлері үшін де бөлек конфигурациялаудың қажеті жоқ. Мысалы, пайдаланушының есептік жазбасын өшіру немесе жеке кабинеттегі рөлін қайтарып алу Kubernetes кластерлеріне қатынасу құқықтарының да қайтарылуына әкеледі.
kubectl пайдаланылғанда, аутентификацияға keystone-auth утилитасы жауап береді.
kubectl жұмысы үшін кластердің конфигурация файлы (kubeconfig) пайдаланылады. Бұл файлда пайдаланушының барлық реквизиттері, парольден басқа, сақталады (қауіпсіздік мақсатында ол көрсетілмейді). Сондықтан kubectl пайдаланылғанда keystone-auth утилитасы аутентификациядан өту үшін пайдаланушы паролін интерактивті режимде енгізуді сұрайды:
Please enter password:
Сәтті аутентификациядан кейін өмір сүру уақыты қысқа токен шығарылады, ол кластерге уақытша қатынасу береді. Токеннің өмір сүру уақыты аяқталған кезде, токенді жаңарту үшін keystone-auth қайтадан пароль енгізуді сұрайды. Бұл kubectl-пен де, осындай токендермен жұмыс істейтін басқа құралдармен де жұмыс істеу кезінде болады — мысалы, kauthproxy оларды кластер компоненттері мен аддондарының веб-интерфейстерінде аутентификация үшін пайдаланады.
Мұндай аутентификация процесі кластерге қатынасуы қажет автоматтандырылған құралдармен жұмыс істегенде қолайсыз. Осындай құралдарға кластерге қатынасу беру үшін, сервистік аккаунт үшін kubeconfig файлын жасаңыз. Бұл kubeconfig сервистік аккаунттың (service account) реквизиттерін және оған сәйкес шексіз өмір сүру уақыты бар токенді қамтиды, бұл пароль енгізбей-ақ аутентификациядан өтуге мүмкіндік береді.
Kubernetes рөлі: view.
Рөл атаулар кеңістігіндегі объектілердің көпшілігіне оқу құқығымен қатынасу береді.
Рөл мыналарды бермейді:
-
Рөлдер мен рөлдерді байланыстыруларды қарау немесе өзгерту құқығын.
-
Секреттерге қолжетімділікті.
Секреттерге қолжетімділігі бар пайдаланушы атаулар кеңістігіндегі кез келген сервистік аккаунттың есептік деректеріне қол жеткізе алады. Бұл атаулар кеңістігіндегі кез келген сервистік аккаунт атынан API-ге қатынасуға мүмкіндік береді. Тек оқу құқықтары бар рөл үшін бұл артықшылықтарды ұлғайту (privilege escalation) ретінде бағаланады.
Рөл үшін қолжетімді ресурстар тізімін көру үшін кластерге қосылып, мына команданы орындаңыз:
kubectl describe clusterrole <роль в Kubernetes>