Güvenlik Çerçevesi: Yetkilendirme | Azaltıcı etken

Ürün/Hizmet Makale
Makine Güven Sınırı
Web uygulaması
Veritabanı
IoT Cloud Gateway
Azure Olay Hub'ı
Azure Belge VERITABANı
Azure Güven Sınırı
Service Fabric Güven Sınırı
Dynamics CRM
Dynamics CRM Portalı
Azure Depolama
Mobil İstemci
WCF
Web API'si
IoT Cihazı
IoT Alan Ağ Geçidi

Cihazdaki verilere yetkisiz erişimi kısıtlamak için uygun ACL'lerin yapılandırıldığından emin olun

Başlık Ayrıntılar
Bileşen Makine Güven Sınırı
SDL Aşaması Dağıtım
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Cihazdaki verilere yetkisiz erişimi kısıtlamak için uygun ACL'lerin yapılandırıldığından emin olun

Hassas kullanıcıya özgü uygulama içeriğinin kullanıcı profili dizininde depolandığından emin olun

Başlık Ayrıntılar
Bileşen Makine Güven Sınırı
SDL Aşaması Dağıtım
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Hassas kullanıcıya özgü uygulama içeriğinin kullanıcı profili dizininde depolandığından emin olun. Bu, makinenin birden çok kullanıcısının birbirlerinin verilerine erişmesini önlemek içindir.

Dağıtılan uygulamaların en az ayrıcalıkla çalıştırıldığından emin olun

Başlık Ayrıntılar
Bileşen Makine Güven Sınırı
SDL Aşaması Dağıtım
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Dağıtılan uygulamanın en az ayrıcalıkla çalıştırıldığından emin olun.

İş mantığı akışlarını işlerken sıralı adım sırasını zorunlu kılma

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Bu aşamanın gerçek bir kullanıcı tarafından gerçekleştirildiğini doğrulamak için, uygulamanın iş mantığı akışlarını yalnızca sıralı adım sırasına göre işlemesini, tüm adımların gerçekçi insan zamanında işlenmesini ve sıra dışı, atlanan adımları, başka bir kullanıcıdan işlenen adımları veya çok hızlı gönderilen işlemleri işlememesini sağlamak istersiniz.

Numaralandırmayı önlemek için hız sınırlama mekanizmasını uygulayın

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Hassas tanımlayıcıların rastgele olduğundan emin olun. Anonim sayfalarda CAPTCHA kontrolü uygulayın. Hata ve özel durumun belirli verileri açığa çıkarmaması gerektiğinden emin olun

Uygun yetkilendirmenin yürürlükte olduğundan ve en az ayrıcalık ilkesine uyulduğundan emin olun

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar

İlke, bir kullanıcı hesabına yalnızca o kullanıcının çalışması için gerekli olan ayrıcalıkları vermek anlamına gelir. Örneğin, bir yedekleme kullanıcısının yazılım yüklemesine gerek yoktur: bu nedenle, yedekleme kullanıcısının yalnızca yedekleme ve yedeklemeyle ilgili uygulamaları çalıştırma hakları vardır. Yeni yazılım yükleme gibi diğer ayrıcalıklar engellenir. Bu ilke, genellikle normal bir kullanıcı hesabında çalışan ve yalnızca durum kesinlikle gerektirdiğinde ayrıcalıklı, parola korumalı bir hesap (yani bir süper kullanıcı) açan bir kişisel bilgisayar kullanıcısı için de geçerlidir.

Bu ilke web uygulamalarınıza da uygulanabilir. Oturumları kullanarak yalnızca rol tabanlı kimlik doğrulama yöntemlerine bağlı kalmak yerine, Database-Based bir Kimlik Doğrulama sistemi aracılığıyla kullanıcılara ayrıcalıklar atamak istiyoruz. Kullanıcının doğru bir şekilde oturum açıp açmadığını belirlemek için oturumları kullanmaya devam ediyoruz, ancak şimdi bu kullanıcıya belirli bir rol atamak yerine, sistemde hangi eylemleri gerçekleştirme ayrıcalığına sahip olduğunu doğrulamak için ona ayrıcalıklar atıyoruz. Ayrıca, bu yöntemin büyük bir profesyoneli, bir kullanıcıya daha az ayrıcalık atanması gerektiğinde, atama, aksi takdirde önce sona ermesi gereken oturuma bağlı olmadığından, değişiklikleriniz anında uygulanacaktır.

İş mantığı ve kaynak erişim yetkilendirme kararları, gelen istek parametrelerine dayalı olmamalıdır

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Bir kullanıcının belirli verileri gözden geçirmesinin kısıtlanıp kısıtlanmadığını kontrol ettiğinizde, erişim kısıtlamaları sunucu tarafında işlenmelidir. Kullanıcı kimliği, oturum açma sırasında bir oturum değişkeninin içinde saklanmalı ve veritabanından kullanıcı verilerini almak için kullanılmalıdır

Örnek

SELECT data 
FROM personaldata 
WHERE userID=:id < - session var 

Artık olası bir saldırgan, verileri almak için tanımlayıcı sunucu tarafında işlendiğinden uygulama işlemini kurcalayamaz ve değiştiremez.

İçerik ve kaynakların numaralandırılabilir olmadığından veya zorla göz atma yoluyla erişilebilir olmadığından emin olun

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar

Hassas statik ve yapılandırma dosyaları web kökünde tutulmamalıdır. Herkese açık olması gerekmeyen içerik için ya uygun erişim kontrolleri uygulanmalı ya da içeriğin kendisi kaldırılmalıdır.

Ayrıca, bir sunucudaki dizinleri ve dosyaları numaralandırmak için mümkün olduğunca çok URL'ye erişmeye çalışarak bilgi toplamak için zorla tarama genellikle Kaba Kuvvet teknikleriyle birleştirilir. Saldırganlar, yaygın olarak bulunan dosyaların tüm varyasyonlarını kontrol edebilir. Örneğin, bir parola dosyası araması, psswd.txt, password.htm, password.dat ve diğer varyasyonları içeren dosyaları kapsar.

Bunu azaltmak için, kaba kuvvet girişimlerinin algılanmasına yönelik yetenekler dahil edilmelidir.

Veritabanı sunucusuna bağlanmak için en az ayrıcalıklı hesapların kullanıldığından emin olun

Başlık Ayrıntılar
Bileşen Veritabanı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar SQL izinleri hiyerarşisi, SQL güvenliği sağlanabilir öğeleri
Adımlar Veritabanına bağlanmak için en az ayrıcalıklı hesaplar kullanılmalıdır. Uygulama oturum açma veritabanında kısıtlanmalı ve yalnızca seçili saklı yordamları yürütmelidir. Uygulamanın oturum açma işleminde doğrudan tablo erişimi olmamalıdır.

Kiracıların birbirlerinin verilerine erişmesini önlemek için Satır Düzeyi Güvenlik RLS'sini uygulama

Başlık Ayrıntılar
Bileşen Veritabanı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Sql Azure, Şirket İçi
Öznitelikler SQL Sürümü - V12, SQL Sürümü - MsSQL2016
Referanslar SQL Server Row-Level Güvenliği (RLS)
Adımlar

Row-Level Güvenlik, müşterilerin bir sorguyu yürüten kullanıcının özelliklerine (örneğin, grup üyeliği veya yürütme bağlamı) dayalı olarak bir veritabanı tablosundaki satırlara erişimi denetlemesine olanak tanır.

Row-Level Güvenliği (RLS), uygulamanızdaki güvenlik tasarımını ve kodlamasını basitleştirir. RLS, veri satırı erişiminde kısıtlama uygulamanızı sağlar. Örneğin, çalışanların yalnızca departmanlarıyla ilgili veri satırlarına erişebilmesini sağlamak veya bir müşterinin veri erişimini yalnızca şirketleriyle ilgili verilerle kısıtlamak.

Erişim kısıtlama mantığı, başka bir uygulama katmanındaki verilerden uzakta değil veritabanı katmanında bulunur. Veritabanı sistemi, herhangi bir katmandan veri erişimi denenen her durumda erişim kısıtlamalarını uygular. Bu, güvenlik sisteminin yüzey alanını azaltarak güvenlik sistemini daha güvenilir ve sağlam hale getirir.

Kullanıma hazır bir veritabanı özelliği olarak RLS'nin yalnızca 2016'dan itibaren SQL Server, Azure SQL Veritabanı ve SQL Yönetilen Örneği için geçerli olduğunu lütfen unutmayın. Kullanıma hazır RLS özelliği uygulanmazsa, veri erişiminin kısıtlandığından emin olunmalıdır Görünümler ve Yordamlar Kullanılarak

Sysadmin rolü yalnızca geçerli gerekli kullanıcılara sahip olmalıdır

Başlık Ayrıntılar
Bileşen Veritabanı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar SQL izinleri hiyerarşisi, SQL güvenliği sağlanabilir öğeleri
Adımlar SysAdmin sabit sunucu rolünün üyeleri çok sınırlı olmalı ve hiçbir zaman uygulamalar tarafından kullanılan hesapları içermemelidir. Lütfen roldeki kullanıcıların listesini gözden geçirin ve gereksiz hesapları kaldırın

En az ayrıcalıklı belirteçleri kullanarak Cloud Gateway'e bağlanın

Başlık Ayrıntılar
Bileşen IoT Cloud Gateway
SDL Aşaması Dağıtım
Uygulanabilir Teknolojiler Genel
Öznitelikler Ağ geçidi seçimi - Azure IoT Hub
Referanslar IoT Hub Erişim Denetimi
Adımlar Cloud Gateway'e (IoT Hub) bağlanan çeşitli bileşenlere en az ayrıcalık izinleri sağlayın. Tipik bir örnek şudur: Cihaz yönetimi/sağlama bileşeni registryread/write kullanır, Olay İşlemcisi (ASA) Service Connect'i kullanır. Tek tek cihazlar, Cihaz kimlik bilgilerini kullanarak bağlanır

Cihaz belirteçleri oluşturmak için yalnızca gönderme izinleri SAS Anahtarı kullanma

Başlık Ayrıntılar
Bileşen Azure Olay Hub'ı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Event Hubs kimlik doğrulama ve güvenlik modeli genel bakış
Adımlar Tek tek cihaz belirteçleri oluşturmak için bir SAS anahtarı kullanılır. Belirli bir yayımcı için cihaz belirtecini oluştururken yalnızca gönderme izinleri SAS anahtarı kullanın

Olay Hub'ına doğrudan erişim sağlayan erişim belirteçlerini kullanmayın

Başlık Ayrıntılar
Bileşen Azure Olay Hub'ı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Event Hubs kimlik doğrulama ve güvenlik modeli genel bakış
Adımlar Olay hub'ına doğrudan erişim izni veren bir belirteç cihaza verilmemelidir. Cihaz için yalnızca bir yayımcıya erişim sağlayan en az ayrıcalıklı belirteç kullanmak, cihazın sahte veya güvenliği ihlal edilmiş bir cihaz olduğu tespit edilirse tanımlanmasına ve izin verilmemesine yardımcı olur.

Gereken en düşük izinlere sahip SAS anahtarlarını kullanarak Olay Hub'ına bağlanın

Başlık Ayrıntılar
Bileşen Azure Olay Hub'ı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Event Hubs kimlik doğrulama ve güvenlik modeli genel bakış
Adımlar Olay Hub'ına bağlanan çeşitli arka uç uygulamalarına en az ayrıcalık izinleri sağlayın. Her arka uç uygulaması için ayrı SAS anahtarları oluşturun ve yalnızca gerekli izinleri sağlayın (Gönderme, Alma veya Yönetme).

Mümkün olduğunda Azure Cosmos DB'ye bağlanmak için kaynak belirteçlerini kullanın

Başlık Ayrıntılar
Bileşen Azure Belge VERITABANı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Kaynak belirteci bir Azure Cosmos DB izin kaynağıyla ilişkilendirilir ve bir veritabanının kullanıcısı ile kullanıcının belirli bir Azure Cosmos DB uygulama kaynağı (ör. koleksiyon, belge) için sahip olduğu izin arasındaki ilişkiyi yakalar. İstemciye, mobil veya masaüstü istemcisi gibi bir son kullanıcı uygulaması gibi ana veya salt okunur anahtarları işleme konusunda güvenilemiyorsa, Azure Cosmos DB'ye erişmek için her zaman bir kaynak belirteci kullanın. Bu anahtarları güvenli bir şekilde depolayabilen arka uç uygulamalarından Ana anahtar veya salt okunur anahtarlar kullanın.

Azure RBAC kullanarak Azure Aboneliğine ayrıntılı erişim yönetimini etkinleştirme

Başlık Ayrıntılar
Bileşen Azure Güven Sınırı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Azure abonelik kaynaklarınıza erişimi yönetmek için Azure rolleri atama
Adımlar Azure rol tabanlı erişim denetimi (Azure RBAC), Azure için ayrıntılı erişim yönetimi sağlar. Azure RBAC kullanarak, yalnızca kullanıcıların işlerini gerçekleştirmek için ihtiyaç duydukları erişim miktarını verebilirsiniz.

Service Fabric RBAC kullanarak istemcinin küme işlemlerine erişimini kısıtlama

Başlık Ayrıntılar
Bileşen Service Fabric Güven Sınırı
SDL Aşaması Dağıtım
Uygulanabilir Teknolojiler Genel
Öznitelikler Ortam - Azure
Referanslar Service Fabric istemcileri için Service Fabric rol tabanlı erişim denetimi
Adımlar

Azure Service Fabric, bir Service Fabric kümesine bağlı istemciler için iki farklı erişim denetimi türünü destekler: yönetici ve kullanıcı. Erişim denetimi, küme yöneticisinin farklı kullanıcı grupları için belirli küme işlemlerine erişimi sınırlamasına olanak tanıyarak kümeyi daha güvenli hale getirir.

Yöneticilerin yönetim özelliklerine (okuma/yazma yetenekleri dahil) tam erişimi vardır. Kullanıcılar, varsayılan olarak, yönetim özelliklerine (örneğin, sorgu yetenekleri) yalnızca okuma erişimine ve uygulamaları ve hizmetleri çözümleme yeteneğine sahiptir.

Küme oluşturma sırasında iki istemci rolünü (yönetici ve istemci) belirtirsiniz ve her biri için ayrı sertifikalar sağlarsınız.

Güvenlik modellemesi gerçekleştirin ve gerektiğinde Alan Düzeyinde Güvenliği kullanın

Başlık Ayrıntılar
Bileşen Dynamics CRM
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Güvenlik modellemesi gerçekleştirin ve gerektiğinde Alan Düzeyinde Güvenliği kullanın

Portalın güvenlik modelinin CRM'nin geri kalanından farklı olduğunu göz önünde bulundurarak portal hesaplarının güvenlik modellemesini gerçekleştirin

Başlık Ayrıntılar
Bileşen Dynamics CRM Portalı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Portalın güvenlik modelinin CRM'nin geri kalanından farklı olduğunu göz önünde bulundurarak portal hesaplarının güvenlik modellemesini gerçekleştirin

Azure Tablo Depolama'daki bir dizi varlık için ayrıntılı izin verme

Başlık Ayrıntılar
Bileşen Azure Depolama
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler StorageType - Tablo
Referanslar SAS kullanarak Azure depolama hesabınızdaki nesnelere erişim yetkisi verme
Adımlar Bazı iş senaryolarında, Azure Tablo Depolama'nın farklı taraflara hitap eden hassas verileri depolaması gerekebilir. Örneğin, farklı ülkelere/bölgelere ait hassas veriler. Bu gibi durumlarda, SAS imzaları, bir kullanıcının belirli bir ülkeye/bölgeye özgü verilere erişebilmesi için bölüm ve satır anahtarı aralıkları belirtilerek oluşturulabilir.

Azure Resource Manager'ı kullanarak Azure depolama hesabına Azure rol tabanlı erişim denetimini (Azure RBAC) etkinleştirme

Başlık Ayrıntılar
Bileşen Azure Depolama
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Azure rol tabanlı erişim denetimi (Azure RBAC) ile depolama hesabınızın güvenliğini sağlama
Adımlar

Yeni bir depolama hesabı oluşturduğunuzda, Klasik veya Azure Resource Manager bir dağıtım modeli seçersiniz. Azure'da kaynak oluşturmanın klasik modeli yalnızca aboneliğe ve dolayısıyla depolama hesabına ya hep ya hiç erişimine izin verir.

Azure Resource Manager modeliyle, depolama hesabını bir kaynak grubuna yerleştirir ve Microsoft Entra ID'yi kullanarak söz konusu depolama hesabının yönetim düzlemine erişimi denetlersiniz. Örneğin, belirli kullanıcılara depolama hesabı anahtarlarına erişme olanağı verebilirken, diğer kullanıcılar depolama hesabıyla ilgili bilgileri görüntüleyebilir, ancak depolama hesabı anahtarlarına erişemez.

Örtük jailbreak veya köklendirme algılaması uygulayın

Başlık Ayrıntılar
Bileşen Mobil İstemci
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar

Uygulama, telefonun rootlu veya jailbreak bozuk olması durumunda kendi yapılandırmasını ve kullanıcı verilerini korumalıdır. Köklendirme / hapis kırma, normal kullanıcıların kendi telefonlarında yapmayacakları yetkisiz erişim anlamına gelir. Bu nedenle, telefonun rootlanıp rootlanmadığını algılamak için uygulamanın başlangıçta örtük algılama mantığına sahip olması gerekir.

Algılama mantığı, normalde yalnızca kök kullanıcının erişebileceği dosyalara basitçe erişmek olabilir, örneğin:

  • /sistem/uygulama/Superuser.apk
  • /sbin/su
  • /sistem/çöp kutusu/su
  • /sistem/xbin/su
  • /veri/yerel/xbin/su
  • /veri/yerel/bin/su
  • /sistem/sd/xbin/su
  • /sistem/bin/arıza güvenliği/su
  • /veri/yerel/su

Uygulama bu dosyalardan herhangi birine erişebiliyorsa, uygulamanın kök kullanıcı olarak çalıştığını gösterir.

WCF'de Zayıf Sınıf Başvurusu

Başlık Ayrıntılar
Bileşen WCF
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel, NET Framework 3
Öznitelikler Mevcut Değil
Referanslar MSDN, Fortify Kingdom
Adımlar

Sistem, bir saldırganın yetkisiz kod yürütmesine izin verebilecek zayıf bir sınıf başvurusu kullanır. Program, benzersiz olarak tanımlanmamış, kullanıcı tanımlı bir sınıfa başvurur. .NET bu zayıf tanımlanmış sınıfı yüklediğinde, CLR türü yükleyicisi sınıfı belirtilen sırayla aşağıdaki konumlarda arar:

  1. Türün derlemesi biliniyorsa, yükleyici yapılandırma dosyasının yeniden yönlendirme konumlarını, GAC'yi, yapılandırma bilgilerini kullanarak geçerli derlemeyi ve uygulama temel dizinini arar
  2. Derleme bilinmiyorsa, yükleyici geçerli derlemeyi, mscorlib'i ve TypeResolve olay işleyicisi tarafından döndürülen konumu arar
  3. Bu CLR arama sırası, Tür İletme mekanizması ve AppDomain.TypeResolve olayı gibi kancalarla değiştirilebilir

Bir saldırgan CLR arama sırasını kullanarak aynı ada sahip alternatif bir sınıf oluşturur ve bu sınıfı CLR'nin ilk olarak yükleyeceği alternatif bir konuma yerleştirirse, CLR istemeden saldırgan tarafından sağlanan kodu yürütür

Örnek

<behaviorExtensions/> Aşağıdaki WCF yapılandırma dosyasının öğesi, WCF'ye belirli bir WCF uzantısına özel bir davranış sınıfı eklemesini söyler.

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name=""myBehavior"" type=""MyBehavior"" />
        </behaviorExtensions>
    </extensions>
</system.serviceModel>

Tam nitelenmiş (güçlü) adların kullanılması, bir türü benzersiz bir şekilde tanımlar ve sisteminizin güvenliğini daha da artırır. machine.config ve app.config dosyalarında türleri kaydederken tam derleme adlarını kullanın.

Örnek

<behaviorExtensions/> Aşağıdaki WCF yapılandırma dosyasının öğesi, WCF'ye belirli bir WCF uzantısına kesin olarak başvurulan özel davranış sınıfı eklemesini söyler.

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name=""myBehavior"" type=""Microsoft.ServiceModel.Samples.MyBehaviorSection, MyBehavior,
            Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"" />
        </behaviorExtensions>
    </extensions>
</system.serviceModel>

WCF-Implement Yetkilendirme kontrolü

Başlık Ayrıntılar
Bileşen WCF
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel, NET Framework 3
Öznitelikler Mevcut Değil
Referanslar MSDN, Fortify Kingdom
Adımlar

Bu hizmet bir yetkilendirme denetimi kullanmaz. Bir istemci belirli bir WCF hizmetini çağırdığında, WCF, çağıranın sunucuda hizmet yöntemini yürütme iznine sahip olduğunu doğrulayan çeşitli yetkilendirme şemaları sağlar. WCF hizmetleri için yetkilendirme denetimleri etkinleştirilmemişse, kimliği doğrulanmış bir kullanıcı ayrıcalık yükseltme elde edebilir.

Örnek

Aşağıdaki yapılandırma, WCF'ye hizmeti yürütürken istemcinin yetkilendirme düzeyini denetlememesini söyler:

<behaviors>
    <serviceBehaviors>
        <behavior>
            ...
            <serviceAuthorization principalPermissionMode=""None"" />
        </behavior>
    </serviceBehaviors>
</behaviors>

Hizmet yöntemini çağıranın bunu yapmaya yetkili olduğunu doğrulamak için bir hizmet yetkilendirme şeması kullanın. WCF iki mod sağlar ve özel bir yetkilendirme şemasının tanımlanmasına izin verir. UseWindowsGroups modu Windows rollerini ve kullanıcılarını, UseAspNetRoles modu ise kimlik doğrulaması için SQL Server gibi ASP.NET bir rol sağlayıcısını kullanır.

Örnek

Aşağıdaki yapılandırma, WCF'ye Add hizmetini yürütmeden önce istemcinin Administrators grubunun bir parçası olduğundan emin olmasını söyler:

<behaviors>
    <serviceBehaviors>
        <behavior>
            ...
            <serviceAuthorization principalPermissionMode=""UseWindowsGroups"" />
        </behavior>
    </serviceBehaviors>
</behaviors>

Hizmet daha sonra aşağıdaki gibi bildirilir:

[PrincipalPermission(SecurityAction.Demand,
Role = ""Builtin\\Administrators"")]
public double Add(double n1, double n2)
{
double result = n1 + n2;
return result;
}

Web API'ASP.NET uygun yetkilendirme mekanizmasını uygulayın

Başlık Ayrıntılar
Bileşen Web API'si
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel, MVC5
Öznitelikler Yok, Kimlik Sağlayıcı - ADFS, Kimlik Sağlayıcı - Microsoft Entra Kimliği
Referanslar Web API'ASP.NET Kimlik Doğrulaması ve Yetkilendirme
Adımlar

Uygulama kullanıcıları için rol bilgileri, uygulama Kimlik sağlayıcısı olarak bunlara güveniyorsa veya uygulamanın kendisi sağlayabiliyorsa, Microsoft Entra Kimliği veya ADFS taleplerinden türetilebilir. Bu durumların herhangi birinde, özel yetkilendirme uygulamasının kullanıcı rolü bilgilerini doğrulaması gerekir.

Uygulama kullanıcıları için rol bilgileri, uygulama Kimlik sağlayıcısı olarak bunlara güveniyorsa veya uygulamanın kendisi sağlayabiliyorsa, Microsoft Entra Kimliği veya ADFS taleplerinden türetilebilir. Bu durumların herhangi birinde, özel yetkilendirme uygulamasının kullanıcı rolü bilgilerini doğrulaması gerekir.

Örnek

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class ApiAuthorizeAttribute : System.Web.Http.AuthorizeAttribute
{
        public async override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            if (actionContext == null)
            {
                throw new Exception();
            }

            if (!string.IsNullOrEmpty(base.Roles))
            {
                bool isAuthorized = ValidateRoles(actionContext);
                if (!isAuthorized)
                {
                    HandleUnauthorizedRequest(actionContext);
                }
            }

            base.OnAuthorization(actionContext);
        }

public bool ValidateRoles(actionContext)
{
   //Authorization logic here; returns true or false
}

}

Korunması gereken tüm kontrolörler ve eylem yöntemleri yukarıdaki özellik ile donatılmalıdır.

[ApiAuthorize]
public class CustomController : ApiController
{
     //Application code goes here
}

Farklı izin düzeyleri gerektiren çeşitli eylemleri destekliyorsa, cihazda yetkilendirme kontrolleri gerçekleştirin

Başlık Ayrıntılar
Bileşen IoT Cihazı
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar

Cihaz, arayanın istenen eylemi gerçekleştirmek için gerekli izinlere sahip olup olmadığını kontrol etmesi için arayanı yetkilendirmelidir. Örneğin, cihazın buluttan izlenebilen bir Akıllı Kapı Kilidi olduğunu ve ayrıca Kapıyı Uzaktan Kilitleme gibi işlevler sağladığını varsayalım.

Akıllı Kapı Kilidi, yalnızca birisi fiziksel olarak bir Kartla kapıya yaklaştığında kilit açma işlevi sağlar. Bu durumda, uzaktan komuta ve kontrolün uygulanması, bulut ağ geçidinin kapının kilidini açmak için bir komut gönderme yetkisi olmadığından, kapının kilidini açmak için herhangi bir işlevsellik sağlamayacak şekilde yapılmalıdır.

Farklı izin düzeyleri gerektiren çeşitli eylemleri destekliyorsa, Field Gateway'de yetkilendirme kontrolleri gerçekleştirin

Başlık Ayrıntılar
Bileşen IoT Alan Geçidi
SDL Aşaması İnşa et
Uygulanabilir Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımlar Field Gateway, çağıranın istenen eylemi gerçekleştirmek için gerekli izinlere sahip olup olmadığını kontrol etmesi için arayanı yetkilendirmelidir. Örneğin, bir alan ağ geçidi v/s'ye bağlanan cihazları yapılandırmak için kullanılan bir yönetici kullanıcı arabirimi/API'si için farklı izinler olmalıdır.