Ana içeriğe geç

eBA Azure AD Entegrasyonu

Azure Ad ile login eBA 6.7.150'versionundan itibaren geçerlidir. Müşterimizin versionu 6.7.150 ve üzeri ise aşağıdaki adımları takip edebilirsiniz.

Bu alana ek olarak Azure Ad için Windows Server 2019 ve üzeri olmalıdır.

Azure

Azure'da app register etmek gerekiyor. Azure app'de redirect uri eBA'nın host adresi ve kullandığı port (4006) olmalıdır. Dokümanda yer alan <synergyclusterpublichostname> yerine eBA uygulamasının adresi yer almalıdır. ebaHostAdresi:4006 yazılmalı. Örneğin bimser.com:4006

Azure Tarafındaki detaylı dökümantasyon için aşağıdaki linki inceleyebilirsiniz

Download

Sunucu İzinleri

eBA uygulamasının kurulu olduğu sunucuda 4006 portu açılmalı. 3-443 portundan veya 80 portundan Azure Ad'yi kullanılmıyor. Başka bir port olmalı.

2 adet port üzerinden servisler çalışıyor. GrpService > 50052 portunda çalışmaktadır. Farklı bir porta kullanılması tavsiye edilmez fakat ihtiyaç var ise Authentication servis ile haberleşmesi yeterli. AuthenticationService > 4006 çalışmaktadır.

Kurulması Gerekenler

○Node.js

https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=5.0.17&arch=x64&rid=win10-x

https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=5.0.0&arch=x64&rid=win10-x

eBA Configuration Editör Ayarları

Security>Ouath20 kırılımı eklenmeli.

BaseUrl : Default eBA adresi tanımlanmalı.

Enabled : AzureAD logini aktif eden parametre.

Port : Node.js tarafında çalışacak port bilgisi.

"eBAServer.exe.config" Ayarları

eBA uygulamasının kurulu olduğu dizinde common klasöründe yer alan 'eBAServer.exe.config' dosya içeriği düzenlenmelidir.

○ eBAGRPServiceEnabled : Arka planda çalışacak servisi aktif eden parametre. "true"

○ eBAWebAddress : eBAConfiguration Web kısmındaki url bilgisi. "https://bimser.com/eba.net"

○ ValidaterValidAudiences : ClientID bilgisi. "168d55bf-83c6- ****"

○ eBAGrpcServicePort : Grpc servisin çalışacağı port bilgisi. Sistemde kullanılmayan bir port tanımlanabilir. "50052"

○ eBAOAUTH20PORT : Azure tarafında tanımlanmış port. "4006"

○ AuthJSPath : eBA dizininde authentication-oath\synergy-auth klasörü içindeki app.js yolu verilmeli. "C:\BimserCozum\eBA\authentication-oath\synergy-auth\app.js"

○ AuthVariables : INTERNALAPISERVICEADDRESS=localhost:50052|OAUTH20_PORT=4006|OAUTH20_URL= http:// bimser.com:4006 | OAUTH20_AUTHORIZEURL=https://login.microsoftonline.com/ 3462e409- /oauth2/v2.0/authorize| OAUTH20_TOKENURL=https://login.microsofton line.com/ 3462e409- /oauth2/v2.0/token| OAUTH20_CLIENTID= 168d55bf- ** |OAUTH20_CLIENTSECRET= XKc8Q~** | OAUTH _SCOPE=openid profile email user.read|OAUTH20_SCOPESEPARATOR= | OAUTH20_USERPROFILEURL=https://graph.microsoft.com/v1.0/me| OAUTH20_ENABLED=true|CERTIFICATE_FILE_PATH=C:\SSL\fullchain.pem|PRIVATEKEY_FILE_PATH=C:\SSL\server.key"/>

eBA uygulamasına ait IIS'de kullanılan SSL sertifikasının pem ve key parçalarına ayrılıp diskte bir konuma atılmalı ve AuthVariables değerinde bu dizin tanımlanmalı.

OAUTH20_ENABLED=true|CERTIFICATE_FILE_PATH=C:\SSL\fullchain.pem|PRIVATEKEY_FILE_PATH=C:\SSL\server.key"/>

Dilerseniz ilgili ektekiki pathe aynı klasörden atılıp, içerisine pem ve key değerleri exe.configteki gibi yazılabilir böylece bu satırda değişiklik yapmayabilirsiniz.

Yukarıdaki alanlar ekteki eBAServer.exe.config dosyasının içerisinde müşteri bilgileri ile değiştirilmedir.

Configte değişiklik yapılmadan önce mutlaka yedek alınmalıdır.

İlgili değişiklikler sağlanırken , eBAServer.exe.config içerisinde boşluk vb. bırakılmamalı , konfigürasyon değiştirilmemelidir.

eBAServer.exe.Config

Download

eBA uygulamasının kurulu olduğu sunucuda eBA Servisi Restart edilmelidir

Ardından sunucudaki görev yöneticisinden eBAGRPCService.exe ve node.exe çalışıyor mu kontrol edilmelidir

netstat -anob" komutu ile aşağıdaki şekilde kayıt olduğu kontrol edilebilir, node.js çalışıyor ve 4006 portu dinleniyor. Ya da netstat -an | find "4006" komutu ile direkt aratılabilir. (Node.exe servisini eBA'nın GRPC servisi çalıştırmakta, dolayısıyla eBA servisini restart ettiğimizde, gerekli yapılandırmalar sağlandıysa Node.exe çalıştırılıyor.)

SystemManager

Örneğin adogru@bimser.com hesabı olan bir kullanıcı için ilgili kullanıcının externalusername bilgisine adogru değeri girilmelidir.

İlgili ayarlamalar yapıltıktan sonra eBA login ekranında Azure AD giriş butonu görünür hale gelir.

Tıklandığında microsoft login ekranına yönlendirilir ve kullanıcı login olduktan sonra otomatik olarak ilgili kullanıcıya login edilir.

Dikkat Edilmesi Gerekenler

eBAGRPService in çalıştığını gözlemlemek için TaskManager > Details kısmına bakılabilir.

Bu servis eBA servisleriyle beraber ayağa kalkan bir servis.

Azure ile login işlemi gerçekleştirildikten sonra kullanıcıya login olunması yerine tekrardan login ekranına yönlendiriliyorsa aşağıdaki ayar yapılmalıdır.

eba.net > Web.config dosyası içeriğindeki SessionState kısmında “cookieSameSite="Strict" şeklinde yer alan değeri Lax olarak değiştirerek testler gerçekleştirilebilir.

Bu işlemler yapılmasına rağmen problem yaşanıyorsa, eBAServer.exe.config'te ilgili satırlarda boşluk bırakılmış veyahutta eksik bir konfigürasyon olabilir.

Azure Tarafında gerekli izinler ,redirect ve tanımlamalar yapılmamış olup 4006 portuna yetkilendirme sağlanmamış olabilir

Bu alanları kontrol ettikten sonra probleminiz çözülmez ise Windows > Event Viewer kısmı incenelip ,destek ekibimize iletim sağlamanızı rica ediyoruz.