Hizmet Olarak Altyapının (IaaS) ve Hizmet Olarak Platformun (PaaS) çok sayıda projenin ayrılmaz bir parçası olduğu hızlı bulut teknolojisi gelişimi çağında, çeşitli bulut hizmetlerinin kusursuz entegrasyonuna yönelik talep yadsınamaz. Bu ortamda önemli bir oyuncu olan Microsoft, kullanıcı dostu Microsoft Entra ID hizmetini geliştirmek için önemli miktarda zaman harcadı. Ancak satıcılardan gelen titizlikle hazırlanmış talimatlara rağmen uzmanlar Slack, Salesforce veya Datadog gibi platformlarla entegrasyonları yapılandırırken sıklıkla sorunlarla karşılaşıyor. Belgeler belirli sorulara yanıt verme konusunda yetersiz kalmaktadır.
Social Discovery Group ekibi de bu zorluklarla karşılaştı ve bu makalede bunları nasıl yönlendirip çözebileceğinize dair bilgiler sunacağız.
Social Discovery Group, 50'den fazla flört platformundan oluşan portföyünde güvenlik ve güvenilirliği garanti etmek için çeşitli teknolojilerden ve bulut hizmetlerinden yararlanıyor. Çeşitli bulutlar arasındaki eşler arası bağlantılar da dahil olmak üzere, farklı sistemlerin entegrasyonu ve yapılandırılması konusunda geniş deneyime sahibiz.
Microsoft Entra ID, bulutta çalışan bir dizin ve kimlik doğrulama hizmeti olarak hizmet veren, kimlik ve erişim yönetimine yönelik bir bulut çözümüdür. Microsoft Entra ID, çeşitli Microsoft ve Microsoft dışı hizmetler için kimlik doğrulama ve yetkilendirme hizmetleri sunar. Bu makalede şu bulut sistemlerinin entegrasyonunu inceleyeceğiz: Slack, MongoAtlas, ElasticCloud, Salesforce ve Datadog.
Kesin bir rehberin olmaması nedeniyle, yol boyunca ortaya çıkan tüm baş ağrılarını detaylandırarak kendimizinkini yaratmaya karar verdik. O halde Azure'da "Kurumsal Uygulama" bölümüne gidelim.
Yeni bir kurumsal başvuru oluşturmak gereklidir (bu birkaç tıklamayla yapılabilir). Ardından, az önce oluşturduğumuz uygulamaya erişin ve Tek Oturum Açma - SAML'yi yapılandırın. Yukarıdan aşağıya değişiklik yapın:
Bir "Üye" rolü oluşturun (veya başka bir ad seçin). Daha sonra Microsoft Entra ID'de bir test kullanıcısı oluşturup uygulamamıza ekleyin. Ardından Slack'teki Yönetim Merkezine gidin. Şu adımları izleyin: Slack Yöneticisi - Kimlik Doğrulama - SAML yapılandırması - Yapılandır
Bir sonraki adım SAML'yi yapılandırmaktır. "Görünen Ad" ayarına dikkat etmenizi öneririz. Ayrıca ayarlarda "Girişte Profili Güncelle" seçeneğinin işaretini kaldırın, e-posta adresinin ve Görünen Adın değiştirilmesine izin vermeyin.
Ayrıca oturum açma düğmesindeki metni özelleştirme ve kullanıcıların SSO dışında herhangi bir yöntemle oturum açmasını yasaklama seçeneği de bulunmaktadır. Bundan sonra Microsoft hesabınızı kullanarak Slack'te oturum açabilmeniz gerekir. Herhangi bir ek alan veya ayar gerekiyorsa bu, Azure AD Sağlama aracılığıyla yapılabilir.
Yeni bir özellik eklemek için Kullanıcı Özellikleri'ne gidin ve Yeni Eşleme Ekle'yi seçin. Slack'te görüntülenmesini istediğiniz kaynak niteliğini seçin ve bunu karşılık gelen Slack niteliğiyle ilişkilendirin.
Gerekli öznitelikleri ekleyip ayarları kaydettikten sonra işlevselliği test etmek için Talep Üzerine Tedarik'e geçin. Olumlu bir sonuç üzerine aşağıdakileri alacaksınız:
Daha sonra, Slack'e gitmeniz ve kullanıcı profilinin tamamında hangi özelliklerin görüntüleneceğini ve bunların nereden alınacağını belirtmeniz gerekir. Profiller'e gidin ve görüntülenecek bilgileri ve nereden alınacağını seçin. Bu durumda SCIM, Azure AD'ye karşılık gelir.
Daha sonra, kusursuz entegrasyonu deneyimlemek için gerekli kullanıcıları Active Directory'den Slack'e eklemenizi öneririz. Kullanıcıları kaldırırken karşılaşılan bir soruna da dikkat çekmek istiyoruz: Bir kullanıcı Slack'ten (Slack yönetim merkezi aracılığıyla) manuel olarak silinirse, izinlerin yetersiz olması nedeniyle kullanıcının Slack'e aktarılamayacağını belirten bir hata devam edecektir. Bunun nedeni, Entra ID'nin kapsam dahilindeki kullanıcılar hakkındaki bilgileri tutması ve onlara benzersiz bir kimlik atamasıdır. Slack'te bir kullanıcının silinip yeniden eklenmesi, Entra ID tarafından yeni bir kullanıcı olarak algılanıyor ve güncellemeler sırasında izin sorunlarına yol açıyor.
Buradaki belgeleri kontrol edin.
MongoAtlas için de süreç benzer bir yol izliyor. Ayrıca yeni bir kurumsal uygulama oluşturmanız gerekecektir; kolaylık sağlamak için arama alanına "MongoDB Atlas — SSO" yazın. Daha ayrıntılı talimatları burada bulabilirsiniz.
Ardından, aşağıdakileri girmeniz gereken Tek Oturum Açma ayarlarına ilerleyin:
"Tanımlayıcı" metin alanına aşağıdaki şablonu kullanarak URL'yi girin: https://www.okta.com/saml2/service-provider/<Customer_Unique>
"Yanıt URL'si" metin alanına şablonu kullanarak URL'yi girin:
https://auth.mongodb.com/sso/saml2/<Customer_Unique>
"Giriş URL'si" metin alanına şablonu kullanarak URL'yi girin: https://cloud.mongodb.com/sso/<Customer_Unique>
Nitelikler bölümüne dikkat etmenizi ve aşağıdaki ekran görüntüsünde gösterildiği gibi yapılandırmanızı öneririz ("memberOf" eklenmesi şarttı).
Daha sonra, "SAML ile Tek Oturum Açmayı Ayarlama" sayfasında "SAML İmzalama Sertifikası" bölümüne gidin ve federasyon için XML meta verilerini bulun. Sertifikayı indirmek ve yerel olarak kaydetmek için "İndir"i seçin (Federasyon Meta Veri XML'i). Buna daha sonra MongoDB Atlas'ta ihtiyacımız olacak.
"MongoDB Atlas'ı Ayarlama - SSO" bölümünde ilgili URL'leri kopyalayın. Ardından MongoDB Atlas -> Organizasyon -> Ayarlar -> Birleştirilmiş Kimlik Doğrulama Ayarları seçeneğine gidin.
Atlas'a Microsoft Entra ID kimlik bilgisi sağlayıcısını ekleyerek başlayın. Önceki adımda Microsoft portalından bahsedilen ilgili URL'leri (Verici URI'si, Oturum Açma URL'si, Tek Oturum Açma URL'si) girin, Kimlik Sağlayıcı İmza Sertifikasını yükleyin ve geri kalan ayarları aşağıdaki ekran görüntüsünde gösterildiği gibi yapılandırın .
"İleri"ye tıklayın ve meta veri dosyasını daha sonra Azure'a Çoklu Oturum Açma yapılandırma sayfasında yüklemeniz gerekeceğinden yerel olarak kaydedin.
Ardından, örneğin MongoDB Atlas'ta oluşturulan ilgili TXT kayıtlarını kullanarak etki alanını ekleyin, eşleyin ve doğrulayın. Bundan sonra alan adınızı kimlik bilgisi sağlayıcıya bağlayın ve en ilginç kısım olan rol yapılandırmasına geçin.
Her biri projelere belirli izinlere sahip olan aşağıdaki rolleri örnek olarak oluşturduk. Daha sonra bu rolleri Azure rolleriyle eşlemeniz gerekir. Uygulamanız için "Uygulama rolleri"ne gidin, MongoAtlas'ta bu rollere atadığınız adlarla tam olarak eşleşen değerlere sahip roller oluşturun ve ekleyin.
Daha sonra Microsoft Entra ID Kurumsal Uygulamasında kullanıcıları uygulamaya ekleyin ve onlara uygun rolleri atayın. MongoDB Atlas'ın Federasyon Yönetimi bölümünde "Azure SSO ile oturum açın" seçeneğini etkinleştirin ve yapılandırılan ayarların doğru çalıştığını doğrulayın.
Daha ayrıntılı talimatlar için buradaki belgelere bakın.
Şimdi Elastic Cloud ile entegrasyona geçelim. Enterprise Application Entra ID'de uygulama oluşturmaya yönelik temel adımlar öncekilere benzer. Burada Tanımlayıcıyı veya Oturum Kapatma URL'sini nereden alacağınıza ilişkin bilgileri bulabilirsiniz. Ancak özelliklerle ilgili bir sorunla karşılaştık, bu nedenle çalışma yapılandırmamızın ekran görüntüsünü sağlayacağız.
İki rol oluşturduk: bir okuyucu ve bir süper kullanıcı.
Burada ihtiyacınız olduğu kadar rol oluşturabilirsiniz. Elasticsearch'teki rol ayarları, Rol Eşlemelerinde yapılandırılır ve aşağıdaki gibi görünür:
Şimdi ilginç kısım geliyor. Yapılması gereken iki şey var: Kibana ve Elasticsearch için Azure SSO yapılandırmasını eklemek. Bunu başarmak için şu adımları izleyin:
Elasticsearch.yml yapılandırmasını güncellemek için Elasticsearch Cloud dağıtımınızın düzenleme bölümüne gidin. Aşağıdaki satırları ekleyin:
“ xpack:
security:
authc:
realms:
saml:
saml-azure-ad:
order: 2
attributes.principal: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
attributes.groups: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"
attributes.name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
attributes.mail: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
idp.metadata.path: "APP Federation metadata URL"
idp.entity_id: "Azure Entra ID Identifier"
sp.entity_id: "Kibana endpoint"
sp.acs: "Kibana endpoint/api/security/v1/saml"
sp.logout: "Kibana endpoint/logout" “
Kırmızıyla vurgulanan değerleri konfigürasyonunuza uyacak şekilde ekleyip değiştirdikten sonra "Kaydet"i tıklayın. Elastic Cloud tüm değişiklikleri doğrulayacak ve küme güncellemesini başlatacaktır. Bu işlem birkaç dakika sürebilir.
“ xpack.security.authc.providers:
saml.saml1:
order: 0
realm: saml-azure-ad
description: "Log in with Azure Entra ID"
basic.basic1:
order: 1 ”
Önceki iki adımı tamamladıktan sonra Kibana giriş sayfanızda başka bir giriş seçeneği bulunmalıdır. Daha sonra, Microsoft Entra ID Kurumsal Uygulamasındaki uygulamaya kullanıcıları ekleyerek onlara gerekli rolleri atayın.
Daha fazla bilgi için buradaki belgelere bakın.
Salesforce ile entegrasyon öncekilere göre biraz daha karmaşıktı. İlk adımlar benzerdir ancak Hazırlama bölümüne dikkat edilmelidir. Hesap senkronizasyonunun gerçekleşeceği yönetici kimlik bilgilerinin belirtilmesine ilişkin nüanslar vardır ve Özellik Eşlemenin etkinleştirilmesi gereklidir.
İşte ekran görüntüsünde yapılandırma ayarlarımızın bir örneği. Özelliklerle ilgili önemli bir sorunla karşılaşmadık ancak kullandıklarımızın ekran görüntüsünü de sağlayacağız.
Salesforce'un kendisinde belirli bir nüans yoktu ve bu kılavuzda özetlendiği gibi aşağıdaki adımlarla ilerledik.
Datadog ile entegrasyon sırasında da bazı sorunlarla karşılaştık. Bize yol gösteren temel belgelere buradan ulaşabilirsiniz. Sorun giderme nüansları için bu kılavuza başvurduk.
Her şey sorunsuz başladı ve başlangıçta hiçbir sorun olmayacakmış gibi görünüyordu. Her zamanki gibi Microsoft Entra ID'de yeni bir Kurumsal Uygulama oluşturduk.
"SAML ile Tek Oturum Açmayı Ayarlayın" bölümünde Datadog hesabınız için seçtiğiniz lokasyona dikkat edin. Bizim durumumuzda Avrupa bölgesiydi.
Daha önce de belirtildiği gibi, MongoAtlasDB için rol eşleme amacıyla "memberOf" ek özelliğini ekliyoruz.
Tüm ayarları kaydedin ve Federasyon Meta Veri XML'ini indirin. Bu dosyayı Datadog'daki SAML ayarlarına yükleyin. İşte referans için uygun bir bağlantı . Datadog SAML Ayarları (konumunuz farklıysa "AB"yi uygun alan adı bölgesiyle değiştirin). Aşağıdaki ekran görüntüsüne benzemelidir.
Kuruluşun Giriş Yöntemleri ayarlarında yalnızca gerekli olanı saklayın (benim durumumda şifreyle giriş yapmayı ve Google Kimlik Doğrulamayı devre dışı bıraktım). Microsoft Entra ID için uygulama kaydında Azure'da roller ekleyin.
İşte en ilginç kısım geliyor. Datadog'da SAML Grup Eşlemeleri -> Rol Eşlemeleri'ne gidin ve anahtarı, değeri ve rolü ekleyin. Basit görünüyor. Aşağıdaki ekran görüntüsüne bakın.
Ancak çalışmıyor ve "Bu kullanıcı için AuthNMapping yok" hatasını vermeye devam ediyor.
Bir süre tüm belgeleri, günlükleri ve sorun giderme sayfalarını inceleyerek neyi yanlış yaptığımızı anlamaya çalıştık. Maalesef hiçbir yerde bundan bahsedilmedi. Sonuçta çözüm basit: Aşağıdaki ekran görüntüsünde gösterilen yapılandırmayı izleyin.
ANAHTAR alanına şu dizeyi girin: http://schemas.microsoft.com/ws/2008/06/identity/claims/role
Bunu yaptıktan sonra her şey başarıyla çalışmaya başladı.
"Bu, Microsoft Entra ID ile entegre ettiğimiz sistemlerin yalnızca küçük bir kısmı. Burada paylaşılan öngörülerin, entegrasyon süreçlerinizi kolaylaştırarak ve değerli zamandan tasarruf ederek yararlı bir kaynak olarak hizmet vereceğini umuyoruz. Sonuç olarak, Microsoft'u kullanmanın aşağıdaki avantajları vardır: Entra ID vurgulanabilir: Parolanın birden çok kez girilmesini gerektirmeyen Tek Oturum Açma; ek bileşen gerekmez; yapılandırma ve yönetim kolaylığı; grup politikaları ve grupları; cihaz kaydı; ve üst düzey güvenlik.