Используйте Google в качестве поставщика OIDC без утечки секрета клиента в kubernetes - PullRequest
5 голосов
/ 24 апреля 2019

У нас есть один кластер разработки kubernetes. Мы хотим предоставить каждому разработчику, работающему в этом кластере разработки, контролируемый доступ с пространством имен.

Мы хотели аутентифицировать его, используя Google в качестве поставщика OIDC, который поддерживает API kubernetes.

Но для этого необходимо client-secret , чтобы быть частью ~/.kube/config

users:
- name: you@yourdomain.com
  user:
    auth-provider:
      name: oidc      
      config:
        client-id: <client-id>
        client-secret: <client-secret>
        idp-issuer-url: https://accounts.google.com        
        id-token: <id-token>
        refresh-token: <refresh-token>

Мы не хотим передавать секрет клиента клиенту, поскольку, когда разработчик покидает организацию, секрет клиента будет утек и может быть использован для олицетворения.

Подскажите, пожалуйста, как аутентифицировать пользователя в кластере kubernetes, используя google в качестве поставщика OIDC и не передавая секрет клиента.

1 Ответ

0 голосов
/ 26 июня 2019

Client_secret теперь является необязательным для конфигурации oidc k8s, что означает, что он может поддерживать общедоступных клиентов (с или без client_secret) и конфиденциальных клиентов (с client_secret, для каждого пользователя kubectl).

Это означает, что вам не нужно использовать секрет клиента для аутентификации, но, как я написал в ответе на ваш следующий вопрос openid-kubernetes, нет необходимости беспокоиться о утечке учетных данных.

...