Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database 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.
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
Hak akses objek yang terkait dengan keamanan
- 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:
Lewati pemeriksaan izin jika login merupakan anggota peran server tetap sysadmin atau jika pengguna adalah pengguna dbo di database saat ini.
Izinkan akses jika rantai kepemilikan berlaku dan pemeriksaan akses pada objek sebelumnya dalam rantai melewati pemeriksaan keamanan.
Gabungkan identitas tingkat server, tingkat database, dan modul yang ditandatangani yang terkait dengan pemanggil untuk membuat konteks keamanan.
Untuk konteks keamanan tersebut, kumpulkan semua izin yang diberikan atau ditolak untuk ruang izin. Izin dapat secara eksplisit dinyatakan sebagai GRANT, GRANT WITH GRANT, atau DENY; atau izin dapat berupa izin 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.
Identifikasi izin yang diperlukan.
Gagalkan pemeriksaan izin jika izin yang diperlukan secara langsung atau implisit ditolak untuk salah satu identitas dalam konteks keamanan untuk objek dalam ruang izin.
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