Я исследую, как возможно пройти аутентификацию в кластере Kubernetes 1.13 с помощью OpenID Connect и Keycloak.Я новичок в этой области.
Это видео YouTube («Использовать Open ID Connect для сервера API Kubernetes») выполняет часть того, что я хочу.Идентификационный токен первоначально получается путем выполнения HTTP-запроса (с curl
) к Keycloak со ссылкой на тип предоставления password
.Затем полученный токен впоследствии используется в дальнейших HTTP-запросах к API Kubernetes.Это работает, но имеет тот недостаток, что клиенты напрямую обрабатывают постоянные учетные данные пользователей.
Не будет ли лучше, если токен будет выпущен защищенной веб-страницей, которая также требует аутентификации через Keycloak (на этот раз с кодом авторизации типа предоставления)) и ничего не сделал кроме отображения нового токена?Такие токены (временные учетные данные) можно затем, например, вручную скопировать в kubeconfigs для дальнейшего использования?
Предоставляет ли Keycloak такие интерактивные веб-страницы (рядом с конечными точками REST для получения токенов программно) или это выходит за рамки?Если второе, есть ли другие стандартные компоненты для таких задач?
ОБНОВЛЕНИЕ Эта иллюстрация из документации Kubernetes , возможно, делает более ясным то, что яищуНа шаге 1 пользователь должен войти в провайдер Identity, чтобы получить токены, которые затем можно настроить на kubectl
.Поддерживает ли Keycloak этот шаг, то есть предлагает ли веб-страницу, где пользователи могут войти в систему, чтобы получить свои токены?