Power Pages Mimarisi

Bu makalede Power Page’in mimarisinden bahsedilmiştir.

Herkese merhaba,

Bu makalede Power Platformun 5.ürünü olarak Mayıs’22’de sunulan Power Pages’dan derinlemesine bahsetmek istiyorum. Yazıyı hazırlarken Power Pages Architecture White Paper’dan yararlandım. İsteyenler orjinal dokümana burdan ulaşabilirler.

Power Pages, kurumsal düzeyde müşterilerinize, partner’larınıza, kullanıcılarınıza açık web siteleri oluşturmayı, oluşturduğunuz web sitesini yönetmeyi sağlayan low-code prensibinde çalışan bir SaaS (software as a service) platform hizmetidir.

Power Pages, veri ve proseslerinizin dış kullanıcılara güvenli bir şekilde açarken web sitenizi kullanan ziyaretçilerin de güvenliğini ve kontrolünü sağlıyor yani platformda güvenlik akışı çift yönlüdür.

Power Pages yukarıda görüldüğü gibi Microsoft Azure üzerine kurulu bir ürün. Dolayısıyla Azure’un güvenlik nimetlerinden yararlanmakta. Host platformu olan Azure’un elastik ölçeklendirme, yüksek kullanılabilirlik, güvenlik, gelişmiş tehdit korumaları gibi özelliklerinden besleniyor. Her Power Page sitesi, web sitelerine yapılan kötü saldırıları izleyen, filtreleyen ve engelleyen bir WAF (web application firewall) ile yapılandırılmış.

Power page’de kullanılan servisler Global, yerel veya sektöre özel regülasyonlara/standartlara uyumluluk sağlıyor. Web sitesi kullanıcılarından gelen verilerin tamamı Microsoft Dataverse’de saklanıyor. Dataverse içindeki tabloları değiştirebileceğiniz veya yeni tablo oluşturabileceğiniz bir bulut tabanlı verikaynağı ve datalarınız başka bir uygulamaya aktarılana kadar veya Dataverse’de tuttuğunuz sürece şifreli bir şekilde saklanıyor. Dataverse entegrasyonu ve authentication’ı aşağıda detaylandırdığım gibi Azure Active Directory üzerinden sağlanıyor. Böylece Power Pages Azure Identity’nin güvenlik özelliklerinden yararlanmış oluyor.

BCDR (Business Continuity and Disaster Recovery)

Herbir Power Pages web sitesi Birincil ve İkincil olmak üzere iki farklı uygulama sunucusuna dağıtılıyor.

Bu sunucular İş Sürekliliği ve Olağan Üstü Durum Kurtarma (BCDR)’yı sağlamak için aynı coğrafyada iki farklı Azure bölgesinde bulunduruluyor. Azure bölgelerindeki veri merkezleri düşük – gecikmeli ağlar üzerinden birbiriyle haberleşerek Azure servislerinin performanslı ve güvenli bir şekilde çalışmasını sağlıyor.

Hata Toleransı (Fault Tolerance)

Hata toleransı, bir uygulamanın hata karşısında çalışmaya devam edebilmesidir. İyi tasarlanmış hataya karşı toleranslı bir sistem, hatadan kaynaklanan kesintileri engelleyerek kullanılabilirliği ve sürekliliği sağlayan sistemdir.

Power Pages, pek çok yazılım ve altyapısal hatalara karşı yüksek dayanıklılık gösteriyor. Platformda geliştirilen her bir web sitesi Azure’da tamamen izole olan sandbox tipindeki ortamlarda host ediliyor. Azure’da host edilen her bir web sitesinin metadatası, izinleri, websitesi layout’ları ve verisi ayrı olarak Dataverse’de saklanıyor. Hata toleransı Dataverse tarafından sağlanıyor.

Her bir Power Page sitesi birbirinden bağımsız bir şekilde yönetilebilir, çalıştırılabilir, deploy edilebilir durumda. Power pages’in arkasında yatan shared-nothing mimarisi, yazılım, donanım ve altyapısal hatalar durumunda sitelerin birbirinden bağımsız şekilde çalışmasına olanak sağlıyor.

Dataverse Entegrasyonu ve Authentication

Her Power Page sitesi, Microsoft Dataverse’le entegre olmak güvenli bağlantılar kurar. Her sitenin identity’si AAD app olarak tutulur. Böylece power page AAD’nin gelişmiş servislerini kullanabilir hale getirilir.

Authentication

Power Page’de kimlik doğrulama sırasıyla OpenID Connect (OIDC), SAML 2.0, WS-Fed ve OAuth 2.0 standart protokolleri ile doğrulama ve yetkilendirme yapan Microsoft Identity Platform üzerine kurulmuştur. Ayrıca Power page authentication’da Azure AD ve Azure AD B2B kimlik doğrulayıcıların sağladığı Multifactor Authentication (MAF) ve password less authentication’ı kullanmak da mümkün.

Herbir sitenin kullanıcıları Dataverse’de Contact kaydı olarak saklanıyor-ki bu da profil yönetimini veya kullanıcı bazlı yetki kurallarının kolayca oluşturulmasını sağlıyor. Power Pages platformu, parolasız kimlik doğrulama, Single Sing-on, Single Log-out, MFA, koşullu erişim, oturum zaman aşımları gibi gelişmiş kimlik doğrulama yöntemlerini de destekliyor.

Authorization

Bir websitesi kullanıcısının sitedeki kaynaklara erişimini veya kaynak kullanımının kontrolü yetkilendirme (authorization) ile sağlanır. Power Page’de authorization Role Based Access Control (RBAC) ile sağlanır-ki bu da 3 adımda uygulanır: Web Rolleri, Tablo İzinleri ve Sayfa İzinleri.

Web Rolleri: Sitedeki hassas içeriklere erişim kontrolu web roller ile sağlanır. Kimliği doğrulanmış kullanıcılar Authenticated User Web Role‘e otomatik olarak alınırken kimliği doğrulanmamış kullanıcılar Anonim Kullanıcılar web rolüne atanıyor. Tabi web rollerini kullanıcı durumlarına bağlı olarak özelleştirmek mümkün.

Tablo İzinleri: Web sitesinde tutulan listeler, formlara veya API’lar aracılığıyla web sitesinden erişilen verilere erişimler tablo izinleri ile kontrol ediliyor. Tablo izinleri Dataverse’de saklanan veriye farklı erişim düzeyleri verilmesini de sağlıyor. Tablo sütunlarına sütun düzeyinde izinler de uygulanabilir. Ayrıca tablo izinleri web rolleriyle de ilişkilidir.

Sayfa İzinleri: Sayfa izni yapılandırması sayfadaki kontentlere erişimi kontrol eder ve web rolleri ile ilişkilidir.

Sonuç

Power page sitelerinin mimarisini güvenilirlik, veri koruma, güvenlik, izin ve yetkilendirme üzerinden anlatmaya çalıştım. Dokumanın tamamına yukarıda verdiğim linkten ulaşabilirsiniz.

Umarım faydalı olmuştur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s