This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
управление_доступом_в_kubernetes [2025/12/19 06:19] val [Управление доступом в Kubernetes] |
управление_доступом_в_kubernetes [2025/12/19 09:44] (current) val [Шаг 7. Использование OpenID Connect] |
||
|---|---|---|---|
| Line 104: | Line 104: | ||
| kube1:~/users# kubectl delete serviceaccounts admin-user | kube1:~/users# kubectl delete serviceaccounts admin-user | ||
| + | |||
| + | user1@client1:~$ rm -rf .kube/ | ||
| </code> | </code> | ||
| ===== Шаг 6. Использование Service Accounts в приложениях ===== | ===== Шаг 6. Использование Service Accounts в приложениях ===== | ||
| Line 150: | Line 152: | ||
| ===== Шаг 7. Использование OpenID Connect ===== | ===== Шаг 7. Использование OpenID Connect ===== | ||
| - | ==== Демонстрация OIDC ==== | + | * Сервис Keycloak [[Сервис Keycloak#Аутентификация пользователей WEB приложения]] |
| - | * Открываем браузер | ||
| - | * Подколючемся к giltab через keycloak | ||
| <code> | <code> | ||
| + | kube1:~/users# vim /etc/kubernetes/manifests/kube-apiserver.yaml | ||
| + | </code><code> | ||
| + | ... | ||
| + | spec: | ||
| + | containers: | ||
| + | - command: | ||
| + | - kube-apiserver | ||
| + | - --oidc-issuer-url=https://keycloak.corpX.un/realms/corpX | ||
| + | #- --oidc-client-id=account | ||
| + | - --oidc-client-id=any-client | ||
| + | - --oidc-username-claim=email | ||
| + | #- --oidc-username-claim=preferred_username | ||
| + | - --oidc-groups-claim=groups | ||
| + | ... | ||
| + | </code><code> | ||
| + | kube1:~# ps ax | grep kube-apiserver | ||
| + | |||
| + | kube1:~/users# kubectl -n kube-system logs Pod/kube-apiserver-kube1 | ||
| + | ... | ||
| + | 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\"]]" | ||
| + | ... | ||
| + | E1218 10:36:21.105422 1 authentication.go:75] "Unable to authenticate the request" err="[invalid bearer token, oidc: email not verified]" | ||
| + | ... | ||
| + | </code> | ||
| + | |||
| + | * [[Сервис Keycloak#Проверка получения токена]] Keycloak | ||
| + | * [[Система Kubernetes#Создание файла конфигурации kubectl]] c полученным токеном | ||
| + | |||
| + | <code> | ||
| + | client1:~# wget https://github.com/int128/kubelogin/releases/download/v1.35.0/kubelogin_linux_amd64.zip | ||
| + | |||
| + | client1:~# unzip kubelogin_linux_amd64.zip | ||
| + | |||
| + | client1:~# mv kubelogin /usr/local/bin/ | ||
| + | |||
| + | user1@client1:~$ cat .kube/config | ||
| + | </code><code> | ||
| + | ... | ||
| + | users: | ||
| + | - name: user1 | ||
| + | user: | ||
| + | auth-provider: | ||
| + | config: | ||
| + | client-id: any-client | ||
| + | client-secret: anystring | ||
| + | grant-type: password | ||
| + | #id-token: | ||
| + | idp-issuer-url: https://keycloak.corp13.un/realms/corp13 | ||
| + | #refresh-token: | ||
| + | name: oidc | ||
| + | </code><code> | ||
| user1@client1:~$ kubelogin | user1@client1:~$ kubelogin | ||