Merhaba, helm ile deploy ettiğimiz kube-prometheus-stack içerisindeki grafana’yı google sso’ya bağlayacağız.
Helm chartları incelemek için;
- https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
- https://github.com/grafana/helm-charts/tree/main/charts/grafana
Kube prometheus stack helm value’ları içerisinde sso ile ilgili kısıtlı bilgi var. Grafana sso ile ilgili genel sso ayarlarına aşağıdaki link üzerinden erişim sağlayabilirsiniz.
Fakat bu makaledeki ayarlar kubernetes için yeterli ve uygun değil. Makaledeki google sso tanımlarını gerçekleştirdikten sonra;
Aşağıdaki gibi helm values dosyasını düzenliyoruz.
kube-prometheus-stack:
grafana:
enabled: true
grafana.ini:
users:
viewers_can_edit: "True"
server:
root_url: https://yourdomain.com.tr/
auth.google:
enabled: true
allow_sign_up: true
auto_login: false
client_id: CLIENT-ID
client_secret: CLIENT-SECRET
scopes: openid email profile
auth_url: https://accounts.google.com/o/oauth2/v2/auth
token_url: https://oauth2.googleapis.com/token
api_url: https://openidconnect.googleapis.com/v1/userinfo
allowed_domains: yourdomain.com.tr
hosted_domain: yourdomain.com.tr
use_pkce: true
Kısaca bilgi vermek gerekirse;
Server: root_url kısmını belirtmezseniz, giriş yaparken redirect_uri_missmatch hatası ile karşılaşacaksınız.
Eğer yapınızda aynı zamanda loki varsa (explore tabı) giriş sağlayacak kullanıcılarınız bu sekmeyi göremeyecek. Bunun için rbac ayarlarını düzenleyebilir veya
users: viewers_can_edit: “True” tanımını girebilirsiniz. Google sso ile sadece berlirttiğiniz mail uzantısındaki (internal) kişiler erişeceğinden bizim yapımız için bir risk teşkil etmedi. Kullanıcıların ileriki zamanlarda kendi alert tanımlarını da gerçekleştirmesini istediğimizden her kullanıcı edit yapabilmeli.
Bu tanımları girdikten sonra ve deploy tamamlandıktan sonra grafana giriş sayfasında Sing in with Google gözlemlenecek.