{"id":70867,"date":"2020-02-22T06:40:58","date_gmt":"2020-02-22T03:40:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes"},"modified":"2020-03-03T16:14:36","modified_gmt":"2020-03-03T13:14:36","slug":"prikruchivaem-ldap-avtorizacziyu-k-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes","title":{"rendered":"Vi kopplar LDAP-autorisering till Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Vi kopplar LDAP-autorisering till Kubernetes\" src=\"\/wp-content\/uploads\/2020\/02\/2b0f0a4921e049a78a015e7693d697cf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En liten instruktion om hur man med hj\u00e4lp av Keycloak kan koppla Kubernetes till din LDAP-server och konfigurera import av anv\u00e4ndare och grupper. Detta g\u00f6r det m\u00f6jligt att st\u00e4lla in RBAC f\u00f6r dina anv\u00e4ndare och anv\u00e4nda auth-proxy f\u00f6r att skydda Kubernetes Dashboard och andra applikationer som inte kan autentisera sig sj\u00e4lva.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"ustanovka-keycloak\">Installation av Keycloak<\/h2>\n<p><\/p>\n<p>Anta att du redan har en LDAP-server. Det kan vara Active Directory, FreeIPA, OpenLDAP eller n\u00e5got annat. Om du inte har en LDAP-server kan du i princip skapa anv\u00e4ndare direkt i Keycloaks gr\u00e4nssnitt eller anv\u00e4nda offentliga oidc-leverant\u00f6rer (Google, Github, Gitlab), resultatet blir n\u00e4stan detsamma.<\/p>\n<p><\/p>\n<p>F\u00f6rst installerar vi sj\u00e4lva Keycloak, installationen kan g\u00f6ras separat eller direkt i Kubernetes-klustret. Om du har flera Kubernetes-kluster \u00e4r det oftast enklare att installera det separat. \u00c5 andra sidan kan du alltid anv\u00e4nda <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/stable\/keycloak\">den officiella helm-diagrammet<\/a><\/noindex> och installera det direkt i ditt kluster.<\/p>\n<p><\/p>\n<p>F\u00f6r att lagra data till Keycloak beh\u00f6ver du en databas. Som standard anv\u00e4nds <code>h2<\/code> (alla data lagras lokalt), men du kan ocks\u00e5 anv\u00e4nda <code>postgres<\/code>, <code>mysql<\/code> eller <code>mariadb<\/code>.<br \/>\nOm du \u00e4nd\u00e5 har best\u00e4mt dig f\u00f6r att installera Keycloak separat hittar du mer detaljerade instruktioner i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.keycloak.org\/docs\/latest\/getting_started\/index.html\">den officiella dokumentationen<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-federacii\">Konfigurering av federation<\/h2>\n<p><\/p>\n<p>F\u00f6rst skapar vi en ny realm. En realm \u00e4r rummet f\u00f6r v\u00e5r applikation. Varje applikation kan ha sin egen realm med olika anv\u00e4ndare och autentiseringens inst\u00e4llningar. Master realm anv\u00e4nds av Keycloak sj\u00e4lvt och det \u00e4r fel att anv\u00e4nda det till n\u00e5got annat.<\/p>\n<p><\/p>\n<p>Klicka p\u00e5 <strong>L\u00e4gg till realm<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Namn<\/strong><br \/>\n<code>kubernetes<\/code><\/p>\n<p><strong>Visningsnamn<\/strong><br \/>\n<code>Kubernetes<\/code><\/p>\n<p><strong>HTML Visningsnamn<\/strong><br \/>\n<code>&lt;img src=&quot;https:\/\/kubernetes.io\/images\/nav_logo.svg&quot; width=&quot;400&quot; &gt;<\/code><\/p>\n<p><\/p>\n<p>Kubernetes kontrollerar som standard om anv\u00e4ndarens e-post \u00e4r verifierad eller inte. Eftersom vi anv\u00e4nder v\u00e5r egen LDAP-server kommer denna kontroll n\u00e4stan alltid att returnera <code>false<\/code>. L\u00e5t oss st\u00e4nga av visningen av denna parameter i Kubernetes:<\/p>\n<p><\/p>\n<p><strong>Klienter<\/strong> &#8212;&gt; <strong>Email<\/strong> &#8212;&gt; <strong>Mappers<\/strong> &#8212;&gt; <strong>E-post verifierad<\/strong> (Ta bort)<\/p>\n<p><\/p>\n<p>Nu st\u00e4ller vi in federation, g\u00e5 till:<\/p>\n<p><\/p>\n<p><strong>Anv\u00e4ndarfederation<\/strong> &#8212;&gt; <strong>Add provider&#8230;<\/strong> &#8212;&gt; <strong>ldap<\/strong><\/p>\n<p><\/p>\n<p>H\u00e4r \u00e4r ett exempel p\u00e5 konfiguration f\u00f6r FreeIPA:<\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Konsol Visningsnamn<\/strong><br \/>\n<code>freeipa.example.org<\/code><\/p>\n<p><strong>Leverant\u00f6r<\/strong><br \/>\n<code>Red Hat Directory Server<\/code><\/p>\n<p><strong>UUID LDAP-attribut<\/strong><br \/>\n<code>ipauniqueid<\/code><\/p>\n<p><strong>Anslutnings-URL<\/strong><br \/>\n<code>ldaps:\/\/freeipa.example.org<\/code><\/p>\n<p><strong>Anv\u00e4ndares DN<\/strong><br \/>\n<code>cn=users,cn=accounts,dc=example,dc=org<\/code><\/p>\n<p><strong>Bind DN<\/strong><br \/>\n<code>uid=keycloak-svc,cn=users,cn=accounts,dc=example,dc=org<\/code><\/p>\n<p><strong>Bindningsuppgift<\/strong><br \/>\n<code>&lt;password&gt;<\/code><\/p>\n<p><strong>Till\u00e5t Kerberos-autentisering:<\/strong><br \/>\n<code>on<\/code><\/p>\n<p><strong>Kerberos Realm:<\/strong><br \/>\n<code>EXAMPLE.ORG<\/code><\/p>\n<p><strong>Server Principal:<\/strong><br \/>\n<code>HTTP\/freeipa.example.org@EXAMPLE.ORG<\/code><\/p>\n<p><strong>KeyTab:<\/strong><br \/>\n<code>\/etc\/krb5.keytab<\/code><\/p>\n<p><\/p>\n<p>Anv\u00e4ndaren <code>keycloak-svc<\/code> m\u00e5ste skapas i f\u00f6rv\u00e4g p\u00e5 v\u00e5r LDAP-server.<\/p>\n<p><\/p>\n<p>I fallet med Active Directory r\u00e4cker det att bara v\u00e4lja <strong>Leverant\u00f6r: Active Directory<\/strong> och n\u00f6dv\u00e4ndiga inst\u00e4llningar fylls automatiskt i formul\u00e4ret.<\/p>\n<p><\/p>\n<p>Klicka p\u00e5 <strong>Save<\/strong><\/p>\n<p><\/p>\n<p>Nu g\u00e5r vi till:<\/p>\n<p><\/p>\n<p><strong>Anv\u00e4ndarfederation<\/strong> &#8212;&gt; <strong>freeipa.example.org<\/strong> &#8212;&gt; <strong>Mappers<\/strong> &#8212;&gt; <strong>F\u00f6rnamn<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Ldap-attribut<\/strong><br \/>\n<code>givenName<\/code><\/p>\n<p><\/p>\n<p>L\u00e5t oss nu aktivera gruppmappning:<\/p>\n<p><\/p>\n<p><strong>Anv\u00e4ndarfederation<\/strong> &#8212;&gt; <strong>freeipa.example.org<\/strong> &#8212;&gt; <strong>Mappers<\/strong> &#8212;&gt; <strong>Skapa<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Namn<\/strong><br \/>\n<code>grupper<\/code><\/p>\n<p><strong>Mapper typ<\/strong><br \/>\n<code>group-ldap-mapper<\/code><\/p>\n<p><strong>LDAP-grupper DN<\/strong><br \/>\n<code>cn=groups,cn=accounts,dc=example,dc=org<\/code><\/p>\n<p><strong>Anv\u00e4ndargruppers h\u00e4mtstrategi<\/strong><br \/>\n<code>GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE<\/code><\/p>\n<p><\/p>\n<p>Nu \u00e4r konfigurationen av federationen klar, l\u00e5t oss g\u00e5 vidare till klientkonfigurationen.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-klienta\">Konfigurera klienten<\/h2>\n<p><\/p>\n<p>Vi skapar en ny klient (applikation som kommer att h\u00e4mta anv\u00e4ndare fr\u00e5n Keycloak). G\u00e5 till:<\/p>\n<p><\/p>\n<p><strong>Klienter<\/strong> &#8212;&gt; <strong>Skapa<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Klient-ID<\/strong><br \/>\n<code>kubernetes<\/code><\/p>\n<p><strong>\u00c5tkomsttyp<\/strong><br \/>\n<code>confidenrial<\/code><\/p>\n<p><strong>Rot-URL<\/strong><br \/>\n<code>http:\/\/kubernetes.example.org\/<\/code><\/p>\n<p><strong>Giltiga omdirigerings-URIs<\/strong><br \/>\n<code>http:\/\/kubernetes.example.org\/*<\/code><\/p>\n<p><strong>Admin-URL<\/strong><br \/>\n<code>http:\/\/kubernetes.example.org\/<\/code><\/p>\n<p><\/p>\n<p>Vi skapar ocks\u00e5 ett scope f\u00f6r grupper:<\/p>\n<p><\/p>\n<p><strong>Klientomf\u00e5ng<\/strong> &#8212;&gt; <strong>Skapa<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Mall<\/strong><br \/>\n<code>Ingen mall<\/code><\/p>\n<p><strong>Namn<\/strong><br \/>\n<code>grupper<\/code><\/p>\n<p><strong>Full gruppv\u00e4g<\/strong><br \/>\n<code>false<\/code><\/p>\n<p><\/p>\n<p>Och vi konfigurerar mappare f\u00f6r dem:<\/p>\n<p><\/p>\n<p><strong>Klientomf\u00e5ng<\/strong> &#8212;&gt; <strong>grupper<\/strong> &#8212;&gt; <strong>Mappers<\/strong> &#8212;&gt; <strong>Skapa<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Namn<\/strong><br \/>\n<code>grupper<\/code><\/p>\n<p><strong>Mapper-typ<\/strong><br \/>\n<code>Gruppmedlemskap<\/code><\/p>\n<p><strong>Token kravnamn<\/strong><br \/>\n<code>grupper<\/code><\/p>\n<p><\/p>\n<p>Nu beh\u00f6ver vi aktivera gruppmappningen i v\u00e5rt klientomf\u00e5ng:<\/p>\n<p><\/p>\n<p><strong>Klienter<\/strong> &#8212;&gt; <strong>kubernetes<\/strong> &#8212;&gt; <strong>Klientomf\u00e5ng<\/strong> &#8212;&gt; <strong>Standard klientomf\u00e5ng<\/strong><\/p>\n<p><\/p>\n<p>V\u00e4lj <strong>grupper<\/strong> p\u00e5 <strong>Tillg\u00e4ngliga klientomf\u00e5ng<\/strong>, tryck p\u00e5 <strong>L\u00e4gg till valda<\/strong><\/p>\n<p><\/p>\n<p>Nu konfigurerar vi autentiseringen av v\u00e5r applikation, g\u00e5 vidare till:<\/p>\n<p><\/p>\n<p><strong>Klienter<\/strong> &#8212;&gt; <strong>kubernetes<\/strong><\/p>\n<p><\/p>\n<p>Alternativ<br \/>\nV\u00e4rde<\/p>\n<p><strong>Beh\u00f6righet aktiverad<\/strong><br \/>\n<code>P\u00c5<\/code><\/p>\n<p><\/p>\n<p>Klicka p\u00e5 <strong>spara<\/strong> och nu \u00e4r klientkonfigurationen avslutad, g\u00e5 till fliken<\/p>\n<p><\/p>\n<p><strong>Klienter<\/strong> &#8212;&gt; <strong>kubernetes<\/strong> &#8212;&gt; <strong>Referenser<\/strong><\/p>\n<p><\/p>\n<p>d\u00e4r kan du f\u00e5 <strong>Hemmelighet<\/strong> som vi kommer att anv\u00e4nda fram\u00f6ver.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-kubernetes\">Konfigurering av Kubernetes<\/h2>\n<p><\/p>\n<p>Konfiguration av Kubernetes f\u00f6r OIDC-autentisering \u00e4r ganska trivial och inget komplicerat. Det du beh\u00f6ver g\u00f6ra \u00e4r att l\u00e4gga CA-certifikat f\u00f6r din OIDC-server i <code>\/etc\/kubernetes\/pki\/oidc-ca.pem<\/code> och l\u00e4gga till n\u00f6dv\u00e4ndiga alternativ f\u00f6r kube-apiserver.<br \/>\nF\u00f6r detta, uppdatera <code>\/etc\/kubernetes\/manifests\/kube-apiserver.yaml<\/code> p\u00e5 alla dina noder:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">...\nspec:\n  containers:\n  - command:\n    - kube-apiserver\n...\n    - --oidc-ca-file=\\\/etc\\\/kubernetes\\\/pki\\\/oidc-ca.pem\n    - --oidc-client-id=kubernetes\n    - --oidc-groups-claim=groups\n    - --oidc-issuer-url=https:\\\/\\\/keycloak.example.org\\\/auth\\\/realms\\\/kubernetes\n    - --oidc-username-claim=email\n...<\/code><\/pre>\n<p><\/p>\n<p>Och uppdatera kubeadm-konfigurationen i klustret f\u00f6r att inte f\u00f6rlora dessa inst\u00e4llningar vid uppgradering:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl edit -n kube-system configmaps kubeadm-config<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\">...\ndata:\n  ClusterConfiguration: |\n    apiServer:\n      extraArgs:\n        oidc-ca-file: \\\/etc\\\/kubernetes\\\/pki\\\/oidc-ca.pem\n        oidc-client-id: kubernetes\n        oidc-groups-claim: groups\n        oidc-issuer-url: https:\\\/\\\/keycloak.example.org\\\/auth\\\/realms\\\/kubernetes\n        oidc-username-claim: email\n...<\/code><\/pre>\n<p><\/p>\n<p>Nu \u00e4r konfigurationen av Kubernetes klar. Du kan upprepa dessa \u00e5tg\u00e4rder i alla dina Kubernetes-kluster.<\/p>\n<p><\/p>\n<h2 id=\"nachalnaya-avtorizaciya\">Inledande autentisering<\/h2>\n<p><\/p>\n<p>Efter dessa \u00e5tg\u00e4rder kommer du att ha ett Kubernetes-kluster med konfigurerad OIDC-autentisering. Det enda problemet \u00e4r att dina anv\u00e4ndare f\u00f6r tillf\u00e4llet inte har konfigurerade klienter eller sina egna kubeconfig. F\u00f6r att l\u00f6sa detta problem beh\u00f6ver du konfigurera automatisk utf\u00e4rdande av kubeconfig f\u00f6r anv\u00e4ndare efter lyckad autentisering.<\/p>\n<p><\/p>\n<p>F\u00f6r detta kan du anv\u00e4nda speciella webbapplikationer som m\u00f6jligg\u00f6r autentisering av anv\u00e4ndaren och sedan ladda ner en f\u00e4rdig kubeconfig. En av de mest anv\u00e4ndarv\u00e4nliga \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/negz\/kuberos\">Kuberos<\/a><\/noindex>, den l\u00e5ter dig beskriva alla Kubernetes-kluster i en konfiguration och enkelt v\u00e4xla mellan dem.<\/p>\n<p><\/p>\n<p>F\u00f6r att konfigurera Kuberos beh\u00f6ver du bara beskriva mallen f\u00f6r kubeconfig och k\u00f6ra med f\u00f6ljande parametrar:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kuberos https:\/\/keycloak.example.org\/auth\/realms\/kubernetes kubernetes \/cfg\/secret \/cfg\/template<\/code><\/pre>\n<p><\/p>\n<p>F\u00f6r mer detaljerad information, se <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/negz\/kuberos#usage\">Anv\u00e4ndning<\/a><\/noindex> p\u00e5 Github.<\/p>\n<p><\/p>\n<p>Det \u00e4r ocks\u00e5 m\u00f6jligt att anv\u00e4nda <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/int128\/kubelogin\">kubelogin<\/a><\/noindex> om du vill autentisera direkt p\u00e5 anv\u00e4ndarens dator. I s\u00e5 fall \u00f6ppnas en webbl\u00e4sare med en autentiseringsformul\u00e4r p\u00e5 localhost.<\/p>\n<p><\/p>\n<p>Den erh\u00e5llna kubeconfig kan kontrolleras p\u00e5 webbplatsen <noindex><a rel=\"nofollow\" href=\"https:\/\/jwt.io\/#debugger-io\">jwt.io<\/a><\/noindex>. Kopiera bara v\u00e4rdet <code>users[].user.auth-provider.config.id-token<\/code> fr\u00e5n din kubeconfig till formul\u00e4ret p\u00e5 webbplatsen och f\u00e5 direkt avkodning.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-rbac\">RBAC-konfiguration<\/h2>\n<p><\/p>\n<p>Vid konfiguration av RBAC kan du referera till b\u00e5de anv\u00e4ndarnamn (f\u00e4lt <code>name<\/code> i jwt-token), s\u00e5v\u00e4l som anv\u00e4ndargrupp (f\u00e4lt <code>grupper<\/code> i jwt-token). H\u00e4r \u00e4r ett exempel p\u00e5 \u00e5tkomstinst\u00e4llningar f\u00f6r gruppen <code>kubernetes-default-namespace-admins<\/code>:<\/p>\n<p>\n<b class=\"spoiler_title\">kubernetes-default-namespace-admins.yaml<\/b><\/p>\n<pre><code class=\"plaintext\">apiVersion: rbac.authorization.k8s.io\/v1\nkind: Role\nmetadata:\n  name: default-admins\n  namespace: default\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io\/v1\nkind: RoleBinding\nmetadata:\n  name: kubernetes-default-namespace-admins\n  namespace: default\nroleRef:\n  apiGroup: rbac.authorization.k8s.io\n  kind: Role\n  name: default-admins\nsubjects:\n- apiGroup: rbac.authorization.k8s.io\n  kind: Group\n  name: kubernetes-default-namespace-admins<\/code><\/pre>\n<p><\/p>\n<p>Fler exempel p\u00e5 RBAC kan hittas i <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/rbac\/\">den officiella Kubernetes-dokumentationen<\/a><\/noindex><\/p>\n<p><\/p>\n<h2 id=\"nastroyka-auth-proxy\">Inst\u00e4llningar f\u00f6r auth-proxy<\/h2>\n<p><\/p>\n<p>Det finns ett fantastiskt projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keycloak\/keycloak-gatekeeper\">keycloak-gatekeeper<\/a><\/noindex>, som g\u00f6r det m\u00f6jligt att skydda vilken applikation som helst, genom att ge anv\u00e4ndaren m\u00f6jlighet att autentisera sig mot OIDC-servern. Jag kommer att visa hur man konfigurerar det med Kubernetes Dashboard som exempel:<\/p>\n<p>\n<b class=\"spoiler_title\">dashboard-proxy.yaml<\/b><\/p>\n<pre><code class=\"plaintext\">apiVersion: extensions\/v1beta1\nkind: Deployment\nmetadata:\n  name: kubernetes-dashboard-proxy\nspec:\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: kubernetes-dashboard-proxy\n    spec:\n      containers:\n      - args:\n        - --listen=0.0.0.0:80\n        - --discovery-url=https:\/\/keycloak.example.org\/auth\/realms\/kubernetes\n        - --client-id=kubernetes\n        - --client-secret=\n        - --redirection-url=https:\/\/kubernetes-dashboard.example.org\n        - --enable-refresh-tokens=true\n        - --encryption-key=ooTh6Chei1eefooyovai5ohwienuquoh\n        - --upstream-url=https:\/\/kubernetes-dashboard.kube-system\n        - --resources=uri=\/*\n        image: keycloak\/keycloak-gatekeeper\n        name: kubernetes-dashboard-proxy\n        ports:\n        - containerPort: 80\n          livenessProbe:\n            httpGet:\n              path: \/oauth\/health\n              port: 80\n            initialDelaySeconds: 3\n            timeoutSeconds: 2\n          readinessProbe:\n            httpGet:\n              path: \/oauth\/health\n              port: 80\n            initialDelaySeconds: 3\n            timeoutSeconds: 2\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: kubernetes-dashboard-proxy\nspec:\n  ports:\n  - port: 80\n    protocol: TCP\n    targetPort: 80\n  selector:\n    app: kubernetes-dashboard-proxy\n  type: ClusterIP<\/code><\/pre>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/441112\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Keycloak \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c Kubernetes \u0441 \u0432\u0430\u0448\u0438\u043c LDAP-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u043c\u043f\u043e\u0440\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0433\u0440\u0443\u043f\u043f. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c RBAC \u0434\u043b\u044f \u0432\u0430\u0448\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c auth-proxy \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c Kubernetes Dashboard \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u043c\u0435\u044e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Keycloak \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c LDAP-\u0441\u0435\u0440\u0432\u0435\u0440. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c Active [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":70868,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-70867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c LDAP-\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043a Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-22T03:40:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:14:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Anslut LDAP-autentisering till Kubernetes | ProHoster","description":"En kort instruktion om hur.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c LDAP-\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043a Kubernetes | ProHoster","og:description":"\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-22T03:40:58+00:00","article:modified_time":"2020-03-03T13:14:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"70867","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:12:23","updated":"2022-09-28 01:58:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/70867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=70867"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/70867\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/70868"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=70867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=70867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=70867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}