Konteks Keamanan dan Layanan Domain Direktori Aktif
Ketika aplikasi mengikat ke Active Directory Domain Controller (DC), aplikasi melakukannya dalam konteks keamanan prinsip keamanan, yang dapat menjadi pengguna atau entitas seperti komputer atau layanan sistem. Konteks keamanan adalah akun pengguna yang digunakan sistem untuk memberlakukan keamanan ketika utas mencoba mengakses objek yang dapat diamankan. Data ini mencakup pengidentifikasi keamanan pengguna (SID), keanggotaan grup, dan hak istimewa.
Pengguna menetapkan konteks keamanan dengan menyajikan kredensial untuk autentikasi. Jika kredensial diautentikasi, sistem menghasilkan token akses yang mengidentifikasi keanggotaan grup dan hak istimewa yang terkait dengan akun pengguna. Sistem memverifikasi token akses Anda saat Anda mencoba mengakses objek direktori. Ini membandingkan data dalam token akses Anda dengan akun dan grup yang diberikan atau ditolak aksesnya oleh pendeskripsi keamanan objek.
Gunakan metode berikut untuk mengontrol konteks keamanan yang Anda ikat ke DC Direktori Aktif:
- Ikat menggunakan opsi ADS_SECURE_AUTHENTICATION dengan fungsi ADsOpenObject atau metode IADsOpenDSObject::OpenDSObject dan secara eksplisit menentukan nama pengguna dan kata sandi. Sistem mengautentikasi kredensial ini dan menghasilkan token akses yang digunakannya untuk verifikasi akses selama pengikatan tersebut. Untuk informasi lebih lanjut, lihat Autentikasi.
- Ikat menggunakan opsi ADS_SECURE_AUTHENTICATION , tetapi tanpa menentukan kredensial. Jika Anda tidak meniru pengguna, sistem menggunakan konteks keamanan utama aplikasi Anda, yaitu konteks keamanan pengguna yang memulai aplikasi Anda. Dalam kasus layanan sistem, ini adalah konteks keamanan akun layanan atau akun LocalSystem.
- Meniru pengguna lalu mengikat dengan ADS_SECURE_AUTHENTICATION, tetapi tanpa menentukan kredensial. Dalam hal ini, sistem menggunakan konteks keamanan klien yang ditiru. Untuk informasi selengkapnya, lihat Peniruan Identitas Klien.
- Ikat menggunakan ADsOpenObject atau IADsOpenDSObject::OpenDSObject dengan opsi ADS_NO_AUTHENTICATION . Metode ini mengikat tanpa autentikasi dan menghasilkan "Semua Orang" sebagai konteks keamanan. Hanya penyedia LDAP yang mendukung opsi ini.
Jika memungkinkan, ikat tanpa menentukan kredensial. Artinya, gunakan konteks keamanan pengguna yang masuk atau klien yang ditiru. Ini memungkinkan Anda menghindari kredensial penembolokan. Jika Anda harus menggunakan kredensial pengguna alternatif, minta kredensial, ikat dengan kredensial, tetapi jangan cache. Untuk menggunakan konteks keamanan yang sama dalam beberapa operasi pengikatan, Anda dapat menentukan nama pengguna dan kata sandi untuk operasi pengikatan pertama lalu hanya menentukan nama pengguna untuk membuat ikatan berikutnya. Untuk informasi selengkapnya tentang menggunakan teknik ini, lihat Autentikasi.
Beberapa konteks keamanan lebih kuat daripada yang lain. Misalnya, akun LocalSystem pada pengendali domain memiliki akses lengkap ke Active Directory Domain Services, sedangkan pengguna umum hanya memiliki akses terbatas ke beberapa objek di direktori. Secara umum, aplikasi Anda tidak boleh berjalan dalam konteks keamanan yang kuat, seperti LocalSystem, ketika konteks keamanan yang kurang kuat cukup untuk melakukan operasi. Ini berarti Bahwa Anda mungkin ingin membagi aplikasi Anda menjadi komponen terpisah, yang masing-masing berjalan dalam konteks keamanan yang sesuai dengan operasi yang akan dilakukan. Misalnya, penyiapan aplikasi Anda dapat dibagi sebagai berikut:
- Lakukan perubahan skema dan ekstensi dalam konteks pengguna yang merupakan anggota grup Administrator Skema.
- Lakukan perubahan kontainer konfigurasi dalam konteks pengguna yang merupakan anggota grup Administrator Perusahaan.
- Lakukan perubahan kontainer domain dalam konteks pengguna yang merupakan anggota grup Administrator Domain.