Izin (Mesin Basis Data)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Titik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Setiap objek securable di SQL Server 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 Mulai menggunakan izin Mesin Database.

Jumlah total izin untuk SQL Server 2022 (16.x) adalah 292. Azure SQL Database menyediakan 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 seiring rilis versi baru. SQL Server 2019 (15.x) mengekspos 248 izin. SQL Server 2017 (14.x) mengekspos 238 izin. SQL Server 2016 (13.x) memiliki 230 izin. SQL Server 2014 (12.x) memiliki 219 izin. SQL Server 2012 (11.x) memiliki 214 izin. SQL Server 2008 R2 (10.50.x) memiliki 195 izin. Artikel sys.fn_builtin_permissions menentukan izin mana yang baru dalam versi terbaru.

Dalam database SQL di Microsoft Fabric, hanya pengguna dan peran tingkat database yang didukung. Login tingkat server, peran, dan akun sa tidak tersedia. Dalam database SQL di Microsoft Fabric, ID Microsoft Entra untuk pengguna database adalah satu-satunya metode autentikasi yang didukung. Untuk informasi selengkapnya, lihat Otorisasi dalam database SQL di Microsoft Fabric.

Setelah memahami izin yang diperlukan, Anda dapat menerapkan izin tingkat server kepada login atau peran server, dan izin tingkat database kepada 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 Mulai menggunakan 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 atas objek yang diamankan. Prinsipal yang telah diberi CONTROL juga dapat memberikan izin pada objek yang dapat diamankan. Karena model keamanan SQL Server bersifat hierarkis, CONTROL pada cakupan tertentu secara implisit mencakup CONTROL atas semua objek 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

    Memberikan kemampuan untuk mengubah properti, kecuali kepemilikan, dari objek tertentu yang dapat diamankan. Saat diberikan pada suatu cakupan, ALTER juga memberikan kemampuan untuk mengubah, membuat, atau menghapus objek yang dapat diamankan yang berada 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, UBAH ANY LOGIN menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan login apa pun dalam instans.

  • ALTER ANY <Sekurabel Database>, dengan Sekurabel Database dapat berupa sekurabel apa pun pada 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 hak untuk mengambil alih kepemilikan sarana yang ditentukan dalam pemberian hak tersebut.

  • SAMAR SEBAGAI <Login>

    Memungkinkan penerima izin untuk meniru login.

  • MENYAMAR SEBAGAI <Pengguna>

    Memungkinkan penerima hibah untuk meniru pengguna.

  • BUAT <Server yang Dapat Diamankan>

    Menganugerahkan kepada penerima izin kemampuan untuk membuat Server Securable.

  • CREATE <Database Securable>

    Menganugerahkan kepada penerima izin kemampuan untuk membuat Database Securable.

  • BUAT <Securable yang Berisi Skema>

    Memberikan kemampuan untuk membuat sekurabel yang terkandung dalam skema. Namun, izin ALTER pada skema diperlukan untuk membuat sekurabel dalam skema tertentu.

  • VIEW 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 FUNCTION atau VIEW dengan klausa yang mereferensikan objek tersebut WITH SCHEMABINDING .

Diagram hak akses 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 ukuran penuh dalam format PDF.

Cuplikan layar dari PDF izin Mesin Database.

Izin yang berlaku untuk jaminan tertentu

Tabel berikut mencantumkan kelas utama izin dan jenis keamanan yang mungkin diterapkan.

Permission Berlaku pada
ALTER Semua kelas objek kecuali TYPE.
CONTROL Semua kelas objek:

AGGREGATE,
APPLICATION ROLE,
ASSEMBLY,
ASYMMETRIC KEY,
AVAILABILITY GROUP,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
DATABASE,
DATABASE SCOPED CREDENTIAL,
DEFAULT,
ENDPOINT,
FULLTEXT CATALOG,
FULLTEXT STOPLIST,
FUNCTION,
LOGIN,
MESSAGE TYPE,
PROCEDURE,
QUEUE,
REMOTE SERVICE BINDING,
ROLE,
ROUTE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SERVER,
SERVER ROLE,
SERVICE,
SYMMETRIC KEY,
SYNONYM,
TABLE,
TYPE,
USER,
VIEW, dan
XML SCHEMA COLLECTION
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
IMPERSONATE Login dan pengguna
INSERT Sinonim, tabel dan kolom, tampilan dan kolom. Izin dapat diberikan di tingkat database, skema, atau objek.
RECEIVE Antrean Service Broker
REFERENCES AGGREGATE,
ASSEMBLY,
ASYMMETRIC KEY,
CERTIFICATE,
CONTRACT,
CREDENTIAL(berlaku untuk SQL Server 2022 (16.x) dan yang lebih baru),
DATABASE,
DATABASE SCOPED CREDENTIAL,
FULLTEXT CATALOG,
FULLTEXT STOPLIST,
FUNCTION,
MESSAGE TYPE,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SEQUENCE OBJEK
SYMMETRIC KEY,
TABLE,
TYPE,
VIEW, dan
XML SCHEMA COLLECTION
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, , LOGINSERVER, dan USER.
UPDATE Sinonim, tabel dan kolom, tampilan dan kolom. Izin dapat diberikan di tingkat database, skema, atau objek.
VIEW PELACAKAN PERUBAHAN Skema dan tabel
VIEW DEFINISI Semua kelas objek kecuali DATABASE SCOPED CONFIGURATION, dan SERVER.

Caution

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.

Basis yang dapat diamankan Izin terperinci pada basis yang dapat diamankan Kode jenis izin Securable yang berisi securable dasar Izin pada objek kontainer yang dapat diamankan yang mencakup izin terperinci pada objek dasar yang dapat diamankan
APPLICATION ROLE ALTER AL DATABASE MENGUBAH SEMUA APPLICATION ROLE
APPLICATION ROLE CONTROL CL DATABASE CONTROL
APPLICATION ROLE VIEW DEFINISI VW DATABASE VIEW DEFINISI
ASSEMBLY ALTER AL DATABASE MENGUBAH SEMUA ASSEMBLY
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY AMBIL KEPEMILIKAN TO DATABASE CONTROL
ASSEMBLY VIEW DEFINISI VW DATABASE VIEW DEFINISI
ASYMMETRIC KEY ALTER AL DATABASE MENGUBAH SEMUA ASYMMETRIC KEY
ASYMMETRIC KEY CONTROL CL DATABASE CONTROL
ASYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
ASYMMETRIC KEY AMBIL KEPEMILIKAN TO DATABASE CONTROL
ASYMMETRIC KEY VIEW DEFINISI VW DATABASE VIEW DEFINISI
AVAILABILITY GROUP ALTER AL SERVER MENGUBAH SEMUA AVAILABILITY GROUP
AVAILABILITY GROUP CONTROL CL SERVER SERVER PENGENDALI
AVAILABILITY GROUP AMBIL KEPEMILIKAN TO SERVER SERVER PENGENDALI
AVAILABILITY GROUP VIEW DEFINISI VW SERVER VIEW DEFINISI APA SAJA
CERTIFICATE ALTER AL DATABASE MENGUBAH SEMUA CERTIFICATE
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE AMBIL KEPEMILIKAN TO DATABASE CONTROL
CERTIFICATE VIEW DEFINISI VW DATABASE VIEW DEFINISI
CONTRACT ALTER AL DATABASE MENGUBAH SEMUA CONTRACT
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT AMBIL KEPEMILIKAN TO DATABASE CONTROL
CONTRACT VIEW DEFINISI VW DATABASE VIEW DEFINISI
CREDENTIAL CONTROL CL SERVER SERVER PENGENDALI
CREDENTIAL REFERENCES RF SERVER MENGUBAH SEMUA CREDENTIAL
DATABASE MENGELOLA DATABASE OPERASI MASSAL DABO SERVER SERVER PENGENDALI
DATABASE ALTER AL SERVER MENGUBAH SEMUA DATABASE
DATABASE MENGUBAH SEMUA APPLICATION ROLE ALAR SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA ASSEMBLY ALAS SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA ASYMMETRIC KEY ALAK SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA CERTIFICATE ALCF SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA COLUMN ENCRYPTION KEY ALCK

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA COLUMN MASTER KEY ALCM

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA CONTRACT ALSC SERVER SERVER PENGENDALI
DATABASE UBAH AUDIT APA PUN DATABASE ALDA SERVER MENGUBAH SEMUA SERVER AUDIT
DATABASE UBAH DDL APA PUN DATABASETRIGGER ALTG SERVER SERVER PENGENDALI
DATABASE UBAH APA PUN DATABASEEVENT NOTIFICATION ALED SERVER MENGUBAH SEMUA EVENT NOTIFICATION
DATABASE UBAH APA PUN DATABASEEVENT SESSION AADS SERVER MENGUBAH SEMUA EVENT SESSION
DATABASE MENGUBAH EVENT TAMBAHKAN APA PUN DATABASEEVENT SESSION LDAE SERVER UBAH SEMBARANG EVENT SESSION TAMBAHKAN PERISTIWA
DATABASE UBAH TARGET TAMBAHKAN APA PUN DATABASEEVENT SESSION LDAT SERVER MENGUBAH APA PUN EVENT SESSION MENAMBAHKAN TARGET
DATABASE MENGUBAH NONAKTIFKAN APA PUN DATABASEEVENT SESSION DDES SERVER MENGUBAH APA PUN EVENT SESSION NONAKTIFKAN
DATABASE MENGUBAH EVENT DROP APA PUN DATABASEEVENT SESSION LDDE SERVER MENGUBAH EVENT HAPUS APA PUN EVENT SESSION
DATABASE UBAH TARGET DROP APA PUN DATABASEEVENT SESSION LDDT SERVER MENGUBAH TARGET PENURUNAN APA PUN EVENT SESSION
DATABASE UBAH SEMBARANG DATABASEEVENT SESSION AKTIFKAN EDES SERVER UBAH PENGAKTIFAN APA PUN EVENT SESSION
DATABASE UBAH OPSI APA PUN DATABASEEVENT SESSION LDSO SERVER UBAH OPSI APA SAJA EVENT SESSION
DATABASE MENGUBAH SEMUA DATABASE SCOPED CONFIGURATION ALDC

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE MENGUBAH RUANG DATA MANA PUN ALDS SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA EXTERNAL DATA SOURCE AEDS SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA EXTERNAL FILE FORMAT AEFF SERVER SERVER PENGENDALI
DATABASE UBAH SEMUA TUGAS EKSTERNAL AESJ SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA EXTERNAL LANGUAGE ALLA SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA EXTERNAL LIBRARY ALEL SERVER SERVER PENGENDALI
DATABASE Ubah aliran eksternal apa pun AEST SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA FULLTEXT CATALOG ALFT SERVER SERVER PENGENDALI
DATABASE UBAH MASK APA SAJA AAMK

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA MESSAGE TYPE ALMT SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA REMOTE SERVICE BINDING ALSB SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA ROLE ALRL SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA ROUTE ALRT SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA SCHEMA ALSM SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA SECURITY POLICY ALSP

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA SENSITIVITY CLASSIFICATION AASC
Berlaku untuk SQL Server (SQL Server 2019 (15.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA SERVICE ALSV SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA SYMMETRIC KEY ALSK SERVER SERVER PENGENDALI
DATABASE MENGUBAH SEMUA USER ALUS SERVER SERVER PENGENDALI
DATABASE UBAH LEDGER ALR SERVER CONTROL
DATABASE UBAH KONFIGURASI LEDGER ALC SERVER SERVER PENGENDALI
DATABASE AUTHENTICATE AUTH SERVER MENGAUTENTIKASI SERVER
DATABASE BACKUP DATABASE BADB SERVER SERVER PENGENDALI
DATABASE BACKUP LOG BALO SERVER SERVER PENGENDALI
DATABASE CHECKPOINT CP SERVER SERVER PENGENDALI
DATABASE CONNECT CO SERVER SERVER PENGENDALI
DATABASE MENGHUBUNGKAN REPLIKASI CORP SERVER SERVER PENGENDALI
DATABASE CONTROL CL SERVER SERVER PENGENDALI
DATABASE CREATE AGGREGATE CRAG SERVER SERVER PENGENDALI
DATABASE BUAT APA SAJA DATABASEEVENT SESSION CRDS SERVER BUAT APA SAJA EVENT SESSION
DATABASE CREATE ASSEMBLY CRAS SERVER SERVER PENGENDALI
DATABASE CREATE ASYMMETRIC KEY CRAK SERVER SERVER PENGENDALI
DATABASE CREATE CERTIFICATE CRCF SERVER SERVER PENGENDALI
DATABASE CREATE CONTRACT CRSC SERVER SERVER PENGENDALI
DATABASE CREATE DATABASE CRDB SERVER BUAT APA PUN DATABASE
DATABASE CREATE DATABASE DDL EVENT NOTIFICATION CRED SERVER Buat DDL EVENT NOTIFICATION
DATABASE CREATE DEFAULT CRDF SERVER SERVER PENGENDALI
DATABASE CREATE EXTERNAL LANGUAGE CRLA SERVER SERVER PENGENDALI
DATABASE CREATE EXTERNAL LIBRARY CREL SERVER SERVER PENGENDALI
DATABASE CREATE FULLTEXT CATALOG CRFT SERVER SERVER PENGENDALI
DATABASE CREATE FUNCTION CRFN SERVER SERVER PENGENDALI
DATABASE CREATE MESSAGE TYPE CRMT SERVER SERVER PENGENDALI
DATABASE CREATE PROCEDURE CRPR SERVER SERVER PENGENDALI
DATABASE CREATE QUEUE CRQU SERVER SERVER PENGENDALI
DATABASE CREATE REMOTE SERVICE BINDING CRSB SERVER SERVER PENGENDALI
DATABASE CREATE ROLE CRRL SERVER SERVER PENGENDALI
DATABASE CREATE ROUTE CRRT SERVER SERVER PENGENDALI
DATABASE CREATE RULE CRRU SERVER SERVER PENGENDALI
DATABASE CREATE SCHEMA CRSM SERVER SERVER PENGENDALI
DATABASE CREATE SERVICE CRSV SERVER SERVER PENGENDALI
DATABASE CREATE SYMMETRIC KEY CRSK SERVER SERVER PENGENDALI
DATABASE CREATE SYNONYM CRSN SERVER SERVER PENGENDALI
DATABASE CREATE TABLE CRTB SERVER SERVER PENGENDALI
DATABASE CREATE TYPE CRTY SERVER SERVER PENGENDALI
DATABASE CREATE USER CUSR SERVER SERVER PENGENDALI
DATABASE CREATE VIEW CRVW SERVER SERVER PENGENDALI
DATABASE CREATE XML SCHEMA COLLECTION CRXS SERVER SERVER PENGENDALI
DATABASE DELETE DL SERVER SERVER PENGENDALI
DATABASE LETAKKAN APA SAJA DATABASEEVENT SESSION DRDS SERVER LEPASKAN APA SAJA EVENT SESSION
DATABASE AKTIFKAN LEDGER EL SERVER CONTROL
DATABASE EXECUTE EX SERVER SERVER PENGENDALI
DATABASE JALANKAN FILE EKSTERNAL APA PUN ENDPOINT EAEE SERVER SERVER PENGENDALI
DATABASE JALANKAN SKRIP EKSTERNAL APA SAJA EAES

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini).
SERVER SERVER PENGENDALI
DATABASE INSERT IN SERVER SERVER PENGENDALI
DATABASE MATIKAN DATABASE KONEKSI KIDC

Hanya berlaku untuk Azure SQL Database. Gunakan ALTER ANY CONNECTION di SQL Server.
SERVER MENGUBAH KONEKSI MANA PUN
DATABASE REFERENCES RF SERVER SERVER PENGENDALI
DATABASE SELECT SL SERVER SERVER PENGENDALI
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE
DATABASE BERLANGGANAN PEMBERITAHUAN KUERI SUQN SERVER SERVER PENGENDALI
DATABASE AMBIL KEPEMILIKAN TO SERVER SERVER PENGENDALI
DATABASE UNMASK UMSK

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER SERVER PENGENDALI
DATABASE UPDATE UP SERVER SERVER PENGENDALI
DATABASE VIEWDEFINISI APA PUN COLUMN ENCRYPTION KEY VWCK

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER VIEW STATUS SERVER
DATABASE VIEWDEFINISI APA PUN COLUMN MASTER KEY VWCM

Berlaku untuk SQL Server (SQL Server 2016 (13.x) hingga saat ini), Azure SQL Database.
SERVER VIEW Status Server
DATABASE VIEW APA SAJA SENSITIVITY CLASSIFICATION VASC SERVER SERVER PENGENDALI
DATABASE VIEW DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS VCD SERVER VIEW SETIAP DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS
DATABASE VIEW DATABASE STATUS KINERJA VDP SERVER VIEW STATUS KINERJA SERVER
DATABASE VIEW DATABASE AUDIT KEAMANAN VDSA SERVER SERVER PENGENDALI
DATABASE VIEW DATABASE STATUS KEAMANAN VDS SERVER VIEW STATUS KEAMANAN SERVER
DATABASE VIEW DATABASE NEGARA VWDS SERVER VIEW STATUS SERVER
DATABASE VIEW DEFINISI VW SERVER VIEW DEFINISI APA SAJA
DATABASE VIEW KONTEN BUKU BESAR VLC SERVER CONTROL
DATABASE VIEW DEFINISI KEAMANAN VWS SERVER VIEW DEFINISI KEAMANAN APA SAJA
DATABASE VIEW DEFINISI KINERJA VWP SERVER VIEW 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 VIEW DEFINISI VW DATABASE VIEW DEFINISI
ENDPOINT ALTER AL SERVER MENGUBAH SEMUA ENDPOINT
ENDPOINT CONNECT CO SERVER SERVER PENGENDALI
ENDPOINT CONTROL CL SERVER SERVER PENGENDALI
ENDPOINT AMBIL KEPEMILIKAN TO SERVER SERVER PENGENDALI
ENDPOINT VIEW DEFINISI VW SERVER VIEW DEFINISI APA SAJA
FULLTEXT CATALOG ALTER AL DATABASE MENGUBAH SEMUA FULLTEXT CATALOG
FULLTEXT CATALOG CONTROL CL DATABASE CONTROL
FULLTEXT CATALOG REFERENCES RF DATABASE REFERENCES
FULLTEXT CATALOG AMBIL KEPEMILIKAN TO DATABASE CONTROL
FULLTEXT CATALOG VIEW DEFINISI VW DATABASE VIEW DEFINISI
FULLTEXT STOPLIST ALTER AL DATABASE MENGUBAH SEMUA FULLTEXT CATALOG
FULLTEXT STOPLIST CONTROL CL DATABASE CONTROL
FULLTEXT STOPLIST REFERENCES RF DATABASE REFERENCES
FULLTEXT STOPLIST AMBIL KEPEMILIKAN TO DATABASE CONTROL
FULLTEXT STOPLIST VIEW DEFINISI VW DATABASE VIEW DEFINISI
LOGIN ALTER AL SERVER MENGUBAH SEMUA LOGIN
LOGIN CONTROL CL SERVER SERVER PENGENDALI
LOGIN IMPERSONATE IM SERVER SERVER PENGENDALI
LOGIN VIEW DEFINISI VW SERVER VIEW DEFINISI APA SAJA
MESSAGE TYPE ALTER AL DATABASE MENGUBAH SEMUA MESSAGE TYPE
MESSAGE TYPE CONTROL CL DATABASE CONTROL
MESSAGE TYPE REFERENCES RF DATABASE REFERENCES
MESSAGE TYPE AMBIL KEPEMILIKAN TO DATABASE CONTROL
MESSAGE TYPE VIEW DEFINISI VW DATABASE VIEW DEFINISI
OBJECT ALTER AL SCHEMA ALTER
OBJECT CONTROL CL SCHEMA CONTROL
OBJECT DELETE DL SCHEMA DELETE
OBJECT EXECUTE EX SCHEMA EXECUTE
OBJECT INSERT IN SCHEMA INSERT
OBJECT RECEIVE RC SCHEMA CONTROL
OBJECT REFERENCES RF SCHEMA REFERENCES
OBJECT SELECT SL SCHEMA SELECT
OBJECT AMBIL KEPEMILIKAN TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT VIEW PELACAKAN PERUBAHAN VWCT SCHEMA VIEW PELACAKAN PERUBAHAN
OBJECT VIEW DEFINISI VW SCHEMA VIEW DEFINISI
REMOTE SERVICE BINDING ALTER AL DATABASE MENGUBAH SEMUA REMOTE SERVICE BINDING
REMOTE SERVICE BINDING CONTROL CL DATABASE CONTROL
REMOTE SERVICE BINDING AMBIL KEPEMILIKAN TO DATABASE CONTROL
REMOTE SERVICE BINDING VIEW DEFINISI VW DATABASE VIEW DEFINISI
ROLE ALTER AL DATABASE MENGUBAH SEMUA ROLE
ROLE CONTROL CL DATABASE CONTROL
ROLE AMBIL KEPEMILIKAN TO DATABASE CONTROL
ROLE VIEW DEFINISI VW DATABASE VIEW DEFINISI
ROUTE ALTER AL DATABASE MENGUBAH SEMUA ROUTE
ROUTE CONTROL CL DATABASE CONTROL
ROUTE AMBIL KEPEMILIKAN TO DATABASE CONTROL
ROUTE VIEW DEFINISI VW DATABASE VIEW DEFINISI
SCHEMA ALTER AL DATABASE MENGUBAH SEMUA SCHEMA
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA CREATE SEQUENCE CRSO DATABASE CONTROL
SCHEMA DELETE DL DATABASE DELETE
SCHEMA EXECUTE EX DATABASE EXECUTE
SCHEMA INSERT IN DATABASE INSERT
SCHEMA REFERENCES RF DATABASE REFERENCES
SCHEMA SELECT SL DATABASE SELECT
SCHEMA AMBIL KEPEMILIKAN TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA VIEW PELACAKAN PERUBAHAN VWCT DATABASE VIEW PELACAKAN PERUBAHAN
SCHEMA VIEW DEFINISI VW DATABASE VIEW DEFINISI
SEARCH PROPERTY LIST ALTER AL SERVER MENGUBAH SEMUA FULLTEXT CATALOG
SEARCH PROPERTY LIST CONTROL CL SERVER CONTROL
SEARCH PROPERTY LIST REFERENCES RF SERVER REFERENCES
SEARCH PROPERTY LIST AMBIL KEPEMILIKAN TO SERVER CONTROL
SEARCH PROPERTY LIST VIEW DEFINISI VW SERVER VIEW DEFINISI
SERVER MENGELOLA OPERASI MASSAL ADBO Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA AVAILABILITY GROUP ALAG Tidak berlaku Tidak berlaku
SERVER MENGUBAH KONEKSI MANA PUN ALCO Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA CREDENTIAL ALCD Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA DATABASE ALDB Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA ENDPOINT ALHE Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA EVENT NOTIFICATION ALES Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA EVENT SESSION AAES Tidak berlaku Tidak berlaku
SERVER UBAH SEMBARANG EVENT SESSION TAMBAHKAN PERISTIWA LSAE Tidak berlaku Tidak berlaku
SERVER MENGUBAH APA PUN EVENT SESSION MENAMBAHKAN TARGET LSAT Tidak berlaku Tidak berlaku
SERVER MENGUBAH APA PUN EVENT SESSION NONAKTIFKAN DES Tidak berlaku Tidak berlaku
SERVER MENGUBAH EVENT HAPUS APA PUN EVENT SESSION LSDE Tidak berlaku Tidak berlaku
SERVER MENGUBAH TARGET PENURUNAN APA PUN EVENT SESSION LSDT Tidak berlaku Tidak berlaku
SERVER UBAH PENGAKTIFAN APA PUN EVENT SESSION EES Tidak berlaku Tidak berlaku
SERVER UBAH OPSI APA SAJA EVENT SESSION LESO Tidak berlaku Tidak berlaku
SERVER MENGUBAH SERVER YANG DITAUTKAN APA PUN ALLS Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA LOGIN ALLG Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA SERVER AUDIT ALAA Tidak berlaku Tidak berlaku
SERVER MENGUBAH SEMUA SERVER ROLE 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 HUBUNGKAN APA SAJA DATABASE CADB Tidak berlaku Tidak berlaku
SERVER KONEKSIKAN SQL COSQ Tidak berlaku Tidak berlaku
SERVER SERVER PENGENDALI CL Tidak berlaku Tidak berlaku
SERVER BUAT APA PUN DATABASE CRDB Tidak berlaku Tidak berlaku
SERVER CREATE AVAILABILITY GROUP CRAC Tidak berlaku Tidak berlaku
SERVER Buat DDL EVENT NOTIFICATION CRDE Tidak berlaku Tidak berlaku
SERVER CREATE ENDPOINT CRHE Tidak berlaku Tidak berlaku
SERVER CREATE SERVER ROLE CRSR Tidak berlaku Tidak berlaku
SERVER BUAT JEJAK EVENT NOTIFICATION CRTE Tidak berlaku Tidak berlaku
SERVER AKSES EKSTERNAL ASSEMBLY XA Tidak berlaku Tidak berlaku
SERVER MENYAMAR SEBAGAI SIAPA PUN LOGIN IAL Tidak berlaku Tidak berlaku
SERVER PILIH SEMUA USER OBJEK YANG DAPAT DIAMANKAN SUS Tidak berlaku Tidak berlaku
SERVER SHUTDOWN SHDN Tidak berlaku Tidak berlaku
SERVER TIDAK AMAN ASSEMBLY XU Tidak berlaku Tidak berlaku
SERVER VIEW APA SAJA DATABASE VWDB Tidak berlaku Tidak berlaku
SERVER VIEW DEFINISI APA SAJA VWAD Tidak berlaku Tidak berlaku
SERVER VIEW STATUS SERVER VWSS Tidak berlaku Tidak berlaku
SERVER ROLE ALTER AL SERVER MENGUBAH SEMUA SERVER ROLE
SERVER ROLE CONTROL CL SERVER SERVER PENGENDALI
SERVER ROLE AMBIL KEPEMILIKAN TO SERVER SERVER PENGENDALI
SERVER ROLE VIEW DEFINISI VW SERVER VIEW DEFINISI APA SAJA
SERVICE ALTER AL DATABASE MENGUBAH SEMUA SERVICE
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE AMBIL KEPEMILIKAN TO DATABASE CONTROL
SERVICE VIEW DEFINISI VW DATABASE VIEW DEFINISI
SYMMETRIC KEY ALTER AL DATABASE MENGUBAH SEMUA SYMMETRIC KEY
SYMMETRIC KEY CONTROL CL DATABASE CONTROL
SYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
SYMMETRIC KEY AMBIL KEPEMILIKAN TO DATABASE CONTROL
SYMMETRIC KEY VIEW DEFINISI VW DATABASE VIEW DEFINISI
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE AMBIL KEPEMILIKAN TO SCHEMA CONTROL
TYPE VIEW DEFINISI VW SCHEMA VIEW DEFINISI
USER ALTER AL DATABASE MENGUBAH SEMUA USER
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VIEW DEFINISI VW DATABASE VIEW DEFINISI
XML SCHEMA COLLECTION ALTER AL SCHEMA ALTER
XML SCHEMA COLLECTION CONTROL CL SCHEMA CONTROL
XML SCHEMA COLLECTION EXECUTE EX SCHEMA EXECUTE
XML SCHEMA COLLECTION REFERENCES RF SCHEMA REFERENCES
XML SCHEMA COLLECTION AMBIL KEPEMILIKAN TO SCHEMA CONTROL
XML SCHEMA COLLECTION VIEW DEFINISI VW SCHEMA VIEW 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 basis data 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 DEFINISI KEAMANAN APA SAJA
  • VIEW DEFINISI PERFORMA APA PUN
  • VIEW STATUS KEAMANAN SERVER
  • VIEW STATUS KINERJA SERVER
  • VIEW SETIAP DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS

Tingkat database:

  • VIEW DATABASE STATUS KEAMANAN
  • VIEW DATABASE STATUS KINERJA
  • VIEW DEFINISI KEAMANAN
  • VIEW DEFINISI KINERJA
  • VIEW DEFINISI YANG DIAMANKAN SECARA KRIPTOGRAFIS

Izin kejadian yang diperluas

Tingkat server:

  • BUAT APA PUN EVENT SESSION
  • LEPASKAN APA SAJA EVENT SESSION
  • UBAH OPSI APA SAJA EVENT SESSION
  • UBAH SEMBARANG EVENT SESSION TAMBAHKAN PERISTIWA
  • MENGUBAH EVENT HAPUS APA PUN EVENT SESSION
  • UBAH PENGAKTIFAN APA PUN EVENT SESSION
  • MENGUBAH APA PUN EVENT SESSION NONAKTIFKAN
  • MENGUBAH APA PUN EVENT SESSION MENAMBAHKAN TARGET
  • MENGUBAH TARGET PENURUNAN APA PUN EVENT SESSION

Semua izin ini berada di bawah izin induk yang sama: UBAH ANY EVENT SESSION

Tingkat database:

  • BUAT APA SAJA DATABASEEVENT SESSION
  • LETAKKAN APA SAJA DATABASEEVENT SESSION
  • UBAH OPSI APA PUN DATABASEEVENT SESSION
  • MENGUBAH EVENT TAMBAHKAN APA PUN DATABASEEVENT SESSION
  • MENGUBAH EVENT DROP APA PUN DATABASEEVENT SESSION
  • UBAH SEMBARANG DATABASEEVENT SESSION AKTIFKAN
  • MENGUBAH NONAKTIFKAN APA PUN DATABASEEVENT SESSION
  • UBAH TARGET TAMBAHKAN APA PUN DATABASEEVENT SESSION
  • UBAH TARGET DROP APA PUN DATABASEEVENT SESSION

Semua izin ini berada di bawah izin induk yang sama: UBAH ANY DATABASEEVENT SESSION

  • KONTROL (CREDENTIAL)
  • CREATE LOGIN
  • CREATE USER
  • RUJUKAN (CREDENTIAL)
  • UNMASK (OBJEK)
  • UNMASK (SCHEMA)
  • VIEW log kesalahan apa pun
  • VIEW AUDIT KEAMANAN SERVER
  • VIEW DATABASE AUDIT KEAMANAN

Hak Akses Buku Besar

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

Izin database lainnya

  • UBAH SEMUA TUGAS EKSTERNAL
  • Ubah aliran eksternal apa pun
  • JALANKAN FILE EKSTERNAL APA PUN ENDPOINT

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 pemblokiran DENY yang ditemukan, algoritma mencari GRANT yang menyediakan akses yang memadai. Algoritma berisi tiga elemen penting, konteks keamanan, ruang izin, dan izin yang diperlukan.

Note

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 menyumbangkan izin untuk pemeriksaan akses. Ini merupakan izin yang terkait dengan login atau pengguna yang sedang aktif, kecuali konteks keamanan telah diubah menjadi login atau pengguna lain dengan menggunakan pernyataan EXECUTE AS. Konteks keamanan mencakup prinsipal berikut:

    • Masuk

    • Pengguna

    • Keanggotaan peran

    • Keanggotaan grup Windows

    • Jika penandatanganan modul digunakan, setiap login atau akun pengguna untuk sertifikat yang digunakan guna menandatangani modul yang sedang dijalankan pengguna saat ini, serta keanggotaan peran yang terkait dengan prinsipal tersebut.

  • Ruang izin

    Ini adalah entitas yang dapat diamankan dan kelas yang dapat diamankan apa pun yang memuat entitas yang dapat diamankan tersebut. 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 baik izin EXECUTE pada prosedur tersimpan maupun izin INSERT pada beberapa tabel yang direferensikan oleh prosedur tersimpan.

    • Tampilan manajemen dinamis dapat memerlukan izin VIEW SERVER STATE dan SELECT pada tampilan tersebut.

Langkah-langkah umum algoritma

Ketika algoritma menentukan apakah akan mengizinkan akses ke objek yang dapat diamankan, langkah-langkah tepat yang digunakan dapat bervariasi, bergantung pada prinsipal dan objek yang dapat diamankan yang terlibat. Namun, algoritma melakukan langkah-langkah umum berikut:

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

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

  3. Gabungkan 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 GRANT tersirat atau mencakup 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, maka SELECT pada tabel juga diberikan. Jika CONTROL ditolak pada tabel, SELECT pada tabel ditolak.

    Note

    GRANT izin tingkat kolom mengesampingkan DENY di tingkat objek. Untuk informasi selengkapnya, lihat DENY Izin Objek.

  5. Identifikasi izin yang diperlukan.

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

  7. Loloskan pemeriksaan izin jika izin yang diperlukan tidak ditolak dan izin yang diperlukan berisi GRANT atau GRANT dengan izin GRANT, baik secara langsung maupun secara implisit, kepada salah satu identitas dalam konteks keamanan untuk objek apa pun dalam ruang izin.

Pertimbangan khusus untuk izin tingkat kolom

Izin pada tingkat kolom diberikan dengan sintaks <table_name>(<column _name>). Contohnya:

GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;

DENY pada tabel ditimpa oleh GRANT pada kolom. Namun, DENY berikutnya pada tabel akan menghapus kolom GRANT.

Examples

Contoh di bagian ini menunjukkan cara mengambil informasi izin.

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

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 objek yang dapat diamankan. Contoh ini menampilkan izin pada assembly.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Mengembalikan izin yang diberikan kepada prinsipal pelaksana pada objek

Contoh berikut menggunakan fn_my_permissions untuk mengembalikan daftar izin efektif yang dimiliki oleh prinsipal pemanggil pada objek yang dapat diamankan yang ditentukan. Contoh mengembalikan izin pada objek bernama Orders55. Untuk informasi selengkapnya, lihat sys.fn_my_permissions.

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. Fungsi bawaan OBJECT_ID digunakan untuk mengambil ID objek Yttrium.

SELECT * FROM sys.database_permissions
    WHERE major_id = OBJECT_ID('Yttrium');
GO