Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:kubernetes:role_rolebinding_authobjects

Dies ist eine alte Version des Dokuments!


Anlegen von Authentifizierungs Objekten (User), Rollen, Cluster-Rollen und die Bindings

Erstellen eines Authentifizierung Objektes (User) mit Hilfe von OpenSSL Schlüssel und Zertifikat

Schlüssel und Zertifikat erstellen

openssl genrsa -out myuser.key 2048
openssl req -new -key myuser.key \
    -subj "/C=DK/ST=DK/O=''/CN=myuser" \
    -out myuser.csr

Extraieren des CSR (certificate signing request)

cat myuser.csr | base64 | tr -d "\n"

Erstellen eines Kubernetes CSR Objektes

apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
  name: myuser
spec:
  groups:
  - system:authenticated
  request: #einfügen der Ausgabe "extraieren des CSR"
  signerName: kubernetes.io/kube-apiserver-client
  usages:
  - client auth

Kubernetes CSR approven

kubectl get csr
kubectl certificate approve myuser

Extrahieren des von Kubernetes genehmigten signierten Zertifikates

kubectl get csr myuser -o jsonpath='{.status.certificate}'| base64 -d > myuser.crt

RBAC (Role und RoleBinding)

Erstellen einer Rolle für das Authentifizierungs Objekt (User)

!!!achtet auf den Namespace!!!

kubectl create role wiki-projekt --verb="*" --namespace wiki \
    --resource=pod \
    --resource=service \
    --resource=configmap \
    --resource=secret \
    --resource=ingress \
    --resource=daemonset \
    --resource=replicaset \
    --resource=deployment \
    --resource=job

Verknüpfen der Rolle mit unserem Authentifizierungs Objekt (Verbindung mittels Subjectes) mittels RoleBinding

kubectl create rolebinding wiki-projekt-binding --role=wiki-projekt --user=myuser --namespace wiki

Aufräumen

kubectl delete csr myuser

extraieren der Konfig in unsere lokalen Konfigurationsdatei

~/.kube/config

kubectl config set-credentials myuser --client-key=myuser.key --client-certificate=myuser.crt --embed-certs=true
kubectl config set-context myuser --cluster=kubernetes --user=myuser
kubectl config use-context myuser



it-wiki/kubernetes/role_rolebinding_authobjects.1693473889.txt.gz · Zuletzt geändert: 2023/08/31 09:24 von marko