User Tools

Site Tools


безопасность_в_kubernetes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
безопасность_в_kubernetes [2025/04/02 11:43]
val created
безопасность_в_kubernetes [2025/10/27 16:51] (current)
val [Шаг 2. Создание учетной записи]
Line 1: Line 1:
 ====== Безопасность в Kubernetes ====== ====== Безопасность в Kubernetes ======
  
 +  * [[https://​habr.com/​ru/​articles/​779190/​|Как работает аутентификация в Kubernetes: ServiceAccount и RBAC]]
 +  * [[https://​medium.com/​@muppedaanvesh/​a-hand-on-guide-to-kubernetes-rbac-with-a-user-creation-%EF%B8%8F-1ad9aa3cafb1|A Hands-On Guide to Kubernetes RBAC With a User Creation]]
 +
 +===== Реклама =====
 +
 +  * Kubernetes — это решение,​ превращающее Linux сервера в кластер,​ и, как Linux является многопользовательской,​ многозадачной операционной системой,​ так и Kubernetes позволяет множеству пользователей и приложений работать в одном кластере безопасно разделяя его ресурсы
 +  * На нашем вебинаре Вы узнаете как настраивать права доступа в Kubernetes на примерах практических полезных задач
 +
 +
 +===== Техническое задание =====
 +
 +  * Создать учетную запись пользователя с необходимыми правами и файл конфигурации для подключения младшего системного администратора к Web ресурсам Kubernetes
 +  * Создать учтённую запись для сервиса с необходимыми правами для запуска приложений в Kubernetes
 +
 +===== Запись вебинара =====
 +
 +  * Тэги: ​
 +
 +===== Шаг 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.1743583420.txt.gz · Last modified: 2025/04/02 11:43 by val