Bagikan melalui


Memahami pembatasan penggunaan

Penting

Versi SDK Layanan Manajemen Hak Microsoft yang dirilis sebelum Maret 2020 tidak digunakan lagi; aplikasi yang menggunakan versi sebelumnya harus diperbarui untuk menggunakan rilis Maret 2020. Untuk detail selengkapnya, lihat pemberitahuan penghentian.

Tidak ada penyempurnaan lebih lanjut yang direncanakan untuk SDK Layanan Manajemen Hak Microsoft. Kami sangat menyarankan adopsi SDK Microsoft Information Protection untuk layanan klasifikasi, pelabelan, dan perlindungan.

Semua aplikasi yang diaktifkan RMS harus memberlakukan pembatasan penggunaan. Pembatasan penggunaan adalah kondisi yang menghasilkan ketika pengguna mencoba mengambil tindakan (misalnya mencetak dokumen), tetapi kebijakan RMS untuk dokumen tersebut tidak memberi mereka izin atau hak untuk melakukan tindakan tersebut (misalnya hak PRINT).

Izin pengguna untuk dokumen dapat dikueri dengan menggunakan fungsi IpcAccessCheck .

Merancang dengan pembatasan penggunaan

  • Biasakan diri Anda dengan hak RMS standar

    Untuk set lengkap hak RMS yang mungkin diterapkan aplikasi Anda, lihat Referensi pembatasan penggunaan.

    Perhatikan bahwa hak yang ditentukan aplikasi khusus untuk situasi Anda dan yang melampaui hak RMS standar dapat dibuat.

  • Mengidentifikasi titik penegakan pembatasan penggunaan

    Titik penegakan pembatasan penggunaan adalah tempat dalam alur kontrol aplikasi Anda di mana Anda perlu memberlakukan pembatasan penggunaan. Topik Referensi pembatasan penggunaan memberikan beberapa contoh titik penegakan umum.

    Evaluasi aplikasi Anda sendiri untuk menentukan titik penegakan pembatasan penggunaan mana yang berlaku.

    Aplikasi Anda mungkin tidak memerlukan semua titik penegakan yang dijelaskan dalam Referensi pembatasan penggunaan. Misalnya, jika aplikasi Anda tidak mengizinkan pengguna mencetak konten, aplikasi tidak perlu memeriksa IPC_GENERIC_PRINT dengan benar.

  • Perbarui kode Anda untuk melakukan pemeriksaan akses di setiap titik pemberlakuan

    Untuk panduan tentang cara menerapkan hak tertentu, lihat Referensi pembatasan penggunaan.

Referensi pembatasan penggunaan

Pembatasan penggunaan ditentukan oleh konstanta berikut.

Setiap hak pengguna, yang tercantum di kolom kanan AD RMS, memiliki deskripsi, titik penegakan, dan metode yang disarankan untuk penerapan.

Ad RMS kanan/deskripsi Cara memberlakukan
IPC_GENERIC_ALL

Memberikan semua hak kepada pengguna.

Titik Penegakan Umum: Tidak ada
Hak ini digunakan oleh sistem dan umumnya tidak boleh diperiksa secara langsung.

IpcAccessCheck menggunakan hak ini untuk menentukan apakah akan memberikan hak lain kepada pengguna seperti dalam contoh ini.

/* fAccessGranted is set to TRUE if either the IPC_GENERIC_WRITE or the IPC_GENERIC_ALL right is granted */

IpcAccessCheck(hKey, IPC_GENERIC_WRITE, &fAccessGranted);
IPC_GENERIC_READ

Hak untuk membaca konten dokumen.

Titik Penegakan Umum: Pemuatan dokumen
Jangan muat atau sajikan konten dokumen
IPC_GENERIC_WRITE

Hak untuk mengedit konten dokumen

Titik Penegakan Umum: Modifikasi dokumen
Buat kontrol UI apa pun yang dapat digunakan untuk mengubah konten dokumen yang tidak dapat diedit.

Nonaktifkan item menu apa pun yang memicu perubahan dokumen. Mengedit>Potong, Edit>Tempel, dan Sisipkan adalah contoh umum.

Nonaktifkan item menu pintasan apa pun yang memicu perubahan dokumen.
Tidak ada hak AD RMS

Tidak ada deskripsi

Titik Penegakan Umum: Simpan
Nonaktifkan menuSimpanFile>.

Catatan Hak ini tidak mengontrol File>Simpan Sebagai karena hak tersebut tidak mewakili perubahan pada dokumen asli.

Nonaktifkan pintasan keyboard apa pun yang dapat digunakan untuk memicu penyimpanan (misalnya, Ctrl+S).

Tips Praktik terbaik adalah memperbarui kodePenyimpananFile> inti Anda agar gagal jika pengguna tidak memiliki hak ini. Ini bertindak sebagai jaring pengaman jika Anda melewatkan mekanisme UX apa pun yang dapat digunakan untuk memicu penyimpanan.
IPC_GENERIC_EXTRACT

Hak untuk mengekstrak konten dari format yang dilindungi dan menempatkannya dalam format yang tidak terlindungi.

Titik Penegakan Umum: Copy-to-clipboard
Nonaktifkan menu Edit>Salin . Nonaktifkan menu Edit>Potong .

Nonaktifkan Salin dan Potong dari menu pintasan apa pun.

Nonaktifkan pintasan keyboard apa pun yang dapat digunakan untuk memicu salinan (misalnya, Ctrl+C atau Ctrl+X).

Perbarui penangan pesan jendela untuk WM_CUT menolak penyalinan data jika pengguna tidak memiliki hak ini. Jika jendela menggunakan penangan pesan default yang disediakan Windows, subkelas jendela ini dan sediakan handler Anda sendiri untuk WM_COPY dan WM_CUT.
Tidak ada hak AD RMS

Tidak ada deskripsi

Titik Penegakan Umum: Simpan Sebagai
Dalam kotak dialog Simpan Sebagai , nonaktifkan format file apa pun yang akan mengakibatkan dokumen disimpan tanpa perlindungan RMS.
Tidak ada hak AD RMS

Tidak ada deskripsi

Titik Penegakan Umum: Alt+PrtScn
Panggil IpcProtectWindow di jendela apa pun yang merender konten dokumen.
IPC_GENERIC_EXPORT

Hak untuk mengekstrak konten dari format yang dilindungi dan menempatkannya dalam format yang dilindungi AD RMS yang berbeda.

Titik Penegakan Umum: Simpan Sebagai
Dalam kotak dialog Simpan Sebagai , nonaktifkan kemampuan untuk menyimpan ke format file lainnya.

Tips Praktik terbaik adalah memperbarui kode File>Save As inti Anda untuk gagal jika pengguna mencoba menyimpan file ini ke format yang berbeda dan tidak memiliki hak ini. Ini bertindak sebagai jaring pengaman jika Anda melewatkan mekanisme UX apa pun yang dapat digunakan untuk memicu penyimpanan sebagai.
IPC_GENERIC_PRINT

Hak untuk mencetak isi dokumen.

Titik Penegakan Umum: Cetak
Nonaktifkan menuCetakFile>.

Nonaktifkan pintasan keyboard apa pun yang dapat digunakan untuk memicu cetak (misalnya, Ctrl+P).

Nonaktifkan item menu pintasan yang dapat digunakan untuk memicu cetak.

Tips Praktik terbaik adalah memperbarui kodeCetakFile> inti Anda agar gagal jika pengguna tidak memiliki hak ini. Ini bertindak sebagai jaring pengaman jika Anda melewatkan mekanisme UX apa pun yang dapat digunakan untuk memicu cetakan.
IPC_GENERIC_COMMENT

Beberapa aplikasi mendukung kemampuan untuk menambahkan komentar dan anotasi ke dokumen tanpa memperbarui konten dokumen inti.

Hak ini memberi pengguna akses ke kemampuan ini.

Titik Penegakan Umum:

Tinjau > Sisipkan komentar

Tinjau > Hapus Komentar
Nonaktifkan item menu apa pun yang dapat digunakan untuk mengubah komentar atau anotasi dokumen. Tinjauan>Sisipkan komentar dan Tinjau>Hapus Komentar adalah contoh.

Nonaktifkan pintasan keyboard apa pun yang dapat memicu modifikasi komentar dokumen.

Catatan Implementasi default memerlukan IPC_GENERIC_COMMENT dan IPC_GENERIC_WRITE untuk mempertahankan komentar baru ke file. Aplikasi dapat memilih untuk menambahkan dukungan untuk kasus di mana hak IPC_GENERIC_COMMENT diberikan dan hak IPC_GENERIC_WRITE tidak. Dalam hal ini, diizinkan untuk mengizinkan Simpan, selama modifikasi dokumen hanya dibatasi untuk komentar.
IPC_VIEW_RIGHTS

Tidak ada deskripsi

Titik Penegakan Umum: T/A
Diberlakukan oleh sistem. Sistem tidak akan mengizinkan pengembang untuk mengkueri daftar hak pengguna dari lisensi kecuali hak ini diberikan.
IPC_EDIT_RIGHTS

Beberapa aplikasi memungkinkan pengguna untuk memodifikasi sekumpulan pengguna dan hak untuk konten yang dilindungi AD RMS.

Hak ini memberi pengguna akses ke kemampuan ini.

Titik Penegakan Umum: Kontrol antarmuka pengguna pengeditan hak aplikasi
Nonaktifkan akses pengguna ke UI apa pun yang dapat digunakan untuk mengedit kebijakan RMS untuk dokumen.