Giriş ve SSO
Kullanıcılar Orbtrace'e nasıl giriş yapar. Bir Tek Oturum Açma (SSO) sağlayıcısı seçip bir defa konfigüre edin — ekibiniz içeri girer. Parola yok, ayrıca bir hesap yönetilmiyor.
Üretimde Orbtrace kendine ait parola tutmaz. Herkes mevcut kimlik sağlayıcınız (SSO) üzerinden giriş yapar — e-posta ya da Slack için kullandığınızın aynısı. Sağlayıcıyı bir defa konfigüre eder, Orbtrace'i yeniden başlatırsınız; ekibiniz giriş yapmaya başlar. Önerilen yol budur: IdP'nizin MFA'sı, koşullu erişimi ve işten-ayrılma akışı otomatik olarak geçerli olur.
Bir de tek bir break-glass yerel admin girişi var — IdP'siz taze bir kurulumun asla dışarıda kalmaması için bir kullanıcı adı/parola formu. SSO konfigüre edilmeden yapılan ilk açılışta Orbtrace onu kuruluma özel, üretilmiş bir parolayla otomatik oluşturur ve ilk girişte parola değişikliğini zorunlu kılar. Aşağıda anlatılıyor; üretim girişi değil break-glass olduğuna dair net bir uyarıyla (MFA yok, lockout yok).
Bu sayfa şunları anlatıyor:
- Neler destekleniyor (tek tabloda)
- İlk yöneticiyi kim olarak belirleriz (ve opsiyonel yerel giriş)
- Her sağlayıcı için adım-adım konfigürasyon
- Birden fazla sağlayıcıyı paralel çalıştırmak
- Bir sağlayıcıyı kapatmak
- Her kullanıcının iki olası rolü
- Bir şey çalışmadığında nereye bakılır
Neler destekleniyor
Orbtrace'i şu seçeneklerden herhangi birine — veya birkaçına aynı anda — bağlayabilirsiniz:
- GoogleGoogle Workspace (Gmail tabanlı kurumsal e-posta) kullanan ekipler için. Google Cloud Console üzerinden ücretsiz olarak ~5 dakikada kurulur.
- MicrosoftMicrosoft 365 / Entra ID (eski adıyla Azure Active Directory) kullanan ekipler için. Entra yönetim merkezinden ücretsiz konfigüre edilir.
- GitHubHer şeyi GitHub üzerinden ilerleten geliştirici-ağırlıklı ekipler için. Organizasyon ayarlarında bir GitHub OAuth App olarak kurulur.
- Özel (OIDC)Geri kalan her şey için: Keycloak, Authelia, Auth0, Okta, JumpCloud, OneLogin, Ping ve OIDC konuşan tüm kimlik sistemleri. Kurumsal IdP'lerin neredeyse tamamı OIDC konuşur.
Hangisini seçmeliyim?
Şirketinizin halihazırda giriş için kullandığı seçeneği seçin. Bir kurumsal SSO'nuz varsa (Okta, Keycloak, Entra, vb.) Özel (OIDC) yolundan ilerleyin — mevcut güvenlik politikanıza, MFA kayıtlarınıza, koşullu erişim kurallarınıza ve işten ayrılma akışlarınıza saygı duyan yol budur. Eğer kurumsal IdP'si olmayan küçük bir ekipseniz, şirket e-postanız hangisindeyse onu seçin: Google ya da Microsoft.
İlk yöneticiyi kim olarak belirleriz
Orbtrace'i ilk başlattığınızda kimsenin rolü yoktur. İlk giren kişi sıradan bir kullanıcıdır — ekranları görebilir ama Yönetim alanında hiçbir şeyi değiştiremez.
Belli bir operatör e-postasını baştan yönetici olarak sabitlemek için dağıtımınıza şunu ekleyin:
ORBTRACE_BOOTSTRAP_ADMIN_USERNAME=siz@sirketiniz.comBu e-posta herhangi bir sağlayıcı üzerinden ilk kez giriş yaptığında Orbtrace o hesaba Yönetici rolü verir. Eğer hesap zaten sıradan kullanıcı olarak duruyorsa bir sonraki girişte yükseltir. Karşılaştırma büyük/küçük harf duyarsızdır; Siz@Sirketiniz.com ve siz@sirketiniz.com aynı kabul edilir. Orbtrace bunu her girişte yeniden uygular, böylece sabitlenen operatör admin'liğini asla kazara kaybetmez.
Ayarlamayı unuttuysanız?
Sorun değil. Önce bir defa giriş yapın — böylece hesabınız oluşur. Sonra .env dosyanıza ORBTRACE_BOOTSTRAP_ADMIN_USERNAME'i ekleyin, Orbtrace'i yeniden başlatın, çıkış yapıp tekrar giriş yapın. Yönetici olarak gelirsiniz.
Break-glass yerel admin (taze kurulumlar)
SSO konfigüre edilmemiş taze bir kurulum asla dışarıda kalmaz: Orbtrace ilk açılışta yerel bir break-glass admin oluşturur — kullanıcı adı admin@orbtrace.local (ya da pinlediğiniz ORBTRACE_BOOTSTRAP_ADMIN_USERNAME), parolası kuruluma özel, üretilmiş bir değerdir. Kasıtlı olarak sabit bir varsayılan parola yoktur — her kuruluma gömülü ortak bir kimlik kritik bir zafiyet olurdu; bu yüzden parola her seferinde rastgeledir ve Orbtrace bir oturum vermeden önce ilk girişinizde yeni bir parola belirlemeniz zorunludur.
Üretilen parolayı nereden okursunuz:
- Helm — chart onu bir Secret'ta saklar (upgrade'lerde korunur):
kubectl -n <namespace> get secret <release>-bootstrap-admin \ -o jsonpath='{.data.password}' | base64 -d - Docker Compose / çıplak JAR — açılış logunda bir kez yazılır:
docker compose logs orbtrace-server | grep "BREAK-GLASS"
Herhangi bir SSO sağlayıcısı konfigüre etmek otomatik üretimi kapatır (saf-SSO giriş sayfası). Helm'de break-glass admin'i orbtrace.bootstrapAdmin.enabled=false ile açıkça da kapatabilirsiniz.
Parolayı kendiniz belirlemek
Üretilen yerine ilk parolayı kendiniz seçmek isterseniz iki değeri de ayarlayın:
ORBTRACE_BOOTSTRAP_ADMIN_USERNAME=siz@sirketiniz.com
ORBTRACE_BOOTSTRAP_ADMIN_PASSWORD=güçlü-bir-parolaGiriş sayfası bir kullanıcı adı/parola formu gösterir (SSO düğmelerinin yanında). Parola açılışta BCrypt ile hash'lenerek veritabanına yazılır ve ilk girişte yine değiştirmeniz istenir (ORBTRACE_BOOTSTRAP_ADMIN_FORCE_PASSWORD_CHANGE=false ile vazgeçebilirsiniz). Uygulama içinden bir kez değiştirdikten sonra kimlik sizindir — env değeri yeniden başlatmalarda artık onu ezmez.
Admin parolasını mı kaybettiniz?
Bir açılış için ORBTRACE_BOOTSTRAP_ADMIN_RESET=true verin (restart): kimlik yeniden tohumlanır — ORBTRACE_BOOTSTRAP_ADMIN_PASSWORD ayarlıysa ondan, değilse taze üretilmiş bir parolayla (Helm: önce <release>-bootstrap-admin Secret'ını döndürün ya da yenisini logdan okuyun) — ve ilk-giriş değişikliği yeniden zorunlu olur. Kurtarma açılışından sonra bayrağı kaldırın.
Break-glass — üretim girişi değil
Yerel giriş, içeri girip SSO'yu bağlamanız içindir. MFA yok, hesap kilidi (lockout) yok ve hız sınırlama yok — ve kullanıcı adı olmadan ayarlanan bir parola açılışı durdurur. Gerçek bir dağıtımda SSO kullanın ki IdP'nizin güvenlik kontrolleri geçerli olsun; yerel admin'i break-glass olarak tutun (ya da kapatın). Yine SSO ile giriş yaparken admin'i belirlemek için kullanıcı adını tek başına (parolasız, SSO konfigüreyken) kullanın.
Google konfigürasyonu
Google Cloud Console üzerinde bir OAuth istemcisi oluşturacaksınız. Google size iki değer verecek — bir client ID ve bir client secret — bunları Orbtrace'in .env dosyasına yapıştıracaksınız.
- 1
Google Cloud Console'u açın
console.cloud.google.com'a gidin ve şirket alan adınızın Google Workspace yöneticisi hesabıyla giriş yapın. Daha önce yapmadıysanız bir proje oluşturun (isim herhangi bir şey olabilir; sadece bir iç etiket).
- 2
OAuth consent screen'i konfigüre edin
Sol menüden APIs & Services → OAuth consent screen'i açın. Şirketiniz Workspace'teyse Internal (sadece Workspace içindekiler giriş yapabilsin), değilse External seçin. Uygulama adını ("Orbtrace"), destek e-postasını ve şirket alan adınızı doldurup kaydedin.
- 3
OAuth istemcisini oluşturun
APIs & Services → Credentials sayfasında Create credentials → OAuth client ID ile Web application seçin.
Authorized redirect URIs alanına aşağıdaki URL'yi ekleyin —
https://orbtrace.example.comyerine kendi Orbtrace URL'nizi yazın:https://orbtrace.example.com/login/oauth2/code/googleCreate'e basın. Google size bir Client ID ve Client Secret gösterir. İkisini de kopyalayın — secret değeri daha sonra tekrar görüntülenemez.
- 4
Orbtrace'in .env dosyasına yapıştırın
Orbtrace'in çalıştığı sunucuda
docker/.envdosyasını açın, şu iki satırı bulup değerleri yapıştırın:GOOGLE_CLIENT_ID=<Google'ın gösterdiği client ID> GOOGLE_CLIENT_SECRET=<Google'ın gösterdiği client secret> - 5
Orbtrace'i yeniden başlatın
Aynı klasörden:
docker compose up -d --force-recreate orbtraceGiriş ekranında artık Google ile devam et butonu görünecektir. Tıklayın, Google hesabınızla giriş yapın — Orbtrace ana ekranına düşersiniz.
Microsoft (Entra ID) konfigürasyonu
Entra yönetim merkezinde bir uygulama kaydedeceksiniz. Microsoft size bir client ID, bir client secret ve bir tenant ID verecek.
- 1
Entra yönetim merkezini açın
entra.microsoft.com'a gidin ve uygulama kaydetme yetkisi olan bir Microsoft 365 hesabıyla giriş yapın (Global Administrator, Application Administrator veya Cloud Application Administrator).
- 2
Yeni bir uygulama kaydedin
Identity → Applications → App registrations → New registration'a gidin.
- Name: Orbtrace (kullanıcıların giriş sırasında göreceği isim)
- Supported account types: "Accounts in this organizational directory only" — sadece kendi tenant'ınızdaki kullanıcılar girebilsin
- Redirect URI: tipini Web seçip URL'yi girin:
https://orbtrace.example.com/login/oauth2/code/microsoftRegister'a basın. Açılan özet sayfasında Application (client) ID ve Directory (tenant) ID görünür; ikisini kopyalayın.
- 3
Bir client secret oluşturun
Certificates & secrets → Client secrets → New client secret'i açın. Bir açıklama yazıp süre seçin (Microsoft mutlaka bir süre ister; 24 ay makul — biten süreden önce yenilemek için takvime hatırlatma koyun).
Add'e basın. Microsoft secret'ı sadece bir kez gösterir — hemen kopyalayın. Daha sonra tekrar görüntülenemez.
- 4
Gerekli izinleri verin
API permissions'ı açın. Varsayılan
User.Readizni zaten oradadır ve yeterlidir. Tenant'ınız yönetici onayı istiyorsa Grant admin consent for <tenant adı> butonuna basın. - 5
Orbtrace'in .env dosyasına yapıştırın
docker/.envdosyasını açın:MICROSOFT_CLIENT_ID=<Application (client) ID> MICROSOFT_CLIENT_SECRET=<client secret değeri> MICROSOFT_TENANT=<Directory (tenant) ID>Tenant ID girişi kendi kuruluşunuza kilitler. Herhangi bir Microsoft hesabıyla giriş yapılmasını istiyorsanız (nadiren istenir)
commonyazın — ama genelde istenen bu değildir. - 6
Orbtrace'i yeniden başlatın
docker compose up -d --force-recreate orbtraceGiriş ekranında artık Microsoft ile devam et butonu görünür.
GitHub konfigürasyonu
Organizasyon ayarlarında bir GitHub OAuth App oluşturacaksınız.
- 1
Organizasyonun OAuth Apps sayfasını açın
Organizasyon sahibi olarak GitHub'a giriş yapın. organizasyonunuz → Settings → Developer settings → OAuth Apps → New OAuth App'e gidin.
(Kişisel hesaplarda da çalışır — Settings → Developer settings → OAuth Apps — ama şirket kullanımı için organizasyona ait uygulama tercih edilmelidir.)
- 2
Uygulama formunu doldurun
- Application name: Orbtrace
- Homepage URL:
https://orbtrace.example.com - Authorization callback URL:
https://orbtrace.example.com/login/oauth2/code/githubRegister application'a basın. Açılan sayfada Client ID görünür.
- 3
Client secret üretin
Aynı sayfada Generate a new client secret butonuna basın. Değeri kopyalayın — GitHub yalnızca bir kez gösterir.
- 4
Orbtrace'in .env dosyasına yapıştırın
GITHUB_CLIENT_ID=<client ID> GITHUB_CLIENT_SECRET=<client secret> - 5
Orbtrace'i yeniden başlatın
docker compose up -d --force-recreate orbtraceGiriş ekranında artık GitHub ile devam et butonu görünür.
GitHub e-posta gizliliği
GitHub kullanıcıların birincil e-postalarını gizlemesine izin veriyor. Bir kullanıcının e-postası gizliyse Orbtrace hesabı oluşturamaz ve giriş net bir mesajla başarısız olur. O kişiden GitHub → Settings → Emails üzerinden doğrulanmış bir e-postasını "public" yapmasını isteyin ya da başka bir sağlayıcıdan girsin.
Özel kimlik sağlayıcı (OIDC) konfigürasyonu
Keycloak, Authelia, Auth0, Okta, JumpCloud, OneLogin, Ping ve OIDC konuşan tüm kimlik sistemleri için yol budur. IdP'nizden üç şey toplayacaksınız:
-
Bir Client ID ve Client Secret (Orbtrace'i uygulama olarak kaydettiğinizde IdP verir)
-
Bir Issuer URL (bazen "OIDC discovery URL" veya "metadata URL" deniyor; IdP'nizin konfigürasyonuna işaret eder)
-
IdP içine kaydedilecek redirect URL — her zaman şu olur:
https://orbtrace.example.com/login/oauth2/code/oidc
- 1
Orbtrace'i IdP'nizde bir uygulama olarak kaydedin
IdP'nizin yönetim panelinde yeni bir OIDC istemcisi/uygulaması yaratın. Menü adı IdP'ye göre değişir:
- Keycloak: Realm → Clients → Create client → protokol olarak OpenID Connect seçin
- Auth0: Applications → Create application → Regular Web Application
- Okta: Applications → Create App Integration → OIDC - OpenID Connect → Web Application
- Authelia:
configuration.yml'daidentity_providers.oidc.clientsaltına yeni bir kayıt ekleyin - JumpCloud / OneLogin / Ping: "OIDC application" veya "Web application" şablonunu arayın
Yukarıdaki redirect URL'yi kullanın. Çoğu IdP hangi OIDC akışına izin verileceğini sorar; Authorization code seçin (bazen "Standard flow" diye etiketlenir). IdP'nin
openid,emailveprofilescope'larını döndürdüğünden emin olun. - 2
Issuer URL'yi kopyalayın
Her OIDC sağlayıcısı konfigürasyonunu bilinen bir adreste yayınlar. Yaygın şekiller:
Sağlayıcı Issuer URL şekli Keycloak https://sso.example.com/realms/<realm-adı>Auth0 https://<tenant>.auth0.com/Okta https://<tenant>.okta.com/oauth2/defaultAuthelia https://auth.example.comMicrosoft Entra (OIDC olarak) https://login.microsoftonline.com/<tenant-id>/v2.0Emin değilseniz:
<issuer-url-niz>/.well-known/openid-configurationadresini tarayıcıda açın. JSON görüyorsanız URL doğrudur (yalnızca/.well-known/...ekini çıkarın). 404 görüyorsanız URL yanlış. - 3
Hepsini Orbtrace'in .env dosyasına yapıştırın
OIDC_CLIENT_ID=<IdP'nin verdiği client ID> OIDC_CLIENT_SECRET=<IdP'nin verdiği client secret> OIDC_ISSUER_URI=<2. adımdaki issuer URL> ORBTRACE_OIDC_DISPLAY_NAME=Acme SSOORBTRACE_OIDC_DISPLAY_NAMEgiriş butonunda görünecek etikettir. Ekibinizin tanıyacağı bir isim verin — "Acme SSO", "Keycloak", "Şirket Girişi" gibi. Boş bırakırsanız buton "Tek Oturum Açma ile devam et" olur. - 4
Orbtrace'i yeniden başlatın
docker compose up -d --force-recreate orbtraceOrbtrace açılışta IdP'nizin konfigürasyonunu bir kere çeker — başka hiçbir şey ayarlamanız gerekmez. Giriş ekranında özel butonunuz görünür.
MFA, koşullu erişim, grup kısıtlamaları
Bunların hepsi IdP'nizin görevidir, Orbtrace'in değil. MFA zorunlu kıldıysanız her Orbtrace girişi otomatik olarak MFA gerektirir. Koşullu erişim (IP allow-list, cihaz güveni) ve "kim giriş yapabilir" grup kısıtlamaları için de aynısı geçerli. Orbtrace IdP'nizde zaten kurduğunuz politikayı miras alır.
Birden fazla sağlayıcıyı paralel çalıştırmak
Ekstra bir şey gerekmez — istediğiniz her sağlayıcı için değişkenleri doldurun, yeniden başlatın. Tüm konfigüre edilmiş sağlayıcıların butonu giriş ekranında paralel olarak görünür.
Yaygın kombinasyon:
- Özel OIDC (Keycloak, kurumsal SSO) — çalışanlar için birincil yol
- Google — kurumsal hesabı olmayan birkaç dış kaynaklı için
İkisini aynı anda konfigüre edersiniz. Çalışanlar bir butona, dış kaynaklılar diğerine basar.
Bir sağlayıcıyı kapatmak
Bir sağlayıcıyı giriş ekranından gizlemek için: .env içindeki değişkenlerini boşaltıp yeniden başlatın.
# Google'ı devre dışı bırakmak — ikisini de boş bırak:
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=Sonraki açılışta buton kaybolur. O sağlayıcı üzerinden oluşmuş mevcut hesaplar Orbtrace'te kalır — sadece artık giriş yapamazlar (sağlayıcıyı tekrar açana veya o kullanıcıyı başka bir sağlayıcıya taşıyana kadar).
Tek giriş yolunu kapatmak
Tüm sağlayıcıları kapatırsanız kimse giriş yapamaz. Giriş ekranı "Hiçbir giriş sağlayıcısı yapılandırılmamış" mesajını ve operatöre bir ipucu gösterir. Diğerlerini kapatmadan önce en az bir sağlayıcının çalıştığından emin olun.
Roller
Orbtrace'in tam olarak iki rolü vardır. Her kullanıcı bunlardan birine sahiptir.
- USERGiriş yapan herkesin varsayılan rolü. Her şeyi okuyabilir (loglar, izler, metrikler, dashboard'lar, olaylar), arama yapabilir, RCA sonuçlarını ve uyarıları görebilir. Kişisel görünümler ve dashboard'lar kaydedebilir. Yönetim alanındaki ayarları değiştiremez.
- ADMIN
USER'ın yapabildiği her şey, artı Yönetim alanına tam erişim: kullanıcı ve rollerini yönet, AI sağlayıcı konfigürasyonu, audit log görüntüleme, retention, örnekleme politikası, entegrasyon sırları.
İlk yönetici ORBTRACE_BOOTSTRAP_ADMIN_USERNAME ile belirlenir (yukarıya bakın). Sonrasında herhangi bir yönetici, başka kullanıcıları Yönetim → Kullanıcılar üzerinden yükseltebilir. Orbtrace, son kalan yöneticiyi düşürmenize izin vermez — her zaman diğerlerini kurtarabilecek en az bir hesap kalır.
Ekran-bazlı izin yok
Orbtrace tek-tenant bir araçtır — instance'taki herkes aynı veriyi görür. "Şu ekip A servisini görsün, diğer ekip görmesin" gibi izinler yoktur — bu izolasyon bir üst seviyede, Helm namespace veya VM sınırında uygulanır: her ekibe ayrı bir Orbtrace dağıtımı verirsiniz.
Bir şey çalışmadığında
En sık karşılaşılan tuzakların kısa kontrol listesi.
| Belirti | Çoğunlukla anlamı |
|---|---|
| Giriş ekranı boş — hiç buton yok | Hiçbir sağlayıcı konfigüre edilmemiş. Tüm değişkenler ya boş ya hâlâ change-me. En az bir sağlayıcının değişkenlerini doldurup yeniden başlatın. |
| Buton var ama tıklayınca 404 / sayfa bulunamadı | Sağlayıcı değişkenleri set edilmiş ama IdP'deki redirect URL bizimkiyle eşleşmiyor. IdP'deki URL'nin https://<orbtrace>/login/oauth2/code/<sağlayıcı> ile harf harf aynı olduğundan emin olun. Sağlayıcı kısmı: google, microsoft, github veya oidc. |
| IdP tarafında "redirect_uri_mismatch" | Yukarıyla aynı kök sebep. Tarayıcının IdP'ye gönderdiği URL'yi (IdP genellikle gösterir) alıp IdP'nin izinli redirect listesine birebir koyun. |
| IdP girişi kabul ediyor ama Orbtrace "missing email" diyor | IdP'niz email claim'ini döndürmüyor. OIDC için uygulamanın email scope'unu istediğinden emin olun. GitHub içinse kullanıcının en az bir doğrulanmış, public e-postası olmalı. |
| Giriş yaptım ama Yönetim menüsü görünmüyor | Hesabınız ADMIN değil, USER. Ya ORBTRACE_BOOTSTRAP_ADMIN_USERNAME'i kendi e-postanıza set edip yeniden başlatın, ya da mevcut bir yönetici Yönetim → Kullanıcılar'dan yükseltsin. (Not: rol değişikliği bir sonraki token yenilemesinde etkili olur — hemen uygulamak için çıkıp tekrar girin.) |
| Giriş oluyor ama hemen geri atılıyorum | Orbtrace sunucusunun saati yanlış; token'lar süresi geçmiş gibi görünüyor. Sunucu saatinin NTP kaynağıyla saniye düzeyinde eşleştiğinden emin olun. |
| Dün çalışıyordu, bugün çalışmıyor, hiçbir şey değişmedi | Büyük olasılıkla client secret süresi doldu (özellikle Microsoft 6/12/24 ay döngülerinde süre kapatır). IdP'de yeni secret üretin, .env'i güncelleyip yeniden başlatın. |
Listede olmayan bir şey varsa Sorun Giderme sayfasını veya docker compose logs orbtrace çıktısını kontrol edin — giriş hataları WARN seviyesinde tek satırlık net bir gerekçeyle düşer.
Sonraki adım
- İlk sağlayıcınızı yeni konfigüre ettiniz → İlk giriş sayfasındaki 5 dakikalık giriş-sonrası kontrol listesiyle devam edin.
- Tüm ayarların kapsamlı listesi → Konfigürasyon sayfasına bakın.
- Kullanıcı davet etmek / yönetmek → Yönetici olarak giriş yaptıktan sonra Yönetim → Kullanıcılar içinde.