Izin (Mesin Database)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Setiap SQL Server yang dapat diamankan memiliki izin terkait yang dapat diberikan kepada prinsipal. Izin di Mesin Database dikelola di tingkat server yang ditetapkan untuk login dan peran server, dan pada tingkat database yang ditetapkan untuk pengguna database dan peran database. Model untuk Azure SQL Database memiliki sistem yang sama untuk izin database, tetapi izin tingkat server tidak tersedia. Artikel ini berisi daftar lengkap izin. Untuk implementasi umum izin, lihat Memulai Izin Mesin Database.
Jumlah total izin untuk SQL Server 2019 (15.x) adalah 248. Azure SQL Database memaparkan 254 izin. Sebagian besar izin berlaku untuk semua platform, tetapi beberapa tidak. Misalnya izin tingkat server tidak dapat diberikan di Azure SQL Database, dan beberapa izin hanya masuk akal di Azure SQL Database. Izin baru diperkenalkan secara bertahap dengan rilis baru. SQL Server 2017 (14.x) mengekspos 238 izin. SQL Server 2016 (13.x) mengekspos 230 izin. SQL Server 2014 (12.x) mengekspos 219 izin. SQL Server 2012 (11.x) mengekspos 214 izin. SQL Server 2008 R2 mengekspos izin 195. Artikel sys.fn_builtin_permissions menentukan izin mana yang baru dalam versi terbaru.
Setelah Anda memahami izin, terapkan izin tingkat server untuk masuk atau peran server dan peran tingkat database izin pengguna atau peran database dengan pernyataan GRANT, REVOKE, dan DENY . Misalnya:
GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
Untuk tips tentang merencanakan sistem izin, lihat Mulai Menggunakan Izin Mesin Database.
Konvensi penamaan izin
Berikut ini menjelaskan konvensi umum yang diikuti untuk penamaan izin:
CONTROL
Menganugerah kemampuan seperti kepemilikan pada penerima izin. Penerima izin 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 menganugerah 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 memberikan kemampuan untuk membuat, mengubah, atau menghilangkan skema apa pun dalam database.
AMBIL KEPEMILIKAN
Memungkinkan penerima izin 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>
Menganugerahkan kepada penerima kemampuan untuk membuat Server Yang Dapat Diamankan.
CREATE <Database Securable>
Beri izin kemampuan untuk membuat Database Yang Dapat Diamankan.
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.
LIHAT DEFINISI
Memungkinkan penerima izin 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
Grafik berikut ini memperlihatkan izin dan hubungannya satu sama lain. Beberapa izin tingkat yang lebih tinggi (seperti CONTROL SERVER) dicantumkan berkali-kali. Dalam artikel ini, poster terlalu kecil untuk dibaca. Klik gambar untuk mengunduh Poster Izin Mesin Database dalam format pdf.
Izin yang berlaku untuk pengamanan tertentu
Tabel berikut mencantumkan kelas utama izin dan jenis pengamanan yang mungkin diterapkan.
| Izin | Berlaku untuk |
|---|---|
| ALTER | Semua kelas objek kecuali TYPE. |
| CONTROL | Semua kelas objek: AGREGAT PERAN APLIKASI, MAJELIS KUNCI ASIMETRIS, GRUP KETERSEDIAAN, SERTIFIKAT KONTRAK KREDENSIAL, DATABASE, KREDENSIAL LINGKUP DATABASE, DEFAULT ENDPOINT KATALOG TEKS LENGKAP, DAFTAR HENTI TEKS PENUH, FUNGSI LOGIN JENIS PESAN, PROSEDUR ANTRIAN PENGIKATAN LAYANAN JARAK JAUH, PERAN RUTE ATURAN SKEMA CARI DAFTAR PROPERTI, SERVER PERAN SERVER, LAYANAN KUNCI KONTEN, SINONIM MEJA JENIS PENGGUNA LIHAT, dan KOLEKSI SKEMA XML |
| DELETE | Semua kelas objek kecuali DATABASE SCOPED CONFIGURATION, SERVER, dan TYPE. |
| EXECUTE | Jenis CLR, skrip eksternal, prosedur (Transact-SQL dan CLR), fungsi skalar dan agregat (Transact-SQL dan CLR), dan sinonim |
| MENIRU | Login dan pengguna |
| INSERT | Sinonim, tabel dan kolom, tampilan, dan kolom. Izin dapat diberikan di tingkat database, skema, atau objek. |
| TERIMA | Antrean Service Broker |
| REFERENCES | AGREGAT MAJELIS KUNCI ASIMETRIS, SERTIFIKAT KONTRAK DATABASE KREDENSIAL LINGKUP DATABASE, KATALOG TEKS LENGKAP, DAFTAR HENTI TEKS PENUH, FUNGSI JENIS PESAN, PROSEDUR ANTRIAN ATURAN SKEMA CARI DAFTAR PROPERTI, OBJEK SEQUENCE, KUNCI KONTEN, MEJA JENIS LIHAT, dan KOLEKSI SKEMA XML |
| SELECT | Sinonim, tabel dan kolom, tampilan, dan kolom. Izin dapat diberikan di tingkat database, skema, atau objek. |
| AMBIL KEPEMILIKAN | Semua kelas objek kecuali DATABASE SCOPED CONFIGURATION, LOGIN, SERVER, dan USER. |
| UPDATE | Sinonim, tabel dan kolom, tampilan, dan kolom. Izin dapat diberikan di tingkat database, skema, atau objek. |
| LIHAT PELACAKAN PERUBAHAN | Skema dan tabel |
| LIHAT DEFINISI | Semua kelas objek kecuali KONFIGURASI LINGKUP DATABASE, dan SERVER. |
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
Tabel berikut ini menyediakan daftar lengkap izin SQL Server. Izin Azure SQL Database hanya tersedia untuk keamanan dasar yang didukung. Izin tingkat server tidak dapat diberikan di Azure 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| DATABASE | ADMINISTER DATABASE BULK OPERATIONS | DABO | SERVER | SERVER KONTROL |
| 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 KUNCI ENKRIPSI KOLOM APA PUN | ALCK Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
SERVER | SERVER KONTROL |
| DATABASE | MENGUBAH KUNCI MASTER KOLOM APA PUN | ALCM Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
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 Berlaku untuk Azure SQL Database. |
SERVER | MENGUBAH SESI PERISTIWA APA PUN |
| DATABASE | MENGUBAH KONFIGURASI LINGKUP DATABASE APA PUN | ALDC Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
SERVER | SERVER KONTROL |
| DATABASE | MENGUBAH RUANG DATA APA PUN | ALDS | SERVER | SERVER KONTROL |
| DATABASE | ALTER ANY EXTERNAL DATA SOURCE | AED | SERVER | SERVER KONTROL |
| DATABASE | ALTER ANY EXTERNAL FILE FORMAT | AEFF | SERVER | SERVER KONTROL |
| DATABASE | MENGUBAH KATALOG TEKS LENGKAP APA PUN | ALFT | SERVER | SERVER KONTROL |
| DATABASE | MENGUBAH MASKER APA PUN | AAMK Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
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 Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
SERVER | SERVER KONTROL |
| DATABASE | MENGUBAH KLASIFIKASI SENSITIVITAS APA PUN | AASC Berlaku untuk SQL Server (SQL Server 2019 (15.x) hingga saat ini), Azure 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 | CONNECT | 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 FULLTEXT | CRFT | SERVER | SERVER KONTROL |
| DATABASE | CREATE FUNCTION | CRFN | SERVER | SERVER KONTROL |
| DATABASE | BUAT 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 | BUAT 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 | JALANKAN SKRIP EKSTERNAL APA PUN | EAES Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini). |
SERVER | SERVER KONTROL |
| DATABASE | INSERT | IN | SERVER | SERVER KONTROL |
| DATABASE | MEMATIKAN KONEKSI DATABASE | KIDC Hanya berlaku untuk Azure 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 | UNMASK | UMSK Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
SERVER | SERVER KONTROL |
| DATABASE | UPDATE | UP | SERVER | SERVER KONTROL |
| DATABASE | MENAMPILKAN DEFINISI KUNCI ENKRIPSI KOLOM APA PUN | VWCK Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
SERVER | LIHAT STATUS SERVER |
| DATABASE | MENAMPILKAN DEFINISI KUNCI MASTER KOLOM APA PUN | vWCM Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database. |
SERVER | LIHAT STATUS SERVER |
| DATABASE | TAMPILKAN STATUS DATABASE | VWD | SERVER | LIHAT STATUS SERVER |
| DATABASE | LIHAT DEFINISI | VW | SERVER | LIHAT DEFINISI APA PUN |
| DATABASE SCOPED CREDENTIAL | ALTER | AL | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | CONTROL | CL | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | REFERENCES | RF | DATABASE | REFERENCES |
| DATABASE SCOPED CREDENTIAL | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| ENDPOINT | ALTER | AL | SERVER | MENGUBAH TITIK AKHIR APA PUN |
| ENDPOINT | CONNECT | CO | SERVER | SERVER KONTROL |
| ENDPOINT | CONTROL | CL | SERVER | SERVER KONTROL |
| ENDPOINT | AMBIL KEPEMILIKAN | TO | SERVER | SERVER KONTROL |
| ENDPOINT | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| MASUK | ALTER | AL | SERVER | ALTER ANY LOGIN |
| MASUK | CONTROL | CL | SERVER | SERVER KONTROL |
| MASUK | MENIRU | IM | SERVER | SERVER KONTROL |
| MASUK | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | SKEMA | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| PERAN | ALTER | AL | DATABASE | MENGUBAH PERAN APA PUN |
| PERAN | CONTROL | CL | DATABASE | CONTROL |
| PERAN | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
| PERAN | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| RUTE | ALTER | AL | DATABASE | MENGUBAH RUTE APA PUN |
| RUTE | CONTROL | CL | DATABASE | CONTROL |
| RUTE | AMBIL KEPEMILIKAN | TO | DATABASE | CONTROL |
| RUTE | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| DAFTAR PROPERTI PENCARIAN | ALTER | AL | SERVER | MENGUBAH KATALOG FULLTEXT 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 | LIHAT DEFINISI | VW | SERVER | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| SERVER | MENGELOLA OPERASI MASSAL | ADBO | Tidak berlaku | Tidak berlaku |
| SERVER | MENGUBAH GRUP KETERSEDIAAN APA PUN | ALAG | 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 | 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 KETERSEDIAAN | 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 | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | DATABASE | LIHAT DEFINISI |
| JENIS | CONTROL | CL | SKEMA | CONTROL |
| JENIS | EXECUTE | EX | SKEMA | EXECUTE |
| JENIS | REFERENCES | RF | SKEMA | REFERENCES |
| JENIS | AMBIL KEPEMILIKAN | TO | SKEMA | CONTROL |
| JENIS | LIHAT DEFINISI | VW | SKEMA | LIHAT DEFINISI |
| USER | ALTER | AL | DATABASE | MENGUBAH PENGGUNA APA PUN |
| USER | CONTROL | CL | DATABASE | CONTROL |
| USER | MENIRU | IM | DATABASE | CONTROL |
| USER | LIHAT DEFINISI | VW | DATABASE | LIHAT 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 | LIHAT DEFINISI | VW | SKEMA | LIHAT DEFINISI |
Izin Azure SQL Database
Izin ini saat ini hanya berlaku untuk Azure SQL Database, tetapi bukan satu-satunya izin untuk Azure SQL Database. Lihat bagian Izin di atas untuk izin Azure SQL Database tambahan.
| Dasar yang dapat diamankan | Izin terperinci pada basis yang dapat diamankan | Kode jenis izin | Diamankan yang berisi basis yang dapat diamankan | Izin pada kontainer yang dapat diamankan yang menyiratkan izin terperinci pada basis yang dapat diamankan | Deskripsi |
|---|---|---|---|---|---|
| DATABASE | AKTIFKAN BUKU BESAR | EL | SERVER | CONTROL | Memungkinkan penerima izin untuk membuat tabel ledger baru. |
| DATABASE | UBAH BUKU BESAR | ALR | SERVER | CONTROL | Memungkinkan penerima izin untuk menghilangkan tabel ledger. |
| DATABASE | LIHAT ISI LEDGER | VLC | SERVER | CONTROL | Memungkinkan penerima izin untuk melihat tampilan katalog ledger tingkat database dan memanggil verifikasi. |
| DATABASE | HASILKAN RINGKASAN BUKU BESAR | GLD | SERVER | CONTROL | Memungkinkan penerima hibah untuk menghasilkan hash ledger. |
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. Anda dapat membaca selengkapnya tentang dia di sini: TOLAK Izin Objek (Transact-SQL).
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.
Pertimbangan khusus untuk izin tingkat kolom
Izin tingkat kolom diberikan dengan sintaks< table_name>(<_name> kolom). Contohnya:
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
TOLAK pada tabel ditimpa oleh GRANT pada kolom. Namun, TOLAK berikutnya pada tabel akan menghapus kolom GRANT.
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)
