управление_доступом_в_kubernetes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
управление_доступом_в_kubernetes [2025/12/19 09:44]
val [Шаг 7. Использование OpenID Connect]
управление_доступом_в_kubernetes [2026/03/20 20:59] (current)
val [Шаг 7. Использование OpenID Connect]
Line 47: Line 47:
  
   * Linux [[Инсталяция системы в конфигурации Desktop]] и [[Решение FreeIPA#​Установка и инициализация клиента]] FreeIPA   * Linux [[Инсталяция системы в конфигурации Desktop]] и [[Решение FreeIPA#​Установка и инициализация клиента]] FreeIPA
 +
 +  * [[Система Kubernetes#​Oбзор ресурсов кластера и действий над ними]]
  
 ===== Шаг 2. Создание учетной записи ===== ===== Шаг 2. Создание учетной записи =====
  
-==== Вариант 2.1 Использование сертификатов ​====+=== Вариант 2.1 Использование сертификатов ===
  
 +  * Изучаем файл конфигурации
 <​code>​ <​code>​
 kube1:~# cat ~/​.kube/​config kube1:~# cat ~/​.kube/​config
Line 66: Line 69:
   * [[Система Kubernetes#​Использование сертификатов]]   * [[Система Kubernetes#​Использование сертификатов]]
  
-==== Вариант 2.2 Использование ServiceAccount ​====+=== Вариант 2.2 Использование ServiceAccount ===
  
-  * Для примера можно использовать ServiceAccout из темы [[Система Kubernetes#​Kubernetes Dashboard]] в Namespace default +  * Для примераможно использовать ServiceAccout из темы [[Система Kubernetes#​Kubernetes Dashboard]] в Namespace default, создавая файлы в каталоге users 
-  * Показать временные и long-lived Bearer Token для ​ServiceAccount+  * Показать временные и long-lived Bearer Token из ServiceAccount
  
 ==== Шаг 2.3 Создание файла конфигурации kubectl ====  ==== Шаг 2.3 Создание файла конфигурации kubectl ==== 
Line 97: Line 100:
  
 ===== Шаг 5. Использование JSON Web Token (JWT) для доступа в Kubernetes ===== ===== Шаг 5. Использование JSON Web Token (JWT) для доступа в Kubernetes =====
 +
 +<​code>​
 +user1@client1:​~$ rm -rf .kube/
 +</​code>​
  
   * Возвращаемся на [[#​Вариант 2.2 Использование ServiceAccount]]   * Возвращаемся на [[#​Вариант 2.2 Использование ServiceAccount]]
Line 153: Line 160:
  
   * Сервис Keycloak [[Сервис Keycloak#​Аутентификация пользователей WEB приложения]]   * Сервис Keycloak [[Сервис Keycloak#​Аутентификация пользователей WEB приложения]]
 +  * [[Сервис Keycloak#​Проверка получения токена]] и наличия в нем списка групп 
 +  
 +  * Настройка oidc в kube-apiserver (параметра client-secret нет и не требуется)
 <​code>​ <​code>​
 kube1:​~/​users#​ vim /​etc/​kubernetes/​manifests/​kube-apiserver.yaml kube1:​~/​users#​ vim /​etc/​kubernetes/​manifests/​kube-apiserver.yaml
Line 172: Line 181:
 kube1:~# ps ax | grep kube-apiserver kube1:~# ps ax | grep kube-apiserver
  
-kube1:~/users# kubectl -n kube-system logs Pod/​kube-apiserver-kube1+kube1:~# journalctl -f | grep kube-apiserver 
 + 
 +kube1/2:~# kubectl -n kube-system logs Pod/​kube-apiserver-kube1 
 +... 
 +Error: unknown flag: --oidc-client-secret
 ... ...
 E1203 05:​22:​46.412571 ​      1 authentication.go:​73] "​Unable to authenticate the request"​ err="​[invalid bearer token, oidc: verify token: oidc: expected audience \"​any-client\"​ got [\"​account\"​]]"​ E1203 05:​22:​46.412571 ​      1 authentication.go:​73] "​Unable to authenticate the request"​ err="​[invalid bearer token, oidc: verify token: oidc: expected audience \"​any-client\"​ got [\"​account\"​]]"​
Line 180: Line 193:
 </​code>​ </​code>​
  
-  * [[Сервис Keycloak#​Проверка получения токена]] Keycloak ​ 
   * [[Система Kubernetes#​Создание файла конфигурации kubectl]] c полученным токеном   * [[Система Kubernetes#​Создание файла конфигурации kubectl]] c полученным токеном
  
управление_доступом_в_kubernetes.1766126675.txt.gz · Last modified: 2025/12/19 09:44 by val