Kunci AppID
Mengelompokkan opsi konfigurasi untuk satu atau beberapa objek DCOM ke dalam satu lokasi terpusat di registri. Objek DCOM yang dihosting oleh executable yang sama dikelompokkan ke dalam satu AppID untuk menyederhanakan pengelolaan pengaturan keamanan dan konfigurasi umum.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}
Nilai registri | Deskripsi |
---|---|
AccessPermission | Menjelaskan Daftar Kontrol Akses (ACL) dari prinsipal yang dapat mengakses instans kelas ini. ACL ini hanya digunakan oleh aplikasi yang tidak memanggil CoInitializeSecurity. |
ActivateAtStorage | Mengonfigurasi klien untuk membuat instans objek pada komputer yang sama dengan status persisten yang mereka gunakan atau tempat objek tersebut diinisialisasi. |
AppID | Mengidentifikasi GUID AppID yang sesuai dengan executable bernama. |
AppIDFlags | Mengonfigurasi bagaimana server COM yang dikonfigurasi untuk dijalankan sebagai "Pengguna Interaktif" akan diluncurkan atau diikat oleh klien di desktop non-default. |
AuthenticationLevel | Mengatur tingkat autentikasi untuk aplikasi yang tidak memanggil CoInitializeSecurity atau untuk aplikasi yang memanggil CoInitializeSecurity dan menentukan AppID. |
DllSurrogate | Memungkinkan server DLL dijalankan dalam proses pengganti. Jika string kosong ditentukan, pengganti yang disediakan sistem akan digunakan; jika tidak, nilai menentukan jalur pengganti yang akan digunakan. |
DllSurrogateExecutable | Memungkinkan server DLL berjalan dalam proses pengganti kustom, bersama dengan nilai registri DllSurrogate. |
Titik Akhir | Mengonfigurasi aplikasi COM untuk menggunakan nomor port TCP tertentu untuk komunikasi DCOM. |
LaunchPermission | Menjelaskan Daftar Kontrol Akses (ACL) prinsipal yang dapat memulai server baru untuk kelas ini. |
LoadUser Pengaturan | Menentukan apakah COM akan memuat profil pengguna untuk server COM yang berjalan sebagai identitas aplikasi pengguna peluncuran. |
LocalService | Menginstal objek sebagai aplikasi layanan. |
PreferredServerBitness | Mengatur arsitektur pilihan, 32-bit atau 64-bit, untuk server COM ini. |
RemoteServerName | Mengonfigurasi klien untuk meminta objek dijalankan di komputer tertentu setiap kali fungsi aktivasi dipanggil di mana struktur COSERVERINFO tidak ditentukan. |
ROTFlags | Mengontrol pendaftaran server COM dalam tabel objek yang sedang berjalan (ROT). |
Runas | Mengonfigurasi kelas untuk dijalankan di bawah akun pengguna tertentu saat diaktifkan oleh klien jarak jauh tanpa ditulis sebagai aplikasi layanan. |
ServiceParameters | Menentukan parameter baris perintah yang akan diteruskan ke objek yang diinstal untuk digunakan oleh COM melalui nilai registri LocalService. |
SRPTrustLevel | Mengatur tingkat kepercayaan kebijakan pembatasan perangkat lunak (SRP) untuk aplikasi. |
AppID dipetakan ke executable dan kelas menggunakan dua mekanisme yang berbeda:
- Menggunakan Pengidentifikasi Unik Global (GUID) 128-bit yang mengidentifikasi kunci AppID . Kelas menunjukkan AppID yang sesuai di bawah kunci CLSID dalam nilai bernama "AppID". Pemetaan ini digunakan selama aktivasi.
- Menggunakan nilai bernama yang menunjukkan nama yang dapat dieksekusi (seperti "MYOLDAPP.EXE"). Nilai bernama ini berjenis REG_SZ dan berisi representasi string AppID yang terkait dengan executable. Pemetaan ini digunakan untuk mendapatkan izin akses default dan tingkat autentikasi.
Kunci HKEY_LOCAL_MACHINE\SOFTWARE\Classes sesuai dengan kunci HKEY_CLASSES_ROOT , yang dipertahankan untuk kompatibilitas dengan versi COM sebelumnya.
Untuk server COM, pemetaan biasanya dihasilkan dan ditulis ke registri selama proses pendaftaran atau saat menjalankan dcomcnfg.exe. Namun, klien COM yang ingin mengatur keamanan menggunakan kunci AppID harus membuat kunci registri yang sesuai dan menentukan pemetaan yang diperlukan dengan memanggil fungsi registri atau menggunakan Regedit.exe. Kemudian nilai seperti AccessPermission atau AuthenticationLevel dapat diatur untuk klien. Misalnya, nama yang dapat dieksekusi untuk proses klien Anda adalah "YourClient.exe" dan Anda ingin mengatur tingkat autentikasi ke "Tidak Ada". Anda akan menggunakan Guidgen.exe atau Uuidgen.exe untuk membuat GUID yang merupakan AppID untuk executable Anda. Kemudian Anda akan mengatur nilai dalam registri seperti yang ditunjukkan dalam contoh berikut, di mana 00000001 mewakili tingkat autentikasi "Tidak Ada":
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{MyGuid}
AuthenticationLevel = 00000001
MyClient.exe
AppID = {MyGUID}