Izin (Mesin Database)
Setiap SQL Server yang dapat diamankan memiliki izin terkait yang dapat diberikan kepada prinsipal. Topik ini menyediakan informasi berikut:
Konvensi Penamaan Izin
Berikut ini menjelaskan konvensi umum yang diikuti untuk penamaan izin:
CONTROL
Memberikan kemampuan seperti kepemilikan pada penerima hibah. Penerima hibah secara efektif memiliki semua izin yang ditentukan pada yang dapat diamankan. Perwakilan yang telah diberikan CONTROL juga dapat memberikan izin pada yang dapat diamankan. Karena model keamanan SQL Server bersifat hierarkis, CONTROL pada cakupan tertentu secara implisit menyertakan CONTROL pada semua yang dapat diamankan di bawah cakupan tersebut. Misalnya, CONTROL pada database menyiratkan semua izin pada database, semua izin pada semua rakitan dalam database, semua izin pada semua skema dalam database, dan semua izin pada objek dalam semua skema dalam database.
ALTER
Menganugerahkan kemampuan untuk mengubah properti, kecuali kepemilikan, dari yang dapat diamankan tertentu. Ketika diberikan pada cakupan, ALTER juga memberikan kemampuan untuk mengubah, membuat, atau menghilangkan sekurifikasi apa pun yang terkandung dalam cakupan tersebut. Misalnya, izin UBAH pada skema mencakup kemampuan untuk membuat, mengubah, dan menghilangkan objek dari skema.
ALTER ANY <Server Securable>, di mana Server Securable dapat menjadi server apa pun yang dapat diamankan.
Menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan masing-masing instans Server Yang Dapat Diamankan. Misalnya, ALTER ANY LOGIN menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan login apa pun dalam instans.
ALTER ANY <Database Securable>, di mana Database Securable dapat diamankan di tingkat database.
Menganugerahkan kemampuan untuk MEMBUAT, MENGUBAH, atau MENGHILANGKAN instans individual Database Yang Dapat Diamankan. Misalnya, ALTER ANY SCHEMA menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan skema apa pun dalam database.
AMBIL KEPEMILIKAN
Memungkinkan penerima hibah untuk mengambil kepemilikan yang dapat diamankan tempat pemberiannya.
IMPERSONATE <Login>
Memungkinkan penerima izin untuk meniru login.
MENIRU <Pengguna>
Memungkinkan penerima izin untuk meniru pengguna.
CREATE <Server Securable>
Beri penerima izin kemampuan untuk membuat Server Securable.
CREATE <Database Securable>
Beri penerima izin kemampuan untuk membuat Database Securable.
CREATE <Schema-contained Securable>
Menganugerahkan kemampuan untuk membuat skema yang dapat diamankan. Namun, izin UBAH pada skema diperlukan untuk membuat yang dapat diamankan dalam skema tertentu.
MELIHAT DEFINISI
Memungkinkan penerima hibah untuk mengakses metadata.
REFERENCES
Izin REFERENSI pada tabel diperlukan untuk membuat batasan KUNCI ASING yang mereferensikan tabel tersebut.
Izin REFERENSI diperlukan pada objek untuk membuat FUNGSI atau TAMPILAN dengan klausa yang mereferensikan objek tersebut
WITH SCHEMABINDING
.
Bagan Izin SQL Server
Untuk bagan berukuran poster dari semua izin Mesin Database dalam format pdf, lihat https://github.com/microsoft/sql-server-samples/blob/master/samples/features/security/permissions-posters/Microsoft_SQL_Server_2017_and_Azure_SQL_Database_permissions_infographic.pdf.
Izin yang Berlaku untuk Securables Tertentu
Tabel berikut mencantumkan kelas utama izin dan jenis keamanan yang mungkin diterapkan.
Izin | Berlaku untuk |
---|---|
SELECT | Sinonim Tabel dan kolom Fungsi bernilai tabel, Transact-SQL dan runtime bahasa umum (CLR), dan kolom Tampilan dan kolom |
LIHAT PELACAKAN PERUBAHAN | Tabel Schemas |
UPDATE | Sinonim Tabel dan kolom Tampilan dan kolom Objek urutan |
REFERENCES | Fungsi skalar dan agregat (Transact-SQL dan CLR) Antrean Service Broker Tabel dan kolom Fungsi bernilai tabel (Transact-SQL dan CLR), dan kolom Jenis Tampilan dan kolom Objek urutan |
INSERT | Sinonim Tabel dan kolom Tampilan dan kolom |
DELETE | Sinonim Tabel dan kolom Tampilan dan kolom |
EXECUTE | Prosedur (Transact-SQL dan CLR) Fungsi skalar dan agregat (Transact-SQL dan CLR) Sinonim Jenis CLR |
TERIMA | Antrean Service Broker |
MELIHAT DEFINISI | Grup ketersediaan Prosedur (Transact-SQL dan CLR) Antrean Service Broker Fungsi skalar dan agregat (Transact-SQL dan CLR) Login, pengguna, dan peran Sinonim Tabel Fungsi bernilai tabel (Transact-SQL dan CLR) Tampilan Objek urutan |
ALTER | Grup ketersediaan Prosedur (Transact-SQL dan CLR) Fungsi skalar dan agregat (Transact-SQL dan CLR) Objek urutan Login, pengguna, dan peran Antrean Service Broker Tabel Fungsi bernilai tabel (Transact-SQL dan CLR) Tampilan |
AMBIL KEPEMILIKAN | Grup ketersediaan Peran Prosedur (Transact-SQL dan CLR) Fungsi skalar dan agregat (Transact-SQL dan CLR) Peran server Sinonim Tabel Fungsi bernilai tabel (Transact-SQL dan CLR) Tampilan Objek urutan |
CONTROL | Grup ketersediaan Prosedur (Transact-SQL dan CLR) Fungsi skalar dan agregat (Transact-SQL dan CLR) Login, pengguna, dan peran Antrean Service Broker Sinonim Tabel Fungsi bernilai tabel (Transact-SQL dan CLR) Tampilan Objek urutan |
MENIRU | Login dan pengguna |
Perhatian
Izin default yang diberikan ke objek sistem pada saat penyiapan dievaluasi dengan hati-hati terhadap kemungkinan ancaman dan tidak perlu diubah sebagai bagian dari pengerasan penginstalan SQL Server. Setiap perubahan pada izin pada objek sistem dapat membatasi atau merusak fungsionalitas dan berpotensi meninggalkan penginstalan SQL Server Anda dalam keadaan tidak didukung.
Izin SQL Server dan SQL Database
Tabel berikut ini menyediakan daftar lengkap izin SQL Server. SQL Database izin hanya tersedia untuk keamanan dasar yang didukung. Izin tingkat server tidak dapat diberikan dalam SQL Database, namun dalam beberapa kasus izin database tersedia sebagai gantinya.
Dasar yang dapat diamankan | Izin terperinci pada dasar yang dapat diamankan | Kode jenis izin | Dapat diamankan yang berisi basis yang dapat diamankan | Izin pada kontainer yang dapat diamankan yang menyiratkan izin terperinci pada dasar yang dapat diamankan |
---|---|---|---|---|
PERAN APLIKASI | ALTER | AL | DATABASE | MENGUBAH PERAN APLIKASI APA PUN |
PERAN APLIKASI | CONTROL | CL | DATABASE | CONTROL |
PERAN APLIKASI | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
RAKITAN | ALTER | AL | DATABASE | MENGUBAH ASSEMBLY APA PUN |
RAKITAN | CONTROL | CL | DATABASE | CONTROL |
RAKITAN | REFERENCES | RF | DATABASE | REFERENCES |
RAKITAN | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
RAKITAN | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
KUNCI ASIMETRIS | ALTER | AL | DATABASE | MENGUBAH KUNCI ASIMETRIS APA PUN |
KUNCI ASIMETRIS | CONTROL | CL | DATABASE | CONTROL |
KUNCI ASIMETRIS | REFERENCES | RF | DATABASE | REFERENCES |
KUNCI ASIMETRIS | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
KUNCI ASIMETRIS | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
GRUP KETERSEDIAAN | ALTER | AL | SERVER | MENGUBAH GRUP KETERSEDIAAN APA PUN |
GRUP KETERSEDIAAN | CONTROL | CL | SERVER | SERVER KONTROL |
GRUP KETERSEDIAAN | AMBIL KEPEMILIKAN | TO | SERVER | SERVER KONTROL |
GRUP KETERSEDIAAN | MELIHAT DEFINISI | VW | SERVER | LIHAT DEFINISI APA PUN |
SERTIFIKAT | ALTER | AL | DATABASE | MENGUBAH SERTIFIKAT APA PUN |
SERTIFIKAT | CONTROL | CL | DATABASE | CONTROL |
SERTIFIKAT | REFERENCES | RF | DATABASE | REFERENCES |
SERTIFIKAT | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
SERTIFIKAT | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
KONTRAK | ALTER | AL | DATABASE | MENGUBAH KONTRAK APA PUN |
KONTRAK | CONTROL | CL | DATABASE | CONTROL |
KONTRAK | REFERENCES | RF | DATABASE | REFERENCES |
KONTRAK | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
KONTRAK | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
DATABASE | ALTER | AL | SERVER | ALTER ANY DATABASE |
DATABASE | MENGUBAH PERAN APLIKASI APA PUN | ALAR | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH ASSEMBLY APA PUN | SAYANGNYA | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH KUNCI ASIMETRIS APA PUN | ALAK | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH SERTIFIKAT APA PUN | ALCF | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH KONTRAK APA PUN | ALSC | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH AUDIT DATABASE APA PUN | ALDA | SERVER | MENGUBAH AUDIT SERVER APA PUN |
DATABASE | MENGUBAH PEMICU DDL DATABASE APA PUN | ALTG | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH PEMBERITAHUAN PERISTIWA DATABASE APA PUN | ALED | SERVER | MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN |
DATABASE | MENGUBAH SESI PERISTIWA DATABASE APA PUN | AADS Catatan: Hanya berlaku untuk SQL Database. |
SERVER | MENGUBAH SESI PERISTIWA APA PUN |
DATABASE | MENGUBAH RUANG DATA APA PUN | ALDS | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH KATALOG FULLTEXT APA PUN | ALFT | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH JENIS PESAN APA PUN | ALMT | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN | ALSB | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH PERAN APA PUN | ALRL | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH RUTE APA PUN | ALRT | SERVER | SERVER KONTROL |
DATABASE | ALTER ANY SCHEMA | ALSM | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH KEBIJAKAN KEAMANAN APA PUN | ALSP Catatan: Hanya berlaku untuk SQL Database. |
SERVER | SERVER KONTROL |
DATABASE | MENGUBAH LAYANAN APA PUN | ALSV | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH KUNCI SIMETRIS APA PUN | ALSK | SERVER | SERVER KONTROL |
DATABASE | MENGUBAH PENGGUNA APA PUN | ALUS | SERVER | SERVER KONTROL |
DATABASE | MENGOTENTIKASI | AUTH | SERVER | MENGAUTENTIKASI SERVER |
DATABASE | DATABASE CADANGAN | BADB | SERVER | SERVER KONTROL |
DATABASE | LOG CADANGAN | BALO | SERVER | SERVER KONTROL |
DATABASE | TITIK PEMERIKSAAN | CP | SERVER | SERVER KONTROL |
DATABASE | MENGHUBUNG | CO | SERVER | SERVER KONTROL |
DATABASE | SAMBUNGKAN REPLIKASI | CORP | SERVER | SERVER KONTROL |
DATABASE | CONTROL | CL | SERVER | SERVER KONTROL |
DATABASE | CREATE AGGREGATE | KARANG | SERVER | SERVER KONTROL |
DATABASE | BUAT RAKITAN | CRAS | SERVER | SERVER KONTROL |
DATABASE | MEMBUAT KUNCI ASIMETRIS | CRAK | SERVER | SERVER KONTROL |
DATABASE | BUAT SERTIFIKAT | CRCF | SERVER | SERVER KONTROL |
DATABASE | BUAT KONTRAK | CRSC | SERVER | SERVER KONTROL |
DATABASE | BUAT DATABASE | CRDB | SERVER | CREATE ANY DATABASE |
DATABASE | MEMBUAT PEMBERITAHUAN PERISTIWA DDL DATABASE | CRED | SERVER | MEMBUAT PEMBERITAHUAN PERISTIWA DDL |
DATABASE | BUAT DEFAULT | CRDF | SERVER | SERVER KONTROL |
DATABASE | BUAT KATALOG TEKS LENGKAP | CRFT | SERVER | SERVER KONTROL |
DATABASE | CREATE FUNCTION | CRFN | SERVER | SERVER KONTROL |
DATABASE | MEMBUAT JENIS PESAN | CRMT | SERVER | SERVER KONTROL |
DATABASE | CREATE PROCEDURE | CRPR | SERVER | SERVER KONTROL |
DATABASE | BUAT ANTREAN | CRQU | SERVER | SERVER KONTROL |
DATABASE | MEMBUAT PENGIKATAN LAYANAN JARAK JAUH | CRSB | SERVER | SERVER KONTROL |
DATABASE | CREATE ROLE | CRRL | SERVER | SERVER KONTROL |
DATABASE | BUAT RUTE | CRRT | SERVER | SERVER KONTROL |
DATABASE | BUAT ATURAN | CRRU | SERVER | SERVER KONTROL |
DATABASE | CREATE SCHEMA | CRSM | SERVER | SERVER KONTROL |
DATABASE | CREATE SERVICE | CRSV | SERVER | SERVER KONTROL |
DATABASE | MEMBUAT KUNCI SIMETRIS | CRSK | SERVER | SERVER KONTROL |
DATABASE | MEMBUAT SINONIM | CRSN | SERVER | SERVER KONTROL |
DATABASE | CREATE TABLE | CRTB | SERVER | SERVER KONTROL |
DATABASE | CREATE TYPE | CRTY | SERVER | SERVER KONTROL |
DATABASE | BUAT TAMPILAN | CRVW | SERVER | SERVER KONTROL |
DATABASE | MEMBUAT KOLEKSI SKEMA XML | CRXS | SERVER | SERVER KONTROL |
DATABASE | DELETE | DL | SERVER | SERVER KONTROL |
DATABASE | EXECUTE | EX | SERVER | SERVER KONTROL |
DATABASE | INSERT | IN | SERVER | SERVER KONTROL |
DATABASE | KILL DATABASE CONNECTION | KIDC Catatan: Hanya berlaku untuk SQL Database. Gunakan UBAH KONEKSI APA PUN di SQL Server. |
SERVER | MENGUBAH KONEKSI APA PUN |
DATABASE | REFERENCES | RF | SERVER | SERVER KONTROL |
DATABASE | SELECT | SL | SERVER | SERVER KONTROL |
DATABASE | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
DATABASE | BERLANGGANAN PEMBERITAHUAN KUERI | SUQN | SERVER | SERVER KONTROL |
DATABASE | AMBIL KEPEMILIKAN | TO | SERVER | SERVER KONTROL |
DATABASE | UPDATE | UP | SERVER | SERVER KONTROL |
DATABASE | TAMPILKAN STATUS DATABASE | VWD | SERVER | LIHAT STATUS SERVER |
DATABASE | MELIHAT DEFINISI | VW | SERVER | LIHAT DEFINISI APA PUN |
ENDPOINT | ALTER | AL | SERVER | MENGUBAH TITIK AKHIR APA PUN |
ENDPOINT | MENGHUBUNG | CO | SERVER | SERVER KONTROL |
ENDPOINT | CONTROL | CL | SERVER | SERVER KONTROL |
ENDPOINT | AMBIL KEPEMILIKAN | TO | SERVER | SERVER KONTROL |
ENDPOINT | MELIHAT DEFINISI | VW | SERVER | LIHAT DEFINISI APA PUN |
KATALOG TEKS LENGKAP | ALTER | AL | DATABASE | MENGUBAH KATALOG FULLTEXT APA PUN |
KATALOG TEKS LENGKAP | CONTROL | CL | DATABASE | CONTROL |
KATALOG TEKS LENGKAP | REFERENCES | RF | DATABASE | REFERENCES |
KATALOG TEKS LENGKAP | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
KATALOG TEKS LENGKAP | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
DAFTAR HENTI TEKS PENUH | ALTER | AL | DATABASE | MENGUBAH KATALOG FULLTEXT APA PUN |
DAFTAR HENTI TEKS PENUH | CONTROL | CL | DATABASE | CONTROL |
DAFTAR HENTI TEKS PENUH | REFERENCES | RF | DATABASE | REFERENCES |
DAFTAR HENTI TEKS PENUH | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
DAFTAR HENTI TEKS PENUH | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
MASUK | ALTER | AL | SERVER | ALTER ANY LOGIN |
MASUK | CONTROL | CL | SERVER | SERVER KONTROL |
MASUK | MENIRU | IM | SERVER | SERVER KONTROL |
MASUK | MELIHAT DEFINISI | VW | SERVER | LIHAT DEFINISI APA PUN |
JENIS PESAN | ALTER | AL | DATABASE | MENGUBAH JENIS PESAN APA PUN |
JENIS PESAN | CONTROL | CL | DATABASE | CONTROL |
JENIS PESAN | REFERENCES | RF | DATABASE | REFERENCES |
JENIS PESAN | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
JENIS PESAN | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
OBJECT | ALTER | AL | SKEMA | ALTER |
OBJECT | CONTROL | CL | SKEMA | CONTROL |
OBJECT | DELETE | DL | SKEMA | DELETE |
OBJECT | EXECUTE | EX | SKEMA | EXECUTE |
OBJECT | INSERT | IN | SKEMA | INSERT |
OBJECT | TERIMA | RC | SKEMA | CONTROL |
OBJECT | REFERENCES | RF | SKEMA | REFERENCES |
OBJECT | SELECT | SL | SKEMA | SELECT |
OBJECT | AMBIL KEPEMILIKAN | TO | SKEMA | CONTROL |
OBJECT | UPDATE | UP | SKEMA | UPDATE |
OBJECT | LIHAT PELACAKAN PERUBAHAN | VWCT | SKEMA | LIHAT PELACAKAN PERUBAHAN |
OBJECT | MELIHAT DEFINISI | VW | SKEMA | MELIHAT DEFINISI |
PENGIKATAN LAYANAN JARAK JAUH | ALTER | AL | DATABASE | MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN |
PENGIKATAN LAYANAN JARAK JAUH | CONTROL | CL | DATABASE | CONTROL |
PENGIKATAN LAYANAN JARAK JAUH | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
PENGIKATAN LAYANAN JARAK JAUH | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
PERAN | ALTER | AL | DATABASE | MENGUBAH PERAN APA PUN |
PERAN | CONTROL | CL | DATABASE | CONTROL |
PERAN | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
PERAN | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
RUTE | ALTER | AL | DATABASE | MENGUBAH RUTE APA PUN |
RUTE | CONTROL | CL | DATABASE | CONTROL |
RUTE | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
RUTE | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
DAFTAR PROPERTI PENCARIAN | ALTER | AL | SERVER | MENGUBAH KATALOG TEKS LENGKAP APA PUN |
DAFTAR PROPERTI PENCARIAN | CONTROL | CL | SERVER | CONTROL |
DAFTAR PROPERTI PENCARIAN | REFERENCES | RF | SERVER | REFERENCES |
DAFTAR PROPERTI PENCARIAN | AMBIL KEPEMILIKAN | TO | SERVER | CONTROL |
DAFTAR PROPERTI PENCARIAN | MELIHAT DEFINISI | VW | SERVER | MELIHAT DEFINISI |
SKEMA | ALTER | AL | DATABASE | ALTER ANY SCHEMA |
SKEMA | CONTROL | CL | DATABASE | CONTROL |
SKEMA | BUAT URUTAN | CRSO | DATABASE | CONTROL |
SKEMA | DELETE | DL | DATABASE | DELETE |
SKEMA | EXECUTE | EX | DATABASE | EXECUTE |
SKEMA | INSERT | IN | DATABASE | INSERT |
SKEMA | REFERENCES | RF | DATABASE | REFERENCES |
SKEMA | SELECT | SL | DATABASE | SELECT |
SKEMA | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
SKEMA | UPDATE | UP | DATABASE | UPDATE |
SKEMA | LIHAT PELACAKAN PERUBAHAN | VWCT | DATABASE | LIHAT PELACAKAN PERUBAHAN |
SKEMA | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
SERVER | MENGELOLA OPERASI MASSAL | ADBO | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH KONEKSI APA PUN | ALCO | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH KREDENSIAL APA PUN | ALCD | Tidak berlaku | Tidak berlaku |
SERVER | ALTER ANY DATABASE | ALDB | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH TITIK AKHIR APA PUN | ALHE | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN | ALES | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH SESI PERISTIWA APA PUN | AAES | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH SERVER TERTAUT APA PUN | ALLS | Tidak berlaku | Tidak berlaku |
SERVER | ALTER ANY LOGIN | ALLG | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH AUDIT SERVER APA PUN | ALAA | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH PERAN SERVER APA PUN | ALSR | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH GRUP KETERSEDIAAN | ALAG | Tidak berlaku | Tidak berlaku |
SERVER | UBAH SUMBER DAYA | ALRS | Tidak berlaku | Tidak berlaku |
SERVER | MENGUBAH STATUS SERVER | ALSS | Tidak berlaku | Tidak berlaku |
SERVER | UBAH PENGATURAN | ALST | Tidak berlaku | Tidak berlaku |
SERVER | ALTER TRACE | ALTR | Tidak berlaku | Tidak berlaku |
SERVER | MENGAUTENTIKASI SERVER | AUTH | Tidak berlaku | Tidak berlaku |
SERVER | CONNECT ANY DATABASE | CADB | Tidak berlaku | Tidak berlaku |
SERVER | SAMBUNGKAN SQL | COSQ | Tidak berlaku | Tidak berlaku |
SERVER | SERVER KONTROL | CL | Tidak berlaku | Tidak berlaku |
SERVER | CREATE ANY DATABASE | CRDB | Tidak berlaku | Tidak berlaku |
SERVER | MEMBUAT GRUP AVAILABILTITY | CRAC | Tidak berlaku | Tidak berlaku |
SERVER | MEMBUAT PEMBERITAHUAN PERISTIWA DDL | CRDE | Tidak berlaku | Tidak berlaku |
SERVER | BUAT TITIK AKHIR | CRHE | Tidak berlaku | Tidak berlaku |
SERVER | BUAT PERAN SERVER | CRSR | Tidak berlaku | Tidak berlaku |
SERVER | MEMBUAT PEMBERITAHUAN PERISTIWA PELACAKAN | CRTE | Tidak berlaku | Tidak berlaku |
SERVER | RAKITAN AKSES EKSTERNAL | XA | Tidak berlaku | Tidak berlaku |
SERVER | MENIRU LOGIN APA PUN | IAL | Tidak berlaku | Tidak berlaku |
SERVER | PILIH SEMUA PENGGUNA YANG DAPAT DIAMANKAN | SUS | Tidak berlaku | Tidak berlaku |
SERVER | SHUTDOWN | SHDN | Tidak berlaku | Tidak berlaku |
SERVER | RAKITAN TIDAK AMAN | XU | Tidak berlaku | Tidak berlaku |
SERVER | MENAMPILKAN DATABASE APA PUN | VWDB | Tidak berlaku | Tidak berlaku |
SERVER | LIHAT DEFINISI APA PUN | VWAD | Tidak berlaku | Tidak berlaku |
SERVER | LIHAT STATUS SERVER | VWSS | Tidak berlaku | Tidak berlaku |
PERAN SERVER | ALTER | AL | SERVER | MENGUBAH PERAN SERVER APA PUN |
PERAN SERVER | CONTROL | CL | SERVER | SERVER KONTROL |
PERAN SERVER | AMBIL KEPEMILIKAN | TO | SERVER | SERVER KONTROL |
PERAN SERVER | MELIHAT DEFINISI | VW | SERVER | LIHAT DEFINISI APA PUN |
LAYANAN | ALTER | AL | DATABASE | MENGUBAH LAYANAN APA PUN |
LAYANAN | CONTROL | CL | DATABASE | CONTROL |
LAYANAN | KIRIM | SN | DATABASE | CONTROL |
LAYANAN | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
LAYANAN | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
KUNCI KONTEN | ALTER | AL | DATABASE | MENGUBAH KUNCI SIMETRIS APA PUN |
KUNCI KONTEN | CONTROL | CL | DATABASE | CONTROL |
KUNCI KONTEN | REFERENCES | RF | DATABASE | REFERENCES |
KUNCI KONTEN | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
KUNCI KONTEN | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
JENIS | CONTROL | CL | SKEMA | CONTROL |
JENIS | EXECUTE | EX | SKEMA | EXECUTE |
JENIS | REFERENCES | RF | SKEMA | REFERENCES |
JENIS | AMBIL KEPEMILIKAN | TO | SKEMA | CONTROL |
JENIS | MELIHAT DEFINISI | VW | SKEMA | MELIHAT DEFINISI |
USER | ALTER | AL | DATABASE | MENGUBAH PENGGUNA APA PUN |
USER | CONTROL | CL | DATABASE | CONTROL |
USER | MENIRU | IM | DATABASE | CONTROL |
USER | MELIHAT DEFINISI | VW | DATABASE | MELIHAT DEFINISI |
KOLEKSI SKEMA XML | ALTER | AL | SKEMA | ALTER |
KOLEKSI SKEMA XML | CONTROL | CL | SKEMA | CONTROL |
KOLEKSI SKEMA XML | EXECUTE | EX | SKEMA | EXECUTE |
KOLEKSI SKEMA XML | REFERENCES | RF | SKEMA | REFERENCES |
KOLEKSI SKEMA XML | AMBIL KEPEMILIKAN | TO | SKEMA | CONTROL |
KOLEKSI SKEMA XML | MELIHAT DEFINISI | VW | SKEMA | MELIHAT DEFINISI |
Ringkasan Algoritma Pemeriksaan Izin
Memeriksa izin bisa rumit. Algoritma pemeriksaan izin mencakup keanggotaan grup yang tumpang tindih dan rantai kepemilikan, baik izin eksplisit maupun implisit, dan dapat dipengaruhi oleh izin pada kelas yang dapat diamankan yang berisi entitas yang dapat diamankan. Proses umum algoritma adalah mengumpulkan semua izin yang relevan. Jika tidak ada TOLAK pemblokiran yang ditemukan, algoritma mencari GRANT yang menyediakan akses yang memadai. Algoritma berisi tiga elemen penting, konteks keamanan, ruang izin, dan izin yang diperlukan.
Catatan
Anda tidak dapat memberikan, menolak, atau mencabut izin ke sa, dbo, pemilik entitas, information_schema, sys, atau diri Anda sendiri.
Konteks keamanan
Ini adalah grup prinsipal yang berkontribusi izin untuk pemeriksaan akses. Ini adalah izin yang terkait dengan login atau pengguna saat ini, kecuali konteks keamanan diubah ke login atau pengguna lain dengan menggunakan pernyataan EXECUTE AS. Konteks keamanan mencakup prinsipal berikut:
Login
Pengguna
Keanggotaan peran
Keanggotaan grup Windows
Jika penandatanganan modul sedang digunakan, setiap login atau akun pengguna untuk sertifikat yang digunakan untuk menandatangani modul yang saat ini dijalankan pengguna, dan keanggotaan peran terkait dari prinsipal tersebut.
Ruang izin
Ini adalah entitas yang dapat diamankan dan kelas yang dapat diamankan yang berisi yang dapat diamankan. Misalnya, tabel (entitas yang dapat diamankan) dimuat oleh kelas yang dapat diamankan skema dan oleh kelas yang dapat diamankan database. Akses dapat dipengaruhi oleh izin tingkat tabel, skema, database, dan server. Untuk informasi selengkapnya, lihat Hierarki Izin (Mesin Database).
Izin yang diperlukan
Jenis izin yang diperlukan. Misalnya, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL, dan sebagainya.
Access bisa memerlukan beberapa izin, seperti dalam contoh berikut:
Prosedur tersimpan dapat memerlukan izin EXECUTE pada prosedur tersimpan dan izin INSERT pada beberapa tabel yang dirujuk oleh prosedur tersimpan.
Tampilan manajemen dinamis dapat memerlukan izin VIEW SERVER STATE dan SELECT pada tampilan.
Langkah-Langkah Umum Algoritma
Ketika algoritma menentukan apakah akan mengizinkan akses ke yang dapat diamankan, langkah-langkah tepat yang digunakannya dapat bervariasi, tergantung pada prinsipal dan keamanan yang terlibat. Namun, algoritma melakukan langkah-langkah umum berikut:
Lewati pemeriksaan izin apakah login adalah anggota peran server tetap sysadmin atau apakah pengguna adalah pengguna dbo dalam database saat ini.
Izinkan akses jika rantai kepemilikan berlaku dan pemeriksaan akses pada objek sebelumnya dalam rantai melewati pemeriksaan keamanan.
Agregat identitas tingkat server, tingkat database, dan modul yang ditandatangani yang terkait dengan pemanggil untuk membuat konteks keamanan.
Untuk konteks keamanan tersebut, kumpulkan semua izin yang diberikan atau ditolak untuk ruang izin. Izin dapat secara eksplisit dinyatakan sebagai GRANT, GRANT WITH GRANT, atau DENY; atau izin dapat berupa izin tersirat atau mencakup GRANT atau DENY. Misalnya, izin CONTROL pada skema menyiratkan CONTROL pada tabel. Dan CONTROL pada tabel menyiratkan SELECT. Oleh karena itu, jika CONTROL pada skema diberikan, SELECT pada tabel diberikan. Jika CONTROL ditolak pada tabel, SELECT pada tabel ditolak.
Catatan
GRANT izin tingkat kolom mengambil alih TOLAK di tingkat objek.
Identifikasi izin yang diperlukan.
Gagalkan pemeriksaan izin jika izin yang diperlukan secara langsung atau implisit ditolak ke salah satu identitas dalam konteks keamanan untuk objek di ruang izin.
Teruskan pemeriksaan izin jika izin yang diperlukan tidak ditolak dan izin yang diperlukan berisi izin GRANT atau GRANT WITH GRANT baik secara langsung atau implisit ke salah satu identitas dalam konteks keamanan untuk objek apa pun di ruang izin.
Contoh
Contoh di bagian ini menunjukkan cara mengambil informasi izin.
J. Mengembalikan daftar lengkap izin yang dapat diberikan
Pernyataan berikut mengembalikan semua izin Mesin Database dengan menggunakan fn_builtin_permissions
fungsi . Untuk informasi selengkapnya, lihat sys.fn_builtin_permissions (Transact-SQL).
SELECT * FROM fn_builtin_permissions(default);
GO
B. Mengembalikan izin pada kelas objek tertentu
Contoh berikut menggunakan fn_builtin_permissions
untuk melihat semua izin yang tersedia untuk kategori yang dapat diamankan. Contoh mengembalikan izin pada rakitan.
SELECT * FROM fn_builtin_permissions('assembly');
GO
C. Mengembalikan izin yang diberikan kepada prinsipal yang dieksekusi pada objek
Contoh berikut menggunakan fn_my_permissions
untuk mengembalikan daftar izin efektif yang dipegang oleh prinsipal panggilan pada keamanan tertentu. Contoh mengembalikan izin pada objek bernama Orders55
. Untuk informasi selengkapnya, lihat sys.fn_my_permissions (Transact-SQL).
SELECT * FROM fn_my_permissions('Orders55', 'object');
GO
D. Mengembalikan izin yang berlaku untuk objek tertentu
Contoh berikut mengembalikan izin yang berlaku untuk objek yang disebut Yttrium
. Perhatikan bahwa fungsi OBJECT_ID
bawaan digunakan untuk mengambil ID objek Yttrium
.
SELECT * FROM sys.database_permissions
WHERE major_id = OBJECT_ID('Yttrium');
GO
Lihat juga
Hierarki Izin (Mesin Database)
sys.database_permissions (T-SQL)