Izin (Mesin Database)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform 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 2022 (16.x) adalah 292. Azure SQL Database mengekspos 292 izin. Sebagian besar izin berlaku untuk semua platform, tetapi beberapa tidak. Misalnya, sebagian besar 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 2019 (15.x) mengekspos 248 izin. 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 (10.50.x) mengekspos 195 izin. Artikel sys.fn_builtin_permissions menentukan izin mana yang baru dalam versi terbaru.

Setelah Memahami izin yang diperlukan, Anda dapat menerapkan izin tingkat server ke peran masuk atau server, dan izin tingkat database ke pengguna atau peran database, dengan menggunakan pernyataan GRANT, REVOKE, dan DENY . Contohnya:

GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;

Untuk tips merencanakan sistem izin, lihat Memulai Izin Mesin Database.

Konvensi penamaan izin

Berikut ini menjelaskan konvensi umum yang diikuti untuk izin penamaan:

  • CONTROL

    Menganugerah kemampuan seperti kepemilikan pada penerima hibah. 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 yang dapat diamankan 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 Securable. 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 masing-masing instans Database Securable. Misalnya, ALTER ANY SCHEMA menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan skema apa pun dalam database.

  • AMBIL KEPEMILIKAN

    Memungkinkan penerima hibah untuk mengambil kepemilikan dari yang diamankan di mana pemberiannya.

  • MENIRU <Login>

    Memungkinkan penerima izin untuk meniru login.

  • MENIRU <Pengguna>

    Memungkinkan penerima hibah untuk meniru pengguna.

  • CREATE <Server Securable>

    Menganugerahkan kepada penerima izin kemampuan untuk membuat Server Securable.

  • CREATE <Database Securable>

    Menganugerahkan kepada penerima izin kemampuan untuk membuat Database Securable.

  • CREATE <Schema-contained Securable>

    Menganugerahkan kemampuan untuk membuat skema yang dapat diamankan. Namun, izin ALTER pada skema diperlukan untuk membuat yang dapat diamankan dalam skema tertentu.

  • MELIHAT DEFINISI

    Memungkinkan penerima hibah mengakses metadata.

  • REFERENCES

    Izin REFERENCES 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

Gambar berikut menunjukkan 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. Anda dapat mengunduh Poster Izin Mesin Database berukuran penuh dalam format PDF.

A screenshot from the Database Engine permissions PDF.

Izin yang berlaku untuk jaminan tertentu

Tabel berikut mencantumkan kelas utama izin dan jenis keamanan 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 CAKUPAN DATABASE,
DEFAULT
ENDPOINT
KATALOG FULLTEXT,
DAFTAR HENTI FULLTEXT,
FUNGSI
LOGIN
JENIS PESAN,
PROSEDUR
ANTRIAN
PENGIKATAN LAYANAN JARAK JAUH,
PERAN
RUTE
ATURAN
SKEMA
DAFTAR PROPERTI PENCARIAN,
SERVER
PERAN SERVER,
LAYANAN
KUNCI SIMETRIS,
SINONIM
MEJA
JENIS
PENGGUNA
LIHAT, dan
KOLEKSI SKEMA XML
DELETE Semua kelas objek kecuali KONFIGURASI, SERVER, dan JENIS LINGKUP DATABASE.
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
KREDENSIAL (berlaku untuk SQL Server 2022 (16.x) dan yang lebih baru),
DATABASE
KREDENSIAL CAKUPAN DATABASE,
KATALOG FULLTEXT,
DAFTAR HENTI FULLTEXT,
FUNGSI
JENIS PESAN,
PROSEDUR
ANTRIAN
ATURAN
SKEMA
DAFTAR PROPERTI PENCARIAN,
OBJEK URUTAN,
KUNCI SIMETRIS,
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 KONFIGURASI LINGKUP DATABASE, LOGIN, SERVER, dan PENGGUNA.
UPDATE Sinonim, tabel dan kolom, tampilan, dan kolom. Izin dapat diberikan di tingkat database, skema, atau objek.
LIHAT PELACAKAN PERUBAHAN Skema dan tabel
MELIHAT 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 status 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 basis yang dapat diamankan Kode jenis izin Securable yang berisi basis yang dapat diamankan Izin pada kontainer yang dapat diamankan yang menyiratkan izin terperinci pada basis 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 RAKITAN 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
INFORMASI MASUK CONTROL CL SERVER SERVER KONTROL
INFORMASI MASUK REFERENCES RF SERVER MENGUBAH KREDENSIAL APA PUN
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 RAKITAN 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 SERVER MENGUBAH SESI PERISTIWA APA PUN
DATABASE MENGUBAH PERISTIWA PENAMBAHAN SESI PERISTIWA DATABASE APA PUN LDAE SERVER MENGUBAH PERISTIWA PENAMBAHAN SESI PERISTIWA APA PUN
DATABASE MENGUBAH TARGET PENAMBAHAN SESI PERISTIWA DATABASE APA PUN LDAT SERVER MENGUBAH TARGET PENAMBAHAN SESI PERISTIWA APA PUN
DATABASE MENGUBAH SESI PERISTIWA DATABASE APA PUN NONAKTIF DDES SERVER MENGUBAH SESI PERISTIWA APA PUN NONAKTIF
DATABASE MENGUBAH PERISTIWA PENGHILANGAN SESI PERISTIWA DATABASE APA PUN LDDE SERVER MENGUBAH PERISTIWA PENGHILANGAN SESI PERISTIWA APA PUN
DATABASE MENGUBAH TARGET PENURUNAN SESI PERISTIWA DATABASE APA PUN LDDT SERVER MENGUBAH TARGET PENGHILANGAN SESI PERISTIWA APA PUN
DATABASE MENGUBAH SESI PERISTIWA DATABASE APA PUN YANG DIAKTIFKAN EDES SERVER MENGUBAH SESI PERISTIWA APA PUN YANG DIAKTIFKAN
DATABASE MENGUBAH OPSI SESI PERISTIWA DATABASE APA PUN LDSO SERVER MENGUBAH OPSI SESI PERISTIWA APA PUN
DATABASE MENGUBAH KONFIGURASI CAKUPAN 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 ALD 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 PEKERJAAN EKSTERNAL APA PUN AESJ SERVER SERVER KONTROL
DATABASE MENGUBAH BAHASA EKSTERNAL APA PUN ALLA SERVER SERVER KONTROL
DATABASE MENGUBAH PUSTAKA EKSTERNAL APA PUN ALEL SERVER SERVER KONTROL
DATABASE MENGUBAH ALIRAN EKSTERNAL APA PUN AEST SERVER SERVER KONTROL
DATABASE MENGUBAH KATALOG FULLTEXT APA PUN ALFT SERVER SERVER KONTROL
DATABASE UBAH MASKER APA PUN AAMK

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER KONTROL
DATABASE UBAH 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 UBAH BUKU BESAR ALR SERVER CONTROL
DATABASE UBAH KONFIGURASI LEDGER ALC SERVER SERVER KONTROL
DATABASE MENGOTENTIKASI AUTENTIKASI 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 MEMBUAT SESI PERISTIWA DATABASE APA PUN CRDS SERVER MEMBUAT SESI PERISTIWA APA PUN
DATABASE MEMBUAT 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 BAHASA EKSTERNAL CRLA SERVER SERVER KONTROL
DATABASE BUAT PUSTAKA EKSTERNAL CREL SERVER SERVER KONTROL
DATABASE BUAT KATALOG FULLTEXT 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 BUAT PERAN 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 BUAT LAYANAN 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 USER CUSR 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 HILANGKAN SESI PERISTIWA DATABASE APA PUN DRD SERVER HILANGKAN SESI PERISTIWA APA PUN
DATABASE AKTIFKAN BUKU BESAR EL SERVER CONTROL
DATABASE EXECUTE EX SERVER SERVER KONTROL
DATABASE JALANKAN TITIK AKHIR EKSTERNAL APA PUN EAEE 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 KILL DATABASE CONNECTION 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 LIHAT 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 LIHAT 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 LIHAT KLASIFIKASI SENSITIVITAS APA PUN VASC SERVER SERVER KONTROL
DATABASE LIHAT DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS VCD SERVER LIHAT DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS
DATABASE TAMPILKAN STATUS PERFORMA DATABASE VDP SERVER LIHAT STATUS PERFORMA SERVER
DATABASE LIHAT AUDIT KEAMANAN DATABASE VDSA SERVER SERVER KONTROL
DATABASE LIHAT STATUS KEAMANAN DATABASE VDS SERVER LIHAT STATUS KEAMANAN SERVER
DATABASE TAMPILKAN STATUS DATABASE VWD SERVER LIHAT STATUS SERVER
DATABASE MELIHAT DEFINISI VW SERVER LIHAT DEFINISI APA PUN
DATABASE LIHAT KONTEN LEDGER VLC SERVER CONTROL
DATABASE VIEW SECURITY DEFINITION VWS SERVER VIEW ANY SECURITY DEFINITION
DATABASE LIHAT DEFINISI PERFORMA VWP SERVER LIHAT DEFINISI PERFORMA 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 MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
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
LOGIN ALTER AL SERVER ALTER ANY LOGIN
LOGIN CONTROL CL SERVER SERVER KONTROL
LOGIN MENIRU IM SERVER SERVER KONTROL
LOGIN MELIHAT DEFINISI VW SERVER LIHAT DEFINISI APA PUN
JENIS PESAN ALTER AL DATABASE UBAH 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 UNMASK UMSK SKEMA UNMASK
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
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 UNMASK UMSK DATABASE UNMASK
SKEMA UPDATE UP DATABASE UPDATE
SKEMA LIHAT PELACAKAN PERUBAHAN VWCT DATABASE LIHAT PELACAKAN PERUBAHAN
SKEMA MELIHAT DEFINISI VW DATABASE MELIHAT 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 MELIHAT DEFINISI VW SERVER MELIHAT 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 PERISTIWA PENAMBAHAN SESI PERISTIWA APA PUN LSAE Tidak berlaku Tidak berlaku
SERVER MENGUBAH TARGET PENAMBAHAN SESI PERISTIWA APA PUN LSAT Tidak berlaku Tidak berlaku
SERVER MENGUBAH SESI PERISTIWA APA PUN NONAKTIF DES Tidak berlaku Tidak berlaku
SERVER MENGUBAH PERISTIWA PENGHILANGAN SESI PERISTIWA APA PUN LSDE Tidak berlaku Tidak berlaku
SERVER MENGUBAH TARGET PENGHILANGAN SESI PERISTIWA APA PUN LSDT Tidak berlaku Tidak berlaku
SERVER MENGUBAH SESI PERISTIWA APA PUN YANG DIAKTIFKAN EES Tidak berlaku Tidak berlaku
SERVER MENGUBAH OPSI SESI PERISTIWA APA PUN LESO 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 UBAH 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 AUTENTIKASI 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 MEMBUAT 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
TYPE CONTROL CL SKEMA CONTROL
TYPE EXECUTE EX SKEMA EXECUTE
TYPE REFERENCES RF SKEMA REFERENCES
TYPE AMBIL KEPEMILIKAN TO SKEMA CONTROL
TYPE 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

Izin terperinci baru ditambahkan ke SQL Server 2022

Izin berikut ditambahkan ke SQL Server 2022:

  • 10 izin baru telah ditambahkan untuk mengizinkan akses ke metadata sistem.

  • 18 izin baru telah ditambahkan untuk peristiwa yang diperluas.

  • 9 izin baru telah ditambahkan sehubungan dengan objek terkait keamanan.

  • 4 izin telah ditambahkan untuk Ledger.

  • 3 izin database tambahan.

Untuk informasi selengkapnya, lihat Izin terperinci baru untuk SQL Server 2022 dan Azure SQL untuk meningkatkan kepatuhan dengan PoLP.

Akses ke izin metadata sistem

Tingkat server:

  • VIEW ANY SECURITY DEFINITION
  • LIHAT DEFINISI PERFORMA APA PUN
  • LIHAT STATUS KEAMANAN SERVER
  • LIHAT STATUS PERFORMA SERVER
  • LIHAT DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS

Tingkat database:

  • LIHAT STATUS KEAMANAN DATABASE
  • TAMPILKAN STATUS PERFORMA DATABASE
  • VIEW SECURITY DEFINITION
  • LIHAT DEFINISI PERFORMA
  • LIHAT DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS

Izin kejadian yang diperluas

Tingkat server:

  • MEMBUAT SESI PERISTIWA APA PUN
  • HILANGKAN SESI PERISTIWA APA PUN
  • MENGUBAH OPSI SESI PERISTIWA APA PUN
  • MENGUBAH PERISTIWA PENAMBAHAN SESI PERISTIWA APA PUN
  • MENGUBAH PERISTIWA PENGHILANGAN SESI PERISTIWA APA PUN
  • MENGUBAH SESI PERISTIWA APA PUN YANG DIAKTIFKAN
  • MENGUBAH SESI PERISTIWA APA PUN NONAKTIF
  • MENGUBAH TARGET PENAMBAHAN SESI PERISTIWA APA PUN
  • MENGUBAH TARGET PENGHILANGAN SESI PERISTIWA APA PUN

Semua izin ini berada di bawah izin induk yang sama: MENGUBAH SESI PERISTIWA APA PUN

Tingkat database:

  • MEMBUAT SESI PERISTIWA DATABASE APA PUN
  • HILANGKAN SESI PERISTIWA DATABASE APA PUN
  • MENGUBAH OPSI SESI PERISTIWA DATABASE APA PUN
  • MENGUBAH PERISTIWA PENAMBAHAN SESI PERISTIWA DATABASE APA PUN
  • MENGUBAH PERISTIWA PENGHILANGAN SESI PERISTIWA DATABASE APA PUN
  • MENGUBAH SESI PERISTIWA DATABASE APA PUN YANG DIAKTIFKAN
  • MENGUBAH SESI PERISTIWA DATABASE APA PUN NONAKTIF
  • MENGUBAH TARGET PENAMBAHAN SESI PERISTIWA DATABASE APA PUN
  • MENGUBAH TARGET PENURUNAN SESI PERISTIWA DATABASE APA PUN

Semua izin ini berada di bawah izin induk yang sama: MENGUBAH SESI PERISTIWA DATABASE APA PUN

  • CONTROL (KREDENSIAL)
  • CREATE LOGIN
  • BUAT USER
  • REFERENSI (KREDENSIAL)
  • UNMASK (OBJECT)
  • UNMASK (SKEMA)
  • LIHAT LOG KESALAHAN APA PUN
  • LIHAT AUDIT KEAMANAN SERVER
  • LIHAT AUDIT KEAMANAN DATABASE

Izin ledger

  • UBAH BUKU BESAR
  • UBAH KONFIGURASI LEDGER
  • AKTIFKAN BUKU BESAR
  • LIHAT KONTEN LEDGER

Izin database lainnya

  • MENGUBAH PEKERJAAN EKSTERNAL APA PUN
  • MENGUBAH ALIRAN EKSTERNAL APA PUN
  • JALANKAN TITIK AKHIR EKSTERNAL APA PUN

Ringkasan algoritma pemeriksaan izin

Memeriksa izin bisa kompleks. Algoritma pemeriksaan izin mencakup keanggotaan grup yang tumpang tindih dan rantai kepemilikan, izin eksplisit dan 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 PENOLAKAN 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 untuk sa, dbo, pemilik entitas, information_schema, sys, atau diri Anda sendiri.

  • Konteks keamanan

    Ini adalah grup prinsipal yang berkontribusi izin ke 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 dapat 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 TAMPILKAN STATUS SERVER 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:

  1. Lewati pemeriksaan izin apakah login adalah anggota peran server tetap sysadmin atau jika pengguna adalah pengguna dbo dalam database saat ini.

  2. Izinkan akses jika rantai kepemilikan berlaku dan pemeriksaan akses pada objek sebelumnya dalam rantai melewati pemeriksaan keamanan.

  3. Agregat identitas tingkat server, tingkat database, dan modul yang ditandatangani yang terkait dengan pemanggil untuk membuat konteks keamanan.

  4. 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

    HIBAH izin tingkat kolom mengambil alih TOLAK di tingkat objek. Anda dapat membaca lebih lanjut tentang di sini: TOLAK Izin Objek (Transact-SQL).

  5. Identifikasi izin yang diperlukan.

  6. Gagalkan pemeriksaan izin apakah izin yang diperlukan secara langsung atau implisit ditolak ke salah satu identitas dalam konteks keamanan untuk objek di ruang izin.

  7. 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 yang dapat diamankan 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

Baca juga