Bagikan melalui


Objek Deskriptor Keamanan WMI

WMI memiliki objek dan metode yang memungkinkan Anda membaca dan memanipulasi deskriptor keamanan untuk menentukan siapa yang memiliki akses ke objek yang dapat diamankan.

Peran Deskriptor Keamanan

Deskriptor keamanan menentukan atribut keamanan objek yang dapat diamankan seperti file, kunci registri, namespace WMI, printer, layanan, atau berbagi. Deskriptor keamanan berisi informasi tentang pemilik dan grup utama objek. Penyedia dapat membandingkan deskriptor keamanan sumber daya dengan identitas pengguna yang meminta, dan menentukan apakah pengguna memiliki hak untuk mengakses sumber daya yang diminta pengguna atau tidak. Untuk informasi selengkapnya, lihat Akses ke Objek Yang Dapat Diamankan WMI.

Beberapa metode WMI, seperti GetSD, mengembalikan deskriptor keamanan dalam format array byte biner. Dimulai dengan Windows Vista, gunakan metode kelas Win32_SecurityDescriptorHelper untuk mengonversi deskriptor keamanan biner ke instans Win32_SecurityDescriptor, yang dapat dimanipulasi dengan lebih mudah. Untuk informasi selengkapnya, lihat Mengubah Keamanan Akses pada Objek yang Dapat Diamankan.

Objek Keamanan Access Control dan WMI

Berikut ini adalah daftar objek keamanan WMI:

Diagram berikut menunjukkan hubungan di antara objek keamanan WMI.

hubungan antara objek keamanan wmi

Untuk informasi selengkapnya tentang peran keamanan akses, lihat Praktik Terbaik Keamanan, Menjaga Keamanan WMI, dan Access Control.

Objek Win32_SecurityDescriptor

Tabel berikut mencantumkan properti kelas Win32_SecurityDescriptor .

Properti Deskripsi
ControlFlags Kumpulan bit kontrol yang memenuhi syarat arti SD atau anggota individunya. Untuk informasi selengkapnya tentang mengatur nilai bit ControlFlags , lihat Win32_SecurityDescriptor.
DACL Daftar Access Control Diskresi (ACL) pengguna dan grup, dan hak akses mereka ke objek aman. Properti ini berisi array instans Win32_ACE yang mewakili Entri Access Control. Untuk informasi selengkapnya, lihat Membuat DACL.
Grup Grup tempat objek aman ini berada. Properti ini berisi instans Win32_Trustee yang berisi nama, domain, dan pengidentifikasi keamanan (SID) grup tempat pemilik berada.
Pemilik Pemilik objek aman ini. Properti ini berisi instans Win32_Trustee yang berisi nama, domain, dan pengidentifikasi keamanan (SID) pemilik.
SACL Daftar Access Control Sistem (ACL) berisi array instans Win32_ACE yang mewakili jenis upaya akses yang menghasilkan catatan audit untuk pengguna atau grup. Untuk informasi selengkapnya, lihat SACL untuk Objek Baru.

DACL dan SACL

Array objek Win32_ACE dalam daftar kontrol akses diskresi (DACL) dan daftar kontrol akses sistem {SACL) membuat tautan antara pengguna atau grup dan hak akses mereka.

Ketika properti DACL tidak berisi entri kontrol akses (ACE), hak akses tidak diberikan dan akses ke objek ditolak.

Catatan

NULL DACL memberikan akses penuh kepada semua orang, yang merupakan risiko keamanan yang serius. Untuk informasi selengkapnya, lihat Membuat DACL.

Win32_ACE, Win32_Trustee, Win32_SID

Objek Win32_ACE berisi instans kelas Win32_Trustee yang mengidentifikasi pengguna atau grup, dan properti AccessMask yang merupakan bitmask, yang menentukan tindakan yang dapat dilakukan pengguna atau grup. Misalnya, pengguna atau grup mungkin diberikan hak untuk membaca file tetapi tidak menulis ke file. Objek Win32_ACE juga berisi ACE yang menunjukkan apakah itu adalah akses izinkan atau tolak atau tidak.

Catatan

Urutan Win32_ACE dalam DACL penting karena entri izinkan dan tolak kontrol akses (ACE) diizinkan dalam DACL. Untuk informasi selengkapnya, lihat Urutan ACE dalam DACL.

Setiap akun pengguna atau grup yang diwakili oleh Win32_Trustee memiliki pengidentifikasi keamanan (SID) yang secara unik mengidentifikasi akun, dan menentukan hak istimewa akses akun. Cara Anda menentukan data SID tergantung pada sistem operasi. Untuk informasi selengkapnya, lihat Mengubah Keamanan Akses pada Objek yang Dapat Diamankan.

Diagram berikut menunjukkan konten satu instans Win32_ACE .

isi dari satu instans win32-ace

Contoh: Memeriksa Siapa yang memiliki Akses ke Printer

Contoh kode VBScript berikut menunjukkan cara menggunakan pendeskripsi keamanan printer. Skrip memanggil metode GetSecurityDescriptor di kelas Win32_Printer untuk mendapatkan deskriptor kemudian menentukan apakah ada Daftar Access Control Diskresi (DACL) yang ada di deskriptor keamanan. Jika ada DACL, maka skrip mendapatkan daftar Access Control Entri (ACE) dari DACL. Setiap ACE diwakili oleh instans Win32_ACE. Skrip memeriksa setiap ACE untuk mendapatkan nama pengguna dan menentukan apakah pengguna memiliki akses ke printer. Pengguna diwakili oleh instans Win32_Trustee yang disematkan dalam instans Win32_ACE .

SE_DACL_PRESENT = &h4
ACCESS_ALLOWED_ACE_TYPE = &h0
ACCESS_DENIED_ACE_TYPE  = &h1

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate, (Security)}!\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer")

For Each objPrinter in colInstalledPrinters
   Wscript.Echo "Name: " & objPrinter.Name 
' Get security descriptor for printer
    Return = objPrinter.GetSecurityDescriptor( objSD )
    If ( return <> 0 ) Then
 WScript.Echo "Could not get security descriptor: " & Return
 wscript.Quit Return
    End If
' Extract the security descriptor flags
    intControlFlags = objSD.ControlFlags
    If intControlFlags AND SE_DACL_PRESENT Then
' Get the ACE entries from security descriptor
        colACEs = objSD.DACL
    For Each objACE in colACEs
' Get all the trustees and determine which have access to printer
        WScript.Echo objACE.Trustee.Domain & "\" & objACE.Trustee.Name
        If objACE.AceType = ACCESS_ALLOWED_ACE_TYPE Then
            WScript.Echo vbTab & "User has access to printer"
        ElseIf objACE.AceType = ACCESS_DENIED_ACE_TYPE Then
            WScript.Echo vbTab & "User does not have access to the printer"
        End If
    Next
    Else
    WScript.Echo "No DACL found in security descriptor"
End If
Next

Mengubah Keamanan Akses pada Objek yang Dapat Diamankan

Kelas Pembantu Deskriptor Keamanan

Praktik Terbaik Keamanan

Menjaga Keamanan WMI

Access Control

Akses ke Namespace WMI