Прежде всего, после ухода с работы запрещается использовать достоверные учетные данные и учетную запись доступа, поэтому разработчики не имеют доступа к таким данным после ухода с работы.
Поток OpenID в Kubernetes:
- Войдите в систему вашего провайдера идентификации
- Ваш провайдер идентификации предоставит вам access_token, id_token и refresh_token
- При использовании kubectl используйте ваш id_token с -флаг или добавьте его непосредственно в kubeconfig
- kubectl отправляет ваш id_token в заголовке с именем Авторизация на сервер API
- Сервер API проверяет правильность подписи JWT, проверяя соответствиесертификат, указанный в конфигурации
- Убедитесь, что срок действия id_token не истек
- Убедитесь, что пользователь авторизован
- После авторизации сервер API возвращает ответ на kubectl
- kubectl обеспечивает обратную связь с пользователем
Для вас наиболее важными моментами являются 5 , 6 , 7 .JWT вашего клиента недействителен, поэтому пользователи, которые покидают работу и его учетные данные (или члены другой организации, имеющие такие учетные данные), не могут получить доступ к вашему кластеру.
Идентификатор id_token не может быть отозван, это как сертификат, поэтому он должен быть недолговечным.Нет простого способа пройти проверку подлинности на панели мониторинга Kubernetes без использования прокси-команды kubectl или обратного прокси-сервера, который вводит id_token.
Дополнительные сведения можно найти здесь: kubernetes-cluster-access .Таким образом, при условии, что вам не нужно беспокоиться об утечке client_id и
, вы также можете удалить записи кластера / контекста / пользователя, например:
$ kubectl config unset users.gke_project_zone_name
Client_secret isтеперь необязателен для конфигурации oidc k8s, что означает, что он может поддерживать общедоступных клиентов (с или без client_secret) и конфиденциальных клиентов (с client_secret, для каждого пользователя kubectl).
Таким образом, ответ на каждый вопрос - нет,Не нужно беспокоиться о безопасности.
Надеюсь, это поможет.