Struktur ACL (wdm.h)

Struktur ACL adalah header daftar kontrol akses (ACL). ACL lengkap terdiri dari struktur ACL diikuti dengan daftar yang diurutkan dari nol atau beberapa entri kontrol akses (ACE).

Sintaks

typedef struct _ACL {
  UCHAR  AclRevision;
  UCHAR  Sbz1;
  USHORT AclSize;
  USHORT AceCount;
  USHORT Sbz2;
} ACL;

Anggota

AclRevision

Tingkat revisi ACL.

Microsoft Windows NT 4.0 dan yang lebih lama: Nilai ini harus ACL_REVISION.

Microsoft Windows 2000 dan yang lebih baru: Nilai ini dapat ACL_REVISION atau ACL_REVISION_DS. Ini harus ACL_REVISION_DS jika ACL berisi ACE khusus objek.

Sbz1

Byte nol padding yang menyelaraskan anggota AclRevision pada batas 16-bit.

AclSize

Ukuran, dalam byte, dari ACL. Nilai ini mencakup struktur ACL dan semua ACE.

AceCount

Jumlah ACE yang disimpan dalam ACL.

Sbz2

Dua byte nol padding yang menyelaraskan struktur ACL pada batas 32-bit.

Keterangan

ACL menyertakan daftar berurutan nol atau lebih ACE. ACE individu dalam ACL diberi nomor dari 0 hingga n, di mana n+1 adalah jumlah ACE dalam ACL. Saat mengedit ACL, driver mengacu pada ACE dalam ACL berdasarkan indeksnya.

Ada dua jenis ACL: diskresi dan sistem.

ACL diskresi (DACL) dikendalikan oleh pemilik objek atau siapa pun yang diberikan WRITE_DAC akses ke objek. Ini menentukan akses yang dapat dimiliki pengguna dan grup tertentu ke objek. Misalnya, pemilik file dapat menggunakan DACL untuk mengontrol pengguna dan grup mana yang dapat dan tidak dapat memiliki akses ke file.

Objek mungkin juga memiliki informasi keamanan tingkat sistem yang terkait dengannya, dalam bentuk sistem ACL (SACL) yang dikendalikan oleh administrator sistem. SACL dapat memungkinkan administrator sistem untuk mengaudit upaya apa pun untuk mendapatkan akses ke objek.

Tiga struktur ACE saat ini ditentukan:

Atribut Deskripsi
ACCESS_ALLOWED_ACE Memberikan hak tertentu kepada pengguna atau grup. ACE ini disimpan dalam DACL.
ACCESS_DENIED_ACE Menolak hak yang ditentukan untuk pengguna atau grup. ACE ini disimpan dalam DACL.
SYSTEM_AUDIT_ACE Menentukan jenis akses apa yang akan menyebabkan audit tingkat sistem. ACE ini disimpan dalam SACL.
 

Struktur ACE keempat, SYSTEM_ALARM_ACE, saat ini tidak didukung.

Struktur ACL akan diperlakukan seolah-olah buram, dan driver tidak boleh mencoba untuk bekerja dengan anggotanya secara langsung. Untuk memastikan bahwa ACL benar secara semantik, driver dapat menggunakan fungsi yang tercantum di bagian Lihat Juga untuk membuat dan memanipulasi ACL.

Struktur ACL dan ACE harus diselaraskan pada batas 32-bit.

Persyaratan

Persyaratan Nilai
Header wdm.h (termasuk Wdm.h)

Lihat juga

ACCESS_ALLOWED_ACE

ACCESS_DENIED_ACE

ACE

RtlAddAccessAllowedAce

RtlCreateAcl

RtlGetAce

RtlSetDaclSecurityDescriptor

SYSTEM_ALARM_ACE

SYSTEM_AUDIT_ACE

TOKEN_DEFAULT_DACL