<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Authentication Strategies on Kiali</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/</link><description>Recent content in Authentication Strategies on Kiali</description><generator>Hugo</generator><language>en</language><atom:link href="https://staging--kiali.netlify.app/docs/configuration/authentication/index.xml" rel="self" type="application/rss+xml"/><item><title>Anonymous strategy</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/anonymous/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/configuration/authentication/anonymous/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The &lt;code&gt;anonymous&lt;/code&gt; strategy removes any authentication requirement. Users will&#10;have access to Kiali without providing any credentials.&lt;/p&gt;&#10;&lt;p&gt;Although the &lt;code&gt;anonymous&lt;/code&gt; strategy doesn&amp;rsquo;t provide any access protection, it&amp;rsquo;s&#10;valid for some use-cases. Some examples known from the community:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Exposing Kiali through a reverse proxy, where the reverse proxy is providing a custom authentication mechanism.&lt;/li&gt;&#10;&lt;li&gt;Exposing Kiali on an already limited network of trusted users.&lt;/li&gt;&#10;&lt;li&gt;When Kiali is accessed through &lt;code&gt;kubectl port-forward&lt;/code&gt; or alike commands that allow usage of the cluster&amp;rsquo;s RBAC capabilities to limit access.&lt;/li&gt;&#10;&lt;li&gt;When developing Kiali, where a developer has a private instance on his own machine.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&#10;&lt;p&gt;It&amp;rsquo;s worth to emphasize that the &lt;code&gt;anonymous&lt;/code&gt;&#10;strategy will leave Kiali unsecured. If you are using this option, make sure&#10;that Kiali is available only to trusted users, or access is protected by other&#10;means.&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Header strategy</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/header/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/configuration/authentication/header/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The &lt;code&gt;header&lt;/code&gt; strategy assumes a reverse proxy is in front of Kiali, such as&#10;OpenUnison or OAuth2 Proxy, injecting the user&amp;rsquo;s identity into each request to&#10;Kiali as an &lt;code&gt;Authorization&lt;/code&gt; header. This token can be an OpenID Connect&#10;token or any other token the cluster recognizes.&lt;/p&gt;&#10;&lt;p&gt;In addition to a user token, the &lt;code&gt;header&lt;/code&gt; strategy supports impersonation&#10;headers. If the impersonation headers are present in the request, then Kiali&#10;will act on behalf of the user specified by the impersonation (assuming the&#10;token supplied in the &lt;code&gt;Authorization&lt;/code&gt; header is authorized to do so).&lt;/p&gt;</description></item><item><title>OpenID Connect strategy</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/openid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/configuration/authentication/openid/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The &lt;code&gt;openid&lt;/code&gt; authentication strategy lets you integrate Kiali to an external&#10;identity provider that implements &lt;a href="https://openid.net/connect/"&gt;OpenID Connect&lt;/a&gt;, and allows&#10;users to login to Kiali using their existing accounts of a&#10;third-party system.&lt;/p&gt;&#10;&lt;p&gt;If your&#10;&lt;a href="https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens"&gt;Kubernetes cluster is also integrated with your OpenId provider&lt;/a&gt;,&#10;then Kiali&amp;rsquo;s &lt;code&gt;openid&lt;/code&gt; strategy can offer&#10;&lt;a href="https://staging--kiali.netlify.app/docs/configuration/rbac/"&gt;namespace access control&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Kiali only supports the &lt;em&gt;authorization code flow&lt;/em&gt; of the &lt;a href="https://openid.net/connect/"&gt;OpenId Connect spec&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;&#10;&lt;p&gt;The &lt;a href="https://staging--kiali.netlify.app/docs/configuration/authentication/session-configs/"&gt;Kiali&amp;rsquo;s signing key&lt;/a&gt; needs to be 16, 24&#10;or 32 byte long. If you install Kiali via the operator and don&amp;rsquo;t set a custom&#10;signing key, the operator should create a 16 byte long signing key.&lt;/p&gt;</description></item><item><title>OpenShift strategy</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/openshift/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/configuration/authentication/openshift/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The &lt;code&gt;openshift&lt;/code&gt; authentication strategy is the preferred and default strategy&#10;when Kiali is deployed on an OpenShift cluster.&lt;/p&gt;&#10;&lt;p&gt;When using the &lt;code&gt;openshift&lt;/code&gt; strategy, a user logging into Kiali will be&#10;redirected to the login page of the OpenShift console. Once the user provides&#10;his OpenShift credentials, he will be redireted back to Kiali and will be&#10;logged in if the user has enough privileges.&lt;/p&gt;&#10;&lt;p&gt;The &lt;code&gt;openshift&lt;/code&gt; strategy supports &lt;a href="https://staging--kiali.netlify.app/docs/configuration/rbac/"&gt;namespace access control&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Token strategy</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/token/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/configuration/authentication/token/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The &lt;code&gt;token&lt;/code&gt; authentication strategy allows a user to login to Kiali using the&#10;token of a Kubernetes ServiceAccount. This is similar to the&#10;&lt;a href="https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/README.md#login-view"&gt;login view of Kubernetes Dashboard&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The &lt;code&gt;token&lt;/code&gt; strategy supports &lt;a href="https://staging--kiali.netlify.app/docs/configuration/rbac/"&gt;namespace access control&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The &lt;code&gt;token&lt;/code&gt; strategy is only supported for single cluster.&lt;/p&gt;&#10;&lt;h2 id="set-up"&gt;Set-up&lt;/h2&gt;&#10;&lt;p&gt;Since &lt;code&gt;token&lt;/code&gt; is the default strategy when deploying Kiali in Kubernetes, you&#10;shouldn&amp;rsquo;t need to configure anything, unless your cluster is OpenShift. If you&#10;want to be verbose or if you need to enable the &lt;code&gt;token&lt;/code&gt; strategy in OpenShift,&#10;use the following configuration in the Kiali CR:&lt;/p&gt;</description></item><item><title>Session options</title><link>https://staging--kiali.netlify.app/docs/configuration/authentication/session-configs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/configuration/authentication/session-configs/</guid><description>&lt;p&gt;There are two settings that are available for the user&amp;rsquo;s session. The first one&#10;is the &lt;strong&gt;session expiration time&lt;/strong&gt;, which is only applicable to&#10;&lt;a href="https://staging--kiali.netlify.app/docs/configuration/authentication/token/"&gt;token&lt;/a&gt; and &lt;a href="https://staging--kiali.netlify.app/docs/configuration/authentication/header/"&gt;header&lt;/a&gt;&#10;authentication strategies:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;login_token&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8"&gt; &lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# By default, users session expires in 24 hours.&lt;/span&gt;&lt;span style="color:#f8f8f8"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;expiration_seconds&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;86400&lt;/span&gt;&lt;span style="color:#f8f8f8"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The session expiration time is the amount of time before the user is asked to&#10;extend his session by another cycle. It does not matter if the user is actively&#10;using Kiali, the user will be asked if the session should be extended.&lt;/p&gt;</description></item></channel></rss>