Kerangka Keamanan: Otorisasi | Mitigasi

Produk/Layanan Artikel
Batas Kepercayaan Mesin
Aplikasi Web
Basis data
IoT Cloud Gateway
Azure Event Hub
Database Dokumen Azure
Batas Kepercayaan Microsoft Azure
Batas Kepercayaan Service Fabric
Dynamics CRM
Dynamics CRM Portal
Azure Storage
Aplikasi Seluler
WCF
API Web
Perangkat IoT
Gateway Bidang IoT

Pastikan ACL yang tepat dikonfigurasi untuk membatasi akses tidak sah ke data di perangkat

Judul Detail lebih lanjut
Komponen Batas Kepercayaan Komputer
Fase SDL Penyebaran
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Pastikan ACL yang tepat dikonfigurasi untuk membatasi akses tidak sah ke data di perangkat

Pastikan konten aplikasi khusus pengguna yang sensitif disimpan di direktori profil pengguna

Judul Detail lebih lanjut
Komponen Batas Kepercayaan Komputer
Fase SDL Penyebaran
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Pastikan konten aplikasi khusus pengguna yang sensitif disimpan dalam direktori profil pengguna. Ini untuk mencegah banyak pengguna mesin mengakses data satu sama lain.

Pastikan bahwa aplikasi yang disebarkan dijalankan dengan hak istimewa paling sedikit

Judul Detail lebih lanjut
Komponen Batas Kepercayaan Komputer
Fase SDL Penyebaran
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Pastikan bahwa aplikasi yang disebarkan dijalankan dengan hak istimewa paling sedikit.

Terapkan urutan langkah berurutan saat memproses alur logika bisnis

Judul Detail lebih lanjut
Komponen Aplikasi Web
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Untuk memverifikasi bahwa tahap ini dijalankan oleh pengguna asli, Anda ingin menerapkan aplikasi untuk hanya memproses alur logika bisnis dalam urutan langkah berurutan, dengan semua langkah diproses dalam waktu manusia yang realistis, dan tidak memproses tidak berurutan, langkah yang dilewati, langkah yang diproses dari pengguna lain, atau transaksi yang dikirimkan terlalu cepat.

Terapkan mekanisme pembatasan kecepatan untuk mencegah pencacahan

Judul Detail lebih lanjut
Komponen Aplikasi Web
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Pastikan bahwa pengidentifikasi sensitif bersifat acak. Terapkan kontrol CAPTCHA pada halaman anonim. Pastikan bahwa kesalahan dan pengecualian tidak boleh mengungkapkan data tertentu

Pastikan bahwa otorisasi yang tepat ada dan prinsip hak istimewa paling sedikit diikuti

Judul Detail lebih lanjut
Komponen Aplikasi Web
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah

Prinsipnya berarti memberikan akun pengguna hanya hak istimewa yang penting untuk pengguna bekerja. Misalnya, pengguna cadangan tidak perlu menginstal perangkat lunak: karenanya, pengguna cadangan hanya memiliki hak untuk menjalankan aplikasi terkait pencadangan dan pencadangan. Hak istimewa lainnya, seperti menginstal perangkat lunak baru, diblokir. Prinsip ini juga berlaku untuk pengguna komputer pribadi yang biasanya bekerja di akun pengguna normal, dan membuka akun istimewa yang dilindungi kata sandi (yaitu, pengguna super) hanya ketika situasinya benar-benar menuntutnya.

Prinsip ini juga dapat diterapkan pada aplikasi web Anda. Alih-alih hanya bergantung pada metode otentikasi berbasis peran menggunakan sesi, kami lebih suka menetapkan hak istimewa kepada pengguna melalui sistem Otentikasi Database-Based. Kami masih menggunakan sesi untuk mengidentifikasi apakah pengguna masuk dengan benar, hanya sekarang alih-alih menetapkan pengguna tersebut dengan peran tertentu, kami memberinya hak istimewa untuk memverifikasi tindakan mana yang memiliki hak istimewa untuk dilakukan di sistem. Juga kelebihan besar dari metode ini adalah, setiap kali pengguna harus diberi lebih sedikit hak istimewa, perubahan Anda akan diterapkan dengan cepat karena penetapan tidak bergantung pada sesi yang harus kedaluwarsa terlebih dahulu.

Logika bisnis dan keputusan otorisasi akses sumber daya tidak boleh didasarkan pada parameter permintaan masuk

Judul Detail lebih lanjut
Komponen Aplikasi Web
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Setiap kali Anda memeriksa apakah pengguna dibatasi untuk meninjau data tertentu, pembatasan akses harus diproses di sisi server. ID pengguna harus disimpan di dalam variabel sesi saat login dan harus digunakan untuk mengambil data pengguna dari database

Contoh

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

Sekarang kemungkinan penyerang tidak dapat merusak dan mengubah operasi aplikasi karena pengidentifikasi untuk mengambil data ditangani di sisi server.

Pastikan konten dan sumber daya tidak dapat dihitung atau dapat diakses melalui penjelajahan paksa

Judul Detail lebih lanjut
Komponen Aplikasi Web
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah

File statis dan konfigurasi sensitif tidak boleh disimpan di web-root. Untuk konten yang tidak diharuskan bersifat publik, kontrol akses yang tepat harus diterapkan atau penghapusan konten itu sendiri.

Selain itu, penjelajahan paksa biasanya dikombinasikan dengan teknik Brute Force untuk mengumpulkan informasi dengan mencoba mengakses URL sebanyak mungkin untuk menghitung direktori dan file di server. Penyerang dapat memeriksa semua variasi file yang umum ada. Misalnya, pencarian file kata sandi akan mencakup file termasuk psswd.txt, password.htm, password.dat, dan variasi lainnya.

Untuk mengurangi hal ini, kemampuan untuk mendeteksi upaya brute force harus disertakan.

Pastikan bahwa akun dengan hak istimewa paling rendah digunakan untuk terhubung ke server Database

Judul Detail lebih lanjut
Komponen Basis data
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Hierarki izin SQL, keamanan SQL
Langkah-langkah Akun dengan hak istimewa paling rendah harus digunakan untuk terhubung ke database. Login aplikasi harus dibatasi dalam database dan hanya boleh menjalankan prosedur tersimpan yang dipilih. Login aplikasi tidak boleh memiliki akses meja langsung.

Menerapkan RLS Keamanan Tingkat Baris untuk mencegah penyewa mengakses data satu sama lain

Judul Detail lebih lanjut
Komponen Basis data
Fase SDL Membangun
Teknologi yang Berlaku Sql Azure, OnPrem
Atribut Versi SQL - V12, Versi SQL - MsSQL2016
Referensi Keamanan Row-Level SQL Server (RLS)
Langkah-langkah

Row-Level Security memungkinkan pelanggan mengontrol akses ke baris dalam tabel database berdasarkan karakteristik pengguna yang menjalankan kueri (misalnya, keanggotaan grup atau konteks eksekusi).

Row-Level Security (RLS) menyederhanakan desain dan pengkodean keamanan dalam aplikasi Anda. RLS memungkinkan Anda mengimplementasikan pembatasan akses baris data. Misalnya, memastikan bahwa pekerja hanya dapat mengakses baris data yang relevan dengan departemen mereka, atau membatasi akses data pelanggan hanya untuk data yang relevan dengan perusahaan mereka.

Logika pembatasan akses terletak di tingkat database daripada jauh dari data di tingkat aplikasi lain. Sistem database menerapkan pembatasan akses setiap kali akses data dicoba dari tingkat mana pun. Hal ini membuat sistem keamanan lebih andal dan kuat dengan mengurangi luas permukaan sistem keamanan.

Harap dicatat bahwa RLS sebagai fitur database siap pakai hanya berlaku untuk SQL Server mulai 2016, Azure SQL Database, dan SQL Managed Instance. Jika fitur RLS out-of-the-box tidak diterapkan, harus dipastikan bahwa akses data dibatasi Menggunakan Tampilan dan Prosedur

Peran sysadmin hanya boleh memiliki pengguna yang valid yang diperlukan

Judul Detail lebih lanjut
Komponen Basis data
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Hierarki izin SQL, keamanan SQL
Langkah-langkah Anggota peran server tetap SysAdmin harus sangat terbatas dan tidak pernah berisi akun yang digunakan oleh aplikasi. Silakan tinjau daftar pengguna dalam peran dan hapus akun yang tidak perlu

Menyambungkan ke Cloud Gateway menggunakan token dengan hak istimewa paling rendah

Judul Detail lebih lanjut
Komponen IoT Cloud Gateway
Fase SDL Penyebaran
Teknologi yang Berlaku Umum
Atribut Pilihan gateway - Azure IoT Hub
Referensi Kontrol Akses IoT Hub
Langkah-langkah Berikan izin hak istimewa paling sedikit ke berbagai komponen yang terhubung ke Cloud Gateway (IoT Hub). Contoh umumnya adalah – Komponen manajemen/provisi perangkat menggunakan registryread/write, Event Processor (ASA) menggunakan Service Connect. Masing-masing perangkat terhubung menggunakan kredensial Perangkat

Menggunakan Kunci SAS izin khusus kirim untuk menghasilkan token perangkat

Judul Detail lebih lanjut
Komponen Azure Event Hub
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Gambaran umum autentikasi dan model keamanan Azure Event Hubs
Langkah-langkah Kunci SAS digunakan untuk menghasilkan token perangkat individual. Gunakan kunci SAS izin khusus kirim saat membuat token perangkat untuk penerbit tertentu

Jangan gunakan token akses yang menyediakan akses langsung ke Event Hub

Judul Detail lebih lanjut
Komponen Azure Event Hub
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Gambaran umum autentikasi dan model keamanan Azure Event Hubs
Langkah-langkah Token yang memberikan akses langsung ke pusat peristiwa tidak boleh diberikan ke perangkat. Menggunakan token dengan hak istimewa paling rendah untuk perangkat yang hanya memberikan akses ke penerbit akan membantu mengidentifikasi dan melarangnya jika ditemukan sebagai perangkat nakal atau disusupi.

Menyambungkan ke Event Hub menggunakan kunci SAS yang memiliki izin minimum yang diperlukan

Judul Detail lebih lanjut
Komponen Azure Event Hub
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Gambaran umum autentikasi dan model keamanan Azure Event Hubs
Langkah-langkah Berikan izin hak istimewa paling sedikit ke berbagai aplikasi back-end yang terhubung ke Pusat Peristiwa. Hasilkan kunci SAS terpisah untuk setiap aplikasi back-end dan hanya berikan izin yang diperlukan - Kirim, Terima, atau Kelola kepada mereka.

Gunakan token sumber daya untuk terhubung ke Azure Cosmos DB bila memungkinkan

Judul Detail lebih lanjut
Komponen Database Dokumen Azure
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Token sumber daya dikaitkan dengan sumber daya izin Azure Cosmos DB dan menangkap hubungan antara pengguna database dan izin yang dimiliki pengguna untuk sumber daya aplikasi Azure Cosmos DB tertentu (misalnya koleksi, dokumen). Selalu gunakan token sumber daya untuk mengakses Azure Cosmos DB jika klien tidak dapat dipercaya dengan menangani kunci master atau baca-saja - seperti aplikasi pengguna akhir seperti klien seluler atau desktop. Gunakan kunci Master atau kunci hanya-baca dari aplikasi backend yang dapat menyimpan kunci ini dengan aman.

Mengaktifkan manajemen akses terperinci ke Langganan Azure menggunakan Azure RBAC

Judul Detail lebih lanjut
Komponen Batas Kepercayaan Azure
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tetapkan peran Azure untuk mengelola akses ke sumber daya langganan Azure Anda
Langkah-langkah Kontrol akses berbasis peran Azure (Azure RBAC) memungkinkan manajemen akses terperinci untuk Azure. Dengan menggunakan Azure RBAC, Anda hanya dapat memberikan jumlah akses yang diperlukan pengguna untuk melakukan pekerjaan mereka.

Membatasi akses klien ke operasi kluster menggunakan Service Fabric RBAC

Judul Detail lebih lanjut
Komponen Batas Kepercayaan Service Fabric
Fase SDL Penyebaran
Teknologi yang Berlaku Umum
Atribut Lingkungan - Azure
Referensi Kontrol akses berbasis peran Service Fabric untuk klien Service Fabric
Langkah-langkah

Azure Service Fabric mendukung dua jenis kontrol akses yang berbeda untuk klien yang terhubung ke klaster Kain Layanan: administrator dan pengguna. Kontrol akses memungkinkan administrator kluster untuk membatasi akses ke operasi kluster tertentu untuk berbagai kelompok pengguna, membuat kluster lebih aman.

Administrator memiliki akses penuh ke kemampuan manajemen (termasuk kemampuan baca/tulis). Pengguna, secara default, hanya memiliki akses baca ke kemampuan manajemen (misalnya, kemampuan kueri), dan kemampuan untuk menyelesaikan aplikasi dan layanan.

Anda menentukan dua peran klien (administrator dan klien) pada saat pembuatan kluster dengan memberikan sertifikat terpisah untuk masing-masing.

Lakukan pemodelan keamanan dan gunakan Keamanan Tingkat Bidang jika diperlukan

Judul Detail lebih lanjut
Komponen Dynamics CRM
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Lakukan pemodelan keamanan dan gunakan Keamanan Tingkat Bidang jika diperlukan

Lakukan pemodelan keamanan akun portal dengan mengingat bahwa model keamanan untuk portal berbeda dari CRM lainnya

Judul Detail lebih lanjut
Komponen Dynamics CRM Portal
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Lakukan pemodelan keamanan akun portal dengan mengingat bahwa model keamanan untuk portal berbeda dari CRM lainnya

Berikan izin terperinci pada rentang entitas di Azure Table Storage

Judul Detail lebih lanjut
Komponen Azure Storage
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut StorageType - Tabel
Referensi Cara mendelegasikan akses ke objek di akun penyimpanan Azure Anda menggunakan SAS
Langkah-langkah Dalam skenario bisnis tertentu, Azure Table Storage mungkin diperlukan untuk menyimpan data sensitif yang melayani pihak yang berbeda. Misalnya, data sensitif yang berkaitan dengan berbagai negara/wilayah. Dalam kasus seperti itu, tanda tangan SAS dapat dibuat dengan menentukan rentang kunci partisi dan baris, sehingga pengguna dapat mengakses data khusus untuk negara/wilayah tertentu.

Mengaktifkan kontrol akses berbasis peran Azure (Azure RBAC) ke akun penyimpanan Azure menggunakan Azure Resource Manager

Judul Detail lebih lanjut
Komponen Azure Storage
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Cara mengamankan akun penyimpanan Anda dengan kontrol akses berbasis peran Azure (Azure RBAC)
Langkah-langkah

Saat Anda membuat akun penyimpanan baru, Anda memilih model penyebaran Klasik atau Azure Resource Manager. Model Klasik untuk membuat sumber daya di Azure hanya mengizinkan akses semua atau tidak sama sekali ke langganan, dan pada gilirannya, akun penyimpanan.

Dengan model Azure Resource Manager, Anda menempatkan akun penyimpanan dalam grup sumber daya dan mengontrol akses ke sarana manajemen akun penyimpanan tertentu menggunakan ID Microsoft Entra. Misalnya, Anda dapat memberi pengguna tertentu kemampuan untuk mengakses kunci akun penyimpanan, sementara pengguna lain dapat melihat informasi tentang akun penyimpanan, tetapi tidak dapat mengakses kunci akun penyimpanan.

Menerapkan deteksi jailbreak atau rooting implisit

Judul Detail lebih lanjut
Komponen Aplikasi Seluler
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah

Aplikasi harus melindungi konfigurasi dan data penggunanya sendiri jika ponsel di-root atau rusak. Rooting/jailbreaking menyiratkan akses yang tidak sah, yang tidak akan dilakukan pengguna normal di ponsel mereka sendiri. Oleh karena itu aplikasi harus memiliki logika deteksi implisit pada startup aplikasi, untuk mendeteksi apakah ponsel telah di-root.

Logika deteksi dapat berupa akses file yang biasanya hanya dapat diakses oleh pengguna root, misalnya:

  • /sistem/aplikasi/Superuser.apk
  • /sbin/su
  • /sistem/bin/su
  • /sistem/xbin/su
  • /data/lokal/xbin/su
  • /data/lokal/bin/su
  • /sistem/sd/xbin/su
  • /sistem/bin/failsafe/su
  • /data/lokal/su

Jika aplikasi dapat mengakses salah satu file ini, itu menunjukkan bahwa aplikasi berjalan sebagai pengguna root.

Referensi Kelas Lemah di WCF

Judul Detail lebih lanjut
Komponen WCF
Fase SDL Membangun
Teknologi yang Berlaku Generik, NET Framework 3
Atribut Tidak tersedia
Referensi MSDN, Kerajaan Fortify
Langkah-langkah

Sistem menggunakan referensi kelas yang lemah, yang mungkin memungkinkan penyerang untuk mengeksekusi kode yang tidak sah. Program ini mereferensikan kelas yang ditentukan pengguna yang tidak diidentifikasi secara unik. Saat .NET memuat kelas yang diidentifikasi lemah ini, pemuat jenis CLR mencari kelas di lokasi berikut dalam urutan yang ditentukan:

  1. Jika rakitan jenis diketahui, loader mencari lokasi pengalihan file konfigurasi, GAC, rakitan saat ini menggunakan informasi konfigurasi, dan direktori dasar aplikasi
  2. Jika rakitan tidak diketahui, pemuat mencari rakitan saat ini, mscorlib, dan lokasi yang dikembalikan oleh penanganan peristiwa TypeResolve
  3. Urutan pencarian CLR ini dapat dimodifikasi dengan kait seperti mekanisme Penerusan Jenis dan peristiwa AppDomain.TypeResolve

Jika penyerang mengeksploitasi urutan pencarian CLR dengan membuat kelas alternatif dengan nama yang sama dan menempatkannya di lokasi alternatif yang akan dimuat CLR terlebih dahulu, CLR akan secara tidak sengaja mengeksekusi kode yang disediakan penyerang

Contoh

Elemen <behaviorExtensions/> file konfigurasi WCF di bawah ini menginstruksikan WCF untuk menambahkan kelas perilaku kustom ke ekstensi WCF tertentu.

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

Menggunakan nama yang sepenuhnya memenuhi syarat (kuat) secara unik mengidentifikasi jenis dan selanjutnya meningkatkan keamanan sistem Anda. Gunakan nama rakitan yang sepenuhnya memenuhi syarat saat mendaftarkan jenis dalam file machine.config dan app.config.

Contoh

Elemen <behaviorExtensions/> file konfigurasi WCF di bawah ini menginstruksikan WCF untuk menambahkan kelas perilaku kustom yang sangat direferensikan ke ekstensi WCF tertentu.

<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 Kontrol otorisasi

Judul Detail lebih lanjut
Komponen WCF
Fase SDL Membangun
Teknologi yang Berlaku Generik, NET Framework 3
Atribut Tidak tersedia
Referensi MSDN, Kerajaan Fortify
Langkah-langkah

Layanan ini tidak menggunakan kontrol otorisasi. Saat klien memanggil layanan WCF tertentu, WCF menyediakan berbagai skema otorisasi yang memverifikasi bahwa pemanggil memiliki izin untuk menjalankan metode layanan di server. Jika kontrol otorisasi tidak diaktifkan untuk layanan WCF, pengguna yang diautentikasi dapat mencapai eskalasi hak istimewa.

Contoh

Konfigurasi berikut menginstruksikan WCF untuk tidak memeriksa tingkat otorisasi klien saat menjalankan layanan:

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

Gunakan skema otorisasi layanan untuk memverifikasi bahwa pemanggil metode layanan berwenang untuk melakukannya. WCF menyediakan dua mode dan memungkinkan definisi skema otorisasi khusus. Mode UseWindowsGroups menggunakan peran dan pengguna Windows dan mode UseAspNetRoles menggunakan penyedia peran ASP.NET, seperti SQL Server, untuk mengautentikasi.

Contoh

Konfigurasi berikut menginstruksikan WCF untuk memastikan bahwa klien adalah bagian dari grup Administrator sebelum menjalankan layanan Tambahkan:

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

Layanan kemudian dideklarasikan sebagai berikut:

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

Menerapkan mekanisme otorisasi yang tepat di ASP.NET Web API

Judul Detail lebih lanjut
Komponen API untuk Web
Fase SDL Membangun
Teknologi yang Berlaku Generik, MVC5
Atribut T/A, Penyedia Identitas - ADFS, Penyedia Identitas - ID Microsoft Entra
Referensi Autentikasi dan Otorisasi di ASP.NET Web API
Langkah-langkah

Informasi peran untuk pengguna aplikasi dapat diturunkan dari klaim Microsoft Entra ID atau ADFS jika aplikasi mengandalkannya sebagai penyedia Identitas atau aplikasi itu sendiri mungkin menyediakannya. Dalam salah satu kasus ini, implementasi otorisasi kustom harus memvalidasi informasi peran pengguna.

Informasi peran untuk pengguna aplikasi dapat diturunkan dari klaim Microsoft Entra ID atau ADFS jika aplikasi mengandalkannya sebagai penyedia Identitas atau aplikasi itu sendiri mungkin menyediakannya. Dalam salah satu kasus ini, implementasi otorisasi kustom harus memvalidasi informasi peran pengguna.

Contoh

[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
}

}

Semua pengontrol dan metode tindakan yang perlu dilindungi harus dihiasi dengan atribut di atas.

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

Lakukan pemeriksaan otorisasi di perangkat jika mendukung berbagai tindakan yang memerlukan tingkat izin yang berbeda

Judul Detail lebih lanjut
Komponen Perangkat IoT
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah

Perangkat harus mengizinkan pemanggil untuk memeriksa apakah pemanggil memiliki izin yang diperlukan untuk melakukan tindakan yang diminta. Misalnya katakanlah perangkat tersebut adalah Smart Door Lock yang dapat dipantau dari cloud, ditambah lagi menyediakan fungsionalitas seperti Mengunci pintu dari jarak jauh.

Smart Door Lock menyediakan fungsionalitas membuka kunci hanya ketika seseorang secara fisik mendekati pintu dengan Kartu. Dalam hal ini, penerapan perintah dan kontrol jarak jauh harus dilakukan sedemikian rupa sehingga tidak menyediakan fungsionalitas apa pun untuk membuka kunci pintu karena gateway cloud tidak berwenang untuk mengirim perintah untuk membuka kunci pintu.

Lakukan pemeriksaan otorisasi di Field Gateway jika mendukung berbagai tindakan yang memerlukan tingkat izin yang berbeda

Judul Detail lebih lanjut
Komponen Gateway Bidang IoT
Fase SDL Membangun
Teknologi yang Berlaku Umum
Atribut Tidak tersedia
Referensi Tidak tersedia
Langkah-langkah Field Gateway harus mengizinkan pemanggil untuk memeriksa apakah pemanggil memiliki izin yang diperlukan untuk melakukan tindakan yang diminta. Misalnya, harus ada izin yang berbeda untuk antarmuka pengguna admin/API yang digunakan untuk mengonfigurasi gateway bidang v/s perangkat yang terhubung dengannya.