Geliştiriciler için SAML uygulama entegrasyonunu basitleştirin
SAML'in ne olduğunu, SSO'nun nasıl uygulanacağını ve SAML uygulamalarını Kimlik Sağlayıcısı (IdP) veya Hizmet Sağlayıcısı (SP) olarak entegre etmek için hızlı adımları öğrenin.
Tek Oturum Açma (SSO) modern uygulamalar için anahtardır ve SAML iş kimlik sistemleri arasında güvenli, kullanıcı dostu kimlik doğrulama sağlar. Bu rehber, geliştiriciler ve tasarımcılar için SAML'i basitleştirir, açık adımlar ve pratik örneklerle verimli bir şekilde uygulanmasına yardımcı olur.
SAML SSO ve SAML uygulamaları nedir?
Güvenlik Beyanı İşaretleme Dili (SAML), kimlik doğrulama ve yetkilendirme verilerini iki ana oyuncu arasında değiştirmek için kullanılan XML tabanlı bir standarttır: Kimlik Sağlayıcısı (IdP) ve Hizmet Sağlayıcısı (SP). Kuruluşlar için yaygın bir Tek Oturum Açma (SSO) çözümüdür, kurumsal kullanıcıların bir kez oturum açarak birden fazla uygulamaya erişmelerini kolaylaştırır.
Kimlik Sağlayıcısı (IdP), kullanıcı kimlik bilgilerini (kullanıcı adları ve şifreler gibi) yönetmekten ve doğrulamaktan sorumludur. Bir kullanıcı korunan bir hizmete erişmeye çalıştığında, IdP kimliklerini doğrular ve bu onayı hizmete gönderir.
- Örnek: Büyük bir şirkette çalıştığınızı ve çalışan hesaplarını yönetmek için Microsoft Azure AD kullandığınızı hayal edin. Salesforce'a giriş yapmak istediğinizde, Azure AD IdP olarak hareket eder. Kimlik bilgilerinizi kontrol eder ve size izin verdiğini Salesforce'a bildirir.
Hizmet Sağlayıcısı (SP), kullanıcıların gerçekten erişmeye çalıştığı uygulama veya hizmettir. Kimlik doğrulamasının yükünü halletmek için IdP'ye güvenir.
- Örnek: Yukarıdaki senaryoya devam ederek, Salesforce SP'dir. Sizi doğrulamak için Microsoft Azure AD'ye (IdP) güvenir. Azure AD, kimliğinizi doğruladığında, Salesforce sizi içeri alır.
Bir “SAML uygulaması”ndan bahsederken, genellikle SP kastedilir.
SAML protokolünü kullanarak, hizmetinizi uygulama entegrasyonlarını desteklemek için bir IdP olarak (Azure Ad / Google Workspace gibi); veya bir SP olarak (Salesforce / Slack gibi) kullanıcılar için SSO'yu desteklemek üzere kurabilirsiniz.
Bir SAML Beyanı, SAML protokolünün kalbidir. IdP tarafından oluşturulan ve bir SP'ye gönderilen dijital bir "not"tur ve "Bu kullanıcının kimliğini doğruladım" der. Ardından, IdP ve SP için sürecin nasıl çalıştığını ele alacağız.
SAML Kimlik Sağlayıcısı olarak hareket ederken
Hizmetiniz IdP olarak işlev gördüğünde, birden fazla uygulamada SAML kimlik doğrulamasını etkinleştirirsiniz. Bu, kullanıcıların tek bir kurumsal kimlik üzerinden çeşitli hizmetlere erişmesini sağlar.
İşte bir IdP için tipik bir SAML SSO iş akışı:
- Kullanıcı, Salesforce gibi bir uygulamaya (SP) erişmeye çalışır.
- Uygulama, kullanıcıyı kimlik do ğrulama için IdP'nize yönlendirir.
- Kullanıcı, IdP'nizin oturum açma sayfasına kimlik bilgilerini girer.
- IdP kimlik bilgilerini kontrol eder.
- Kimlik bilgileri doğrulanırsa, IdP SP'ye bir SAML beyanı gönderir.
- SP beyanı işler, geçerliliğini doğrular ve kullanıcıya erişim verir.
SAML Hizmet Sağlayıcısı olarak hareket ederken
Hizmetiniz SP ise, kullanıcılarınıza SSO yeteneği sağlamak için çeşitli kimlik sağlayıcılarla entegre olacaksınız. Bu, farklı kuruluşlardan veya kiracılardan gelen kurumsal kullanıcıların uygulamanıza güvenli ve verimli bir şekilde erişmesini sağlar.
İşte SP başlatmalı SSO için bir iş akışı:
- Kullanıcı uygulamanıza giriş yapmaya çalışır.
- Uygulamanız bir SAML isteği oluşturur ve kullanıcıyı IdP'nin oturum açma sayfasına yönlendirir.
- Kullanıcı IdP'de oturum açar (veya zaten oturum açtıysa bu adımı atlar).
- IdP, kullanıcının kimliğini doğrular ve doğrulandıktan sonra kullanıcının detaylarını bir SAML beyanına paketler.
- IdP beyanı uygulamanıza geri gönderir.
- Hizmetiniz beyanı doğrular. Eğer geçerliyse, kullanıcı uygulamanıza erişim sağlar.
SAML SSO'da önemli parametreler
Başarılı bir SAML SSO entegrasyonu için, hem IdP'ler hem de SP'ler belirli parametreleri paylaşmalıdır. İşte temel unsurların bir görünüme:
IdP'den parametreler
- IdP Varlık ID'si: SAML iletişimlerinde IdP için benzersiz bir tanımlayıcı, dijital bir isim rozeti gibi.
- SSO URL: SP'nin kimlik doğrulama için kullanıcıları yönlendirdiği giriş son noktası (URL).
- X.509 Sertifikası: SAML beyanını imzalamak için kullanılan bir genel anahtar, güvenli olmasını sağlar. Bu, kimliğin doğruluğunu doğrulayan "mühür"dür.
İpucu: IdP'niz bir SAML Metadata URL'ı sunarsa, işler daha da kolaylaşır. Bu URL, gerekli bilgilerin tümünü (sertifikalar, SSO URL'leri ve IdP Varlık ID'si gibi) bir arada içerir. Manuel kopyala-yapıştırma hataları riskini en aza indirir ve sertifika dosyalarını elle güncelleme zahmetini ortadan kaldırır.
SP'den parametreler
- SP Varlık ID'si: IdP Varlık ID'sine benzer şekilde SP'nin benzersiz tanımlayıcısı.
- Beyan Tüketici Hizmet (ACS) URL'si: Bu, IdP'den SAML beyanını almayı bekleyen SP son noktasıdır.
- Aktarma Durumu (Opsiyonel): Kullanıcının başlangıçta ziyaret etmeye çalıştığı URL gibi SAML işlemi sırasında veri aktarmak için kullanılır.
SAML öznitelik eşleme ve şifreleme
- NameID Formatı: Kullanıcı tanımlayıcı formatını tanımlar (örn. e-posta adresi veya kullanıcı adı).
- SAML Öznitelikleri: IdP'den SP'ye gönderilen roller, e-posta veya departman gibi ek kullanıcı detaylarıdır.
- Örnek: IdP tarafından imzalanan SAML beyanı
email
([email protected]),role
(admin) vedepartment
(engineering) içeriyorsa, SProle
'u yönetici ayrıcalıklarına atamak için veyadepartment
'ı kullanıcıyı doğru ekip içinde gruplamak için kullanabilir. Bu temel kullanıcı verilerini almak için, hem IdP hem de SP, özniteliklerin nasıl eşleneceğine karar vermelidir. Örneğin, IdP "department"ı takım olarak tanımlayabilirken, SP bunu grup olarak bekleyebilir. Doğru eşleme, sorunsuz iletişimi sağlar.
- Örnek: IdP tarafından imzalanan SAML beyanı
- Şifreli Beyanlar (Opsiyonel): Hassas kimlik doğrulama verilerini korumak için, SAML beyanları şifrelenebilir.
- IdP'nin rolü: Beyanı SP'nin genel anahtarı ile şifreler.
- SP'nin rolü: Kullanıcı detaylarını okumak için özel anahtarı ile beyanı çözer.
Bu noktada, bir SAML bağlantısı kurmak için gerekli bilgilere sahip olmalısınız. Salesforce (Hizmet Sağlayıcı) ile Azure AD'yi (Kimlik Sağlayıcı) entegre etmek için şu adımları izleyin:
- Azure AD'den IdP Varlık ID'si, SSO URL'si ve sertifika alın, ve bunları Salesforce'de yapılandırın.
- Salesforce'un SP Varlık ID'sini ve ACS URL'sini Azure AD'ye sağlayın.
Logto, SAML entegrasyonunu basit hale getiriyor
Logto, uygulamalarınız için SAML SSO'yu desteklemek üzere hem IdP hem de SP olarak işlev görebilir.
Logto'yu SAML IdP olarak kullanma
Logto, diğer uygulamaların federatif kimlik doğrulaması için ona güvenmesine izin verir ve çok faktörlü kimlik doğrulama (MFA) ile gelişmiş güvenlik sağlar.
- Bir Logto Uygulaması oluşturun Logto Console > Applications gidin ve yeni bir SAML uygulaması oluşturun.
- SAML Parametrelerini Yapılandırın Uygulamayı Hizmet Sağlayıcısı’nın (SP) Beyan Tüketici Hizmet URL’si ve SP Varlık ID’si ile ayarlayın.
- Metadata URL sağlayın Logto, SP'lerin SSO URL'leri ve sertifikalar gibi önemli detayları otomatik olarak alması için bir IdP Metadata URL sağlar.
- Gelişmiş Yapılandırma (Opsiyonel)
- Parmak izi ile yeni sertifikalar oluşturabilir ve son kullanma tarihleri ayarlayabilirsiniz, ancak aynı anda yalnızca bir sertifika aktif olabilir.
- İş gereksinimlerinize uygun Name ID formatını değiştirebilirsiniz.
- IdP’nizden x509 sertifikasını kopyalayıp yapıştırarak SAML beyan şifrelemesini etkinleştirin.
- Öznitelikleri Eşle (Opsiyonel) Kullanıcı özniteliklerinin Hizmet Sağlayıcıları (SP'ler) ile nasıl paylaşılacağını kolayca özelleştirin.
Detaylı rehberlik için, resmi dokümantasyonu buradan ziyaret edin: SAML App
Logto'yu SAML SP olarak kullanma
Logto ayrıca SAML veya OIDC protokolleri aracılığıyla herhangi bir kurumsal IdP ile entegre olur. Birleşik oturum açma sayfalarınız için SP başlatmalı SSO'yu etkinleştiriyor veya IdP başlatmalı SSO'yu yapılandırıyorsanız, süreç basittir.
- Kurumsal bir bağlayıcı oluşturma Logto Console > Enterprise SSO gidin ve yeni bir Kurumsal Bağlayıcı oluşturun. Protokol standardı olarak SAML'yi seçin.
- SAML parametrelerini yapılandırın IdP'nizden ya metadata URL'si ya da metadata XML dosyası sağlayın. Eğer metadata mevcut değilse, IdP Varlık ID'sini, SSO URL'sini girmek ve İmza sertifikasını yüklemek için manuel yapılandırmaya geçin.
- ACS URL ve SP Varlık ID'si paylaşın Entegrasyon kurulumunu tamamlamak için Logto'nun ACS URL'sini ve SP Varlık ID'sini IdP'nize sağlayın.
- Öznitelikleri eşle (Opsiyonel) IdP ve Logto arasında bilgilerin doğru bir şekilde iletilmesini sağlamak için e-posta veya adlar gibi kullanıcı veri eşlemelerini yapılandırın.
- Kurumsal e-posta alan adları ekleyin Kurumsal bağlayıcı için "SSO Deneyimi" sekmesinde bir veya daha fazla e-posta alanı ekleyin. Bu, belirtilen alanlara sahip kullanıcıların yalnızca SSO aracılığıyla kimlik doğrulaması yapabileceğini garanti eder.
- IdP başlatmalı SSO'yu etkinleştirin (Opsiyonel) Kurumsal müşterileriniz tarafından gerekliyse IdP başlatmalı SSO'yu etkinleştirin. Bu özellik, kullanıcıların uygulamalarınıza doğrudan IdP kontrol panelinden giriş yapmalarına olanak tanır.
Detaylı rehberlik için, resmi dokümantasyonu buradan ziyaret edin: Enterprise SSO documentation.
Kapanış düşünceleri
SAML, SSO için standartlaştırılmış, güvenli bir yöntem sunar, kimlik doğrulamayı daha sorunsuz hale getirir. Logto, ister bir IdP ister bir SP olarak ayarlanıyor olsun, süreci basitleştirir. Kullanıcı dostu arayüzü ve hem bulut hem de açık kaynak sürümleri ile Logto, SAML entegrasyonunun karmaşıklıklarını ortadan kaldırır. Sadece birkaç parametreyi yapılandırarak, hizmetlerinizi herhangi bir SAML IdP veya SP ile bağlayabilir ve kullanıcılar için harika deneyimler oluşturmaya odaklanabilirsiniz.