Aturan Pewarisan ACE
Sistem menyebarluaskan entri kontrol akses (ASE) yang dapat diwariskan ke objek turunan sesuai dengan sekumpulan aturan pewarisan. Sistem menempatkan ACE yang diwariskan dalam daftar kontrol akses diskresi (DACL) anak sesuai dengan urutan ACE pilihan dalam DACL. Sistem menetapkan bendera INHERITED_ACE di semua ACE yang diwariskan.
ACE yang diwarisi oleh objek turunan kontainer dan nonkontainer berbeda, tergantung pada kombinasi bendera pewarisan. Aturan pewarisan ini berfungsi sama untuk DACL dan daftar kontrol akses sistem (SACL).
Bendera ACE induk | Pengaruh pada ACL anak |
---|---|
OBJECT_INHERIT_ACE saja | Objek turunan nonkontainer: Diwariskan sebagai ACE yang efektif. Objek turunan kontainer: Kontainer mewarisi ACE khusus warisan kecuali bendera bit NO_PROPAGATE_INHERIT_ACE juga diatur. |
CONTAINER_INHERIT_ACE saja | Objek turunan nonkontainer: Tidak ada efek pada objek anak. Objek turunan kontainer: Objek anak mewarisi ACE yang efektif. ACE yang diwariskan dapat diwariskan kecuali bendera bit NO_PROPAGATE_INHERIT_ACE juga diatur. |
CONTAINER_INHERIT_ACE dan OBJECT_INHERIT_ACE | Objek turunan nonkontainer: Diwariskan sebagai ACE yang efektif. Objek turunan kontainer: Objek anak mewarisi ACE yang efektif. ACE yang diwariskan dapat diwariskan kecuali bendera bit NO_PROPAGATE_INHERIT_ACE juga diatur. |
Tidak ada bendera pewarisan yang ditetapkan | Tidak berpengaruh pada kontainer turunan atau objek nonkontainer. |
Jika ACE yang diwariskan adalah ACE yang efektif untuk objek anak, sistem memetakan hak generik apa pun ke hak tertentu untuk objek anak. Demikian pula, sistem memetakan pengidentifikasi keamanan generik (SID), seperti CREATOR_OWNER, ke SID yang sesuai. Jika ACE yang diwariskan adalah ACE khusus warisan, hak generik atau SID generik apa pun dibiarkan tidak berubah sehingga dapat dipetakan dengan tepat ketika ACE diwarisi oleh objek anak generasi berikutnya.
Untuk kasus di mana objek kontainer mewarisi ACE yang efektif pada kontainer dan dapat diwariskan oleh turunannya, kontainer dapat mewarisi dua ACE. Ini terjadi jika ACE yang dapat diwariskan berisi informasi generik. Kontainer mewarisi ACE khusus warisan yang berisi informasi generik dan ACE khusus efektif tempat informasi generik telah dipetakan.
ACE khusus objek memiliki anggota InheritedObjectType yang dapat berisi GUID untuk mengidentifikasi jenis objek yang dapat mewarisi ACE.
Jika GUID InheritedObjectType tidak ditentukan, aturan pewarisan untuk ACE khusus objek sama dengan untuk ACE standar.
Jika GUID InheritedObjectType ditentukan, ACE dapat diwariskan oleh objek yang cocok dengan GUID jika OBJECT_INHERIT_ACE diatur, dan oleh kontainer yang cocok dengan GUID jika CONTAINER_INHERIT_ACE diatur. Perhatikan bahwa saat ini hanya objek DS yang mendukung ACE khusus objek, dan DS memperlakukan semua jenis objek sebagai kontainer.