Izin (Mesin Database)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform 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.

Database Engine Permissions

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:

  1. Lewati pemeriksaan izin apakah login adalah anggota peran server tetap sysadmin atau apakah 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

    GRANT izin tingkat kolom mengambil alih TOLAK di tingkat objek. Anda dapat membaca selengkapnya tentang dia di sini: TOLAK Izin Objek (Transact-SQL).

  5. Identifikasi izin yang diperlukan.

  6. Gagalkan pemeriksaan izin jika 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 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)