User Tools

Site Tools


безопасность_в_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/10/27 11:18]
val [Реклама]
безопасность_в_kubernetes [2025/10/27 16:51] (current)
val [Шаг 2. Создание учетной записи]
Line 6: Line 6:
 ===== Реклама ===== ===== Реклама =====
  
-  * Kubernetes — это решение,​ превращающее Linux в кластер,​ и, как Linux является многопользовательской,​ многозадачной операционной системой,​ так и Kubernetes позволяет множеству пользователей и приложений работать в одном кластере безопасно разделяя его ресурсы +  * Kubernetes — это решение,​ превращающее Linux сервера ​в кластер,​ и, как Linux является многопользовательской,​ многозадачной операционной системой,​ так и Kubernetes позволяет множеству пользователей и приложений работать в одном кластере безопасно разделяя его ресурсы 
-  * На нашем вебинаре Вы узнаете как настраивать права доступа в Kubernetes на примерах практических задач+  * На нашем вебинаре Вы узнаете как настраивать права доступа в Kubernetes на примерах практических полезных задач
  
  
Line 14: Line 14:
   * Создать учетную запись пользователя с необходимыми правами и файл конфигурации для подключения младшего системного администратора к Web ресурсам Kubernetes   * Создать учетную запись пользователя с необходимыми правами и файл конфигурации для подключения младшего системного администратора к Web ресурсам Kubernetes
   * Создать учтённую запись для сервиса с необходимыми правами для запуска приложений в Kubernetes   * Создать учтённую запись для сервиса с необходимыми правами для запуска приложений в Kubernetes
- 
-  * Развернуть FreeIPA через Docker Compose 
-  * Включить в домен FreeIPA рабочую станцию,​ сервер и пользователя Linux 
-  * Используя FreeIPA, настроить сквозную аутентификацию (SSO) пользователя Linux на прокси сервере Squid 
-  * Выпустить сертификат и настроить сервис GitLab на использование базы данных пользователей FreeIPA 
  
 ===== Запись вебинара ===== ===== Запись вебинара =====
Line 25: Line 20:
  
 ===== Шаг 1. Что у нас есть для начала ===== ===== Шаг 1. Что у нас есть для начала =====
 +
 +===== Шаг 2. Создание учетной записи =====
 +
 +  * [[Управление учетными записями в Linux#​Создание тестового набора учетных записей]]
 +  * [[Пакет OpenSSL#​Создание пользовательского сертификата,​ подписанного CA]]
 +
 +<​code>​
 +user2@server:​~$ cat user2.req | base64 -w0
 +</​code>​
 +  * [[https://​stackoverflow.com/​questions/​75735249/​what-do-the-values-in-certificatesigningrequest-spec-usages-mean|What do the values in CertificateSigningRequest.spec.usages mean?]]
 +<​code>​
 +kube1:​~/​users#​ kubectl explain csr.spec.usages
 +
 +kube1:​~/​users#​ cat user2.req.yaml
 +apiVersion: certificates.k8s.io/​v1
 +kind: CertificateSigningRequest
 +metadata:
 +  name: user2
 +spec:
 +  request: LS0t...S0tCg==
 +  signerName: kubernetes.io/​kube-apiserver-client
 +  expirationSeconds:​ 8640000 ​ # 100 * one day
 +  usages:
 +#  - digital signature
 +#  - key encipherment
 +  - client auth
 +
 +kube1:​~/​users#​ kubectl apply -f user2.req.yaml
 +
 +kube1:​~/​users#​ kubectl describe csr/user2
 +
 +kube1:​~/​users#​ kubectl certificate approve user2
 +
 +kube1:​~/​users#​ kubectl get csr
 +
 +kube1:​~/​users#​ kubectl get csr/user2 -o yaml
 +
 +kube1:​~/​users#​ kubectl get csr/user2 -o jsonpath="​{.status.certificate}"​ | base64 -d | tee user2.crt
 +
 +
 +user2@server:​~$ scp root@kube1:​users/​user2.crt .
 +</​code>​
 +  * [[Система Kubernetes#​Инструмент командной строки kubectl]]
 +<​code>​
 +user2@server:​~$ kubectl config set-cluster cluster.local --insecure-skip-tls-verify=true --server=https://​192.168.13.221:​6443
 +
 +user2@server:​~$ cat .kube/​config
 +
 +user2@server:​~$ kubectl config set-credentials user2 --client-certificate=user2.crt --client-key=user2.key --embed-certs=true
 +
 +user2@server:​~$ kubectl config set-context default-context --cluster=cluster.local --user=user2
 +
 +user2@server:​~$ kubectl config use-context default-context
 +
 +user2@server:​~$ kubectl auth whoami
 +
 +user2@server:​~$ kubectl get pods
 +Error from server (Forbidden)
 +</​code>​
безопасность_в_kubernetes.1761553106.txt.gz · Last modified: 2025/10/27 11:18 by val