Bagikan melalui


Gambaran Umum Keamanan UI Automation

Catatan

Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas UI Automation terkelola yang ditentukan pada namespace System.Windows.Automation. Untuk informasi terbaru tentang UI Automation, lihat API Automasi Windows: Automasi Antarmuka Pengguna.

Gambaran umum ini menjelaskan model keamanan untuk Microsoft UI Automation di Windows Vista.

Kontrol Akun Pengguna

Keamanan adalah fokus utama Windows Vista dan di antara inovasi adalah kemampuan bagi pengguna untuk dijalankan sebagai pengguna standar (non-administrator) tanpa harus diblokir dari menjalankan aplikasi dan layanan yang membutuhkan hak istimewa yang lebih tinggi.

Dalam Windows Vista, sebagian besar aplikasi disediakan dengan token standar atau administratif. Jika aplikasi tidak dapat diidentifikasi sebagai aplikasi administratif, aplikasi tersebut diluncurkan sebagai aplikasi standar secara default. Sebelum aplikasi yang diidentifikasi sebagai administratif dapat diluncurkan, Windows Vista meminta persetujuan pengguna untuk menjalankan aplikasi sebagai ditingkatkan. Permintaan persetujuan ditampilkan secara default, bahkan jika pengguna adalah anggota grup Administrator lokal, karena administrator berjalan sebagai pengguna standar hingga aplikasi atau komponen sistem yang memerlukan kredensial administratif meminta izin untuk dijalankan.

Tugas yang Membutuhkan Hak Istimewa Lebih Tinggi

Saat pengguna mencoba melakukan tugas yang memerlukan hak istimewa administratif, Windows Vista menyajikan kotak dialog yang meminta persetujuan pengguna untuk melanjutkan. Kotak dialog ini dilindungi dari komunikasi lintas proses, sehingga perangkat lunak berbahaya tidak dapat mensimulasikan input pengguna. Demikian pula, layar masuk desktop biasanya tidak dapat diakses oleh proses lain.

Klien Automation UI harus berkomunikasi dengan proses lain, beberapa di antaranya mungkin berjalan pada tingkat hak istimewa yang lebih tinggi. Klien juga mungkin memerlukan akses ke kotak dialog sistem yang biasanya tidak terlihat oleh proses lain. Oleh karena itu, klien UI Automation harus dipercaya oleh sistem, dan harus berjalan dengan hak istimewa khusus.

Agar dipercaya untuk berkomunikasi dengan aplikasi yang berjalan pada tingkat hak istimewa yang lebih tinggi, aplikasi harus ditandatangani.

File manifes

Untuk mendapatkan akses ke UI sistem yang dilindungi, aplikasi harus dibangun dengan file manifes yang menyertakan atribut uiAccess di dalam tag requestedExecutionLevel, sebagai berikut:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="highestAvailable"
        uiAccess="true" />
    </requestedPrivileges>
  </security>
</trustInfo>

Nilai atribut level dalam kode ini hanyalah contoh.

uiAccess adalah "false" secara default; artinya, jika atribut dihilangkan, atau jika tidak ada manifes untuk assembly, aplikasi tidak akan dapat memperoleh akses ke UI yang dilindungi.