{"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\/et\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes","title":{"rendered":"Seome LDAP-autoriseerimise Kubernetesega","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Seome LDAP-autoriseerimise Kubernetesega\" src=\"\/wp-content\/uploads\/2020\/02\/2b0f0a4921e049a78a015e7693d697cf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00fchike juhend selle kohta, kuidas kasutada Keycloaki, et siduda Kubernetes teie LDAP-serveriga ja seadistada kasutajate ja r\u00fchmade importimist. See v\u00f5imaldab konfigureerida RBAC teie kasutajate jaoks ja kasutada auth-proxy't, et kaitsta Kubernetes Dashboardi ja teisi rakendusi, mis ei oska iseseisvalt autoriseerida.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"ustanovka-keycloak\">Keycloaki paigaldamine<\/h2>\n<p><\/p>\n<p>Oletame, et teil on juba LDAP-server. See v\u00f5ib olla Active Directory, FreeIPA, OpenLDAP v\u00f5i midagi muud. Kui LDAP-serverit pole, saate p\u00f5him\u00f5tteliselt luua kasutajaid otse Keycloaki liideses v\u00f5i kasutades avalikke oidc-teenusepakkujaid (Google, Github, Gitlab), tulemus saab olema peaaegu sama.<\/p>\n<p><\/p>\n<p>Esmalt paigaldame Keycloaki, paigaldamine v\u00f5ib toimuda eraldi v\u00f5i otse Kubernetes-klastris, tavaliselt kui teil on mitu Kubernetes-klastrit, oleks lihtsam paigaldada see eraldi. Teiselt poolt saate alati kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/stable\/keycloak\">ametlikku helm-graafikut<\/a><\/noindex> ja paigaldada selle otse oma klastrisse.<\/p>\n<p><\/p>\n<p>Keycloaki andmete salvestamiseks vajate andmebaasi. Vaikimisi kasutatakse <code>h2<\/code> (k\u00f5ik andmed salvestatakse kohapeal), kuid v\u00f5imalik on kasutada ka <code>postgres<\/code>, <code>mysql<\/code> v\u00f5i <code>mariadb<\/code>.<br \/>\nKui siiski otsustate Keycloaki eraldi paigaldada, leiate \u00fcksikasjalikumad juhised <noindex><a rel=\"nofollow\" href=\"https:\/\/www.keycloak.org\/docs\/latest\/getting_started\/index.html\">ametlikust dokumentatsioonist<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-federacii\">F\u00f6deratsiooni seadistamine<\/h2>\n<p><\/p>\n<p>Esmalt loome uue realm'i. Realm on meie rakenduse ruum. Igal rakendusel v\u00f5ib olla oma realm erinevate kasutajate ja autoriseerimiseseadeustega. Master realm'i kasutab Keycloak ise ja selle kasutamine millegi muuna pole \u00f5ige.<\/p>\n<p><\/p>\n<p>Kl\u00f5psame <strong>Lisa realm<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Nimi<\/strong><br \/>\n<code>kubernetes<\/code><\/p>\n<p><strong>Kuvamise nimi<\/strong><br \/>\n<code>Kubernetes<\/code><\/p>\n<p><strong>HTML kuvamise nimi<\/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 kontrollib vaikimisi, kas kasutaja e-kiri on kinnitatud v\u00f5i mitte. Kuna kasutame oma LDAP-serverit, siis see kontroll tagastab peaaegu alati <code>false<\/code>. L\u00fclitame selle parameetri kuvamise Kuberneteses v\u00e4lja:<\/p>\n<p><\/p>\n<p><strong>Kliendi ulatuste<\/strong> &#8212;&gt; <strong>E-post<\/strong> &#8212;&gt; <strong>Mapper'id<\/strong> &#8212;&gt; <strong>E-kiri on kinnitatud<\/strong> (Kustuta)<\/p>\n<p><\/p>\n<p>N\u00fc\u00fcd seadistame f\u00f6deratsiooni, selleks liigume:<\/p>\n<p><\/p>\n<p><strong>Kasutaja f\u00f6deratsioon<\/strong> &#8212;&gt; <strong>Add provider&#8230;<\/strong> &#8212;&gt; <strong>ldap<\/strong><\/p>\n<p><\/p>\n<p>Toon n\u00e4ite FreeIPA seadistuse kohta:<\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Konsoli kuvamise nimi<\/strong><br \/>\n<code>freeipa.example.org<\/code><\/p>\n<p><strong>Tootja<\/strong><br \/>\n<code>Red Hat Directory Server<\/code><\/p>\n<p><strong>UUID LDAP atribuudi<\/strong><br \/>\n<code>ipauniqueid<\/code><\/p>\n<p><strong>\u00dchenduse URL<\/strong><br \/>\n<code>ldaps:\/\/freeipa.example.org<\/code><\/p>\n<p><strong>Kasutajate 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>Bind Credential<\/strong><br \/>\n<code>&lt;password&gt;<\/code><\/p>\n<p><strong>Lubage Kerberose autentimine:<\/strong><br \/>\n<code>on<\/code><\/p>\n<p><strong>Kerberose realm:<\/strong><br \/>\n<code>EXAMPLE.ORG<\/code><\/p>\n<p><strong>Serveri peamine:<\/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>Kasutajat <code>keycloak-svc<\/code> tuleb eelnevalt meie LDAP-serveris luua.<\/p>\n<p><\/p>\n<p>Active Directory puhul piisab lihtsalt valimisest <strong>Tootja: Active Directory<\/strong> ja vajalikud seaded t\u00e4iendavad vormi automaatselt.<\/p>\n<p><\/p>\n<p>Kl\u00f5psame <strong>Salvesta<\/strong><\/p>\n<p><\/p>\n<p>Liigume edasi:<\/p>\n<p><\/p>\n<p><strong>Kasutaja f\u00f6deratsioon<\/strong> &#8212;&gt; <strong>freeipa.example.org<\/strong> &#8212;&gt; <strong>Mapper'id<\/strong> &#8212;&gt; <strong>Eesnimi<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Ldap atribuut<\/strong><br \/>\n<code>givenName<\/code><\/p>\n<p><\/p>\n<p>N\u00fc\u00fcd l\u00fclitame sisse grupide mappimise:<\/p>\n<p><\/p>\n<p><strong>Kasutaja f\u00f6deratsioon<\/strong> &#8212;&gt; <strong>freeipa.example.org<\/strong> &#8212;&gt; <strong>Mapper'id<\/strong> &#8212;&gt; <strong>Loo<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Nimi<\/strong><br \/>\n<code>groups<\/code><\/p>\n<p><strong>Mappimise t\u00fc\u00fcp<\/strong><br \/>\n<code>group-ldap-mapper<\/code><\/p>\n<p><strong>LDAP Gruppide DN<\/strong><br \/>\n<code>cn=groups,cn=accounts,dc=example,dc=org<\/code><\/p>\n<p><strong>Kasutaja Gruppide Retrieve Strateegia<\/strong><br \/>\n<code>GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE<\/code><\/p>\n<p><\/p>\n<p>Sellega on f\u00f6deratsiooni seadistus l\u00f5petatud, liikume kliendi seadistamise juurde.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-klienta\">Kliendi seadistamine<\/h2>\n<p><\/p>\n<p>Loome uue kliendi (rakenduse, mis saavad kasutajaid Keycloakist). Liigume:<\/p>\n<p><\/p>\n<p><strong>Kliendid<\/strong> &#8212;&gt; <strong>Loo<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Client ID<\/strong><br \/>\n<code>kubernetes<\/code><\/p>\n<p><strong>Juurdep\u00e4\u00e4su t\u00fc\u00fcp<\/strong><br \/>\n<code>konfidentsiaalne<\/code><\/p>\n<p><strong>Juurlink<\/strong><br \/>\n<code>http:\/\/kubernetes.example.org\/<\/code><\/p>\n<p><strong>Kehtivad \u00fcmbersuunamise URI-d<\/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>Samuti loome grupide jaoks scope:<\/p>\n<p><\/p>\n<p><strong>Kliendi Scopes<\/strong> &#8212;&gt; <strong>Loo<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Mall<\/strong><br \/>\n<code>Ilma mallita<\/code><\/p>\n<p><strong>Nimi<\/strong><br \/>\n<code>groups<\/code><\/p>\n<p><strong>T\u00e4ielik grupitee<\/strong><br \/>\n<code>false<\/code><\/p>\n<p><\/p>\n<p>Ja seadistame nende jaoks mappimise:<\/p>\n<p><\/p>\n<p><strong>Kliendi Scopes<\/strong> &#8212;&gt; <strong>groups<\/strong> &#8212;&gt; <strong>Mapper'id<\/strong> &#8212;&gt; <strong>Loo<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Nimi<\/strong><br \/>\n<code>groups<\/code><\/p>\n<p><strong>Mappimise t\u00fc\u00fcp<\/strong><br \/>\n<code>Grupi kuuluvus<\/code><\/p>\n<p><strong>Tokeni kaitsenimi<\/strong><br \/>\n<code>groups<\/code><\/p>\n<p><\/p>\n<p>N\u00fc\u00fcd peame l\u00fclitama grupide mappimise meie kliendi\u8303\u56f4:<\/p>\n<p><\/p>\n<p><strong>Kliendid<\/strong> &#8212;&gt; <strong>kubernetes<\/strong> &#8212;&gt; <strong>Kliendi Scopes<\/strong> &#8212;&gt; <strong>Vaikimisi kliendi scoperid<\/strong><\/p>\n<p><\/p>\n<p>Valime <strong>groups<\/strong> ja <strong>Saadaval kliendi scoperid<\/strong>, kl\u00f5psake <strong>Lisa valitud<\/strong><\/p>\n<p><\/p>\n<p>N\u00fc\u00fcd seadistame rakenduse autentimise, liigume:<\/p>\n<p><\/p>\n<p><strong>Kliendid<\/strong> &#8212;&gt; <strong>kubernetes<\/strong><\/p>\n<p><\/p>\n<p>Valik<br \/>\nV\u00e4\u00e4rtus<\/p>\n<p><strong>Autoriseerimine lubatud<\/strong><br \/>\n<code>KAS<\/code><\/p>\n<p><\/p>\n<p>Kl\u00f5psake <strong>salvesta<\/strong> ja sellega on kliendi seadistus l\u00f5petatud, n\u00fc\u00fcd vahekaardil<\/p>\n<p><\/p>\n<p><strong>Kliendid<\/strong> &#8212;&gt; <strong>kubernetes<\/strong> &#8212;&gt; <strong>Krediteerimine<\/strong><\/p>\n<p><\/p>\n<p>saate hankida <strong>Secret<\/strong> mida me hiljem kasutame.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-kubernetes\">Kubernetes'e seadistamine<\/h2>\n<p><\/p>\n<p>Kubernetes'i seadistamine OIDC-autoriseerimiseks on piisavalt triviaalne ja ei ole eriti keeruline. K\u00f5ik, mis teil on vaja, on panna CA-sertifikaat teie OIDC-serverist <code>\/etc\/kubernetes\/pki\/oidc-ca.pem<\/code> ja lisada vajalikud valikud kube-apiserverile.<br \/>\nSelleks v\u00e4rskendage <code>\/etc\/kubernetes\/manifests\/kube-apiserver.yaml<\/code> k\u00f5ikidel teie juhtmasteritel:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">...\nspec:\n  konteinerid:\n  - k\u00e4sk:\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>Ja v\u00e4rskendage ka kubeadm konfiguuri klastris, et neid seadeid uuendamise ajal mitte kaotada:<\/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>Sellega on Kubernetes seadistus l\u00f5petatud. Saate samu samme kordata k\u00f5ikides oma Kubernetes klastrites.<\/p>\n<p><\/p>\n<h2 id=\"nachalnaya-avtorizaciya\">Esialgne autoriseerimine<\/h2>\n<p><\/p>\n<p>P\u00e4rast neid toiminguid on teil juba Kubernetes klaster seadistatud OIDC-autoriseerimisega. Ainult see, et teie kasutajatel ei ole veel seadistatud klienti nagu ka oma kubeconfigi. Selle probleemi lahendamiseks tuleb seadistada automaatne kubeconfigi andmine kasutajatele p\u00e4rast eduka autoriseerimise.<\/p>\n<p><\/p>\n<p>Selleks v\u00f5ite kasutada spetsiaalseid veebirakendusi, mis v\u00f5imaldavad kasutajakontot autentida ja seej\u00e4rel valmis kubeconfigi alla laadida. \u00dcks mugavamaid on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/negz\/kuberos\">Kuberos<\/a><\/noindex>, see v\u00f5imaldab \u00fches konfiguratsioonis kirjeldada k\u00f5iki Kubernetes-klastrite ja kergesti nende vahel l\u00fclituda.<\/p>\n<p><\/p>\n<p>Kuberos seadistamiseks on piisav, kui kirjeldada template kubeconfigile ja k\u00e4ivitada j\u00e4rgmiste parameetritega:<\/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>Rohkem \u00fcksikasjade saamiseks vaadake <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/negz\/kuberos#usage\">Kasutus<\/a><\/noindex> GitHubis.<\/p>\n<p><\/p>\n<p>Samuti on v\u00f5imalik kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/int128\/kubelogin\">kubelogin<\/a><\/noindex> , kui soovite autentida otse kasutaja arvutis. Sel juhul avaneb kasutajale brauseris autentimisvorm localhostis.<\/p>\n<p><\/p>\n<p>Saadud kubeconfigi saab kontrollida veebisaidil <noindex><a rel=\"nofollow\" href=\"https:\/\/jwt.io\/#debugger-io\">jwt.io<\/a><\/noindex>. Lihtsalt kopeerige v\u00e4\u00e4rtus <code>users[].user.auth-provider.config.id-token<\/code> oma kubeconfigist vormi ja saate kohe t\u00f5lgenduse.<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-rbac\">RBAC seadistamine<\/h2>\n<p><\/p>\n<p>RBAC seadistamisel on v\u00f5imalik viidata nii kasutajanimele (v\u00e4lja <code>nimi<\/code> jwt-tokenis), kui ka kasutajagruppidele (v\u00e4lja <code>groups<\/code> jwt-tokenis). Siin on n\u00e4ide \u00f5iguste seadistamisest grupile <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>Rohkem n\u00e4iteid RBAC kohta leiate <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/rbac\/\">Kubernetes'e ametlikust dokumentatsioonist<\/a><\/noindex><\/p>\n<p><\/p>\n<h2 id=\"nastroyka-auth-proxy\">auth-proxy seadistamine<\/h2>\n<p><\/p>\n<p>On olemas suurep\u00e4rane projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keycloak\/keycloak-gatekeeper\">keycloak-gatekeeper<\/a><\/noindex>, mis kaitseb igasuguseid rakendusi, pakkudes kasutajale v\u00f5imalust autentida OIDC-serveris. N\u00e4itan, kuidas seda seadistada Kubernetes Dashboardi n\u00e4itel:<\/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>Allikas: <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.1.1 - 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\/et\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47 LDAP-autentimise integreerimine Kubernetesega | ProHoster","description":"L\u00fchike juhend selle kohta, kuidas.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/prikruchivaem-ldap-avtorizacziyu-k-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/70867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=70867"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/70867\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/70868"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=70867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=70867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=70867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}