Bagikan melalui


Izin (Mesin Database)

Setiap SQL Server yang dapat diamankan memiliki izin terkait yang dapat diberikan kepada prinsipal. Topik ini menyediakan informasi berikut:

Konvensi Penamaan Izin

Berikut ini menjelaskan konvensi umum yang diikuti untuk penamaan izin:

  • CONTROL

    Memberikan kemampuan seperti kepemilikan pada penerima hibah. Penerima hibah 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 menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan login apa pun dalam instans.

  • ALTER ANY <Database Securable>, di mana Database Securable dapat diamankan di tingkat database.

    Menganugerahkan kemampuan untuk MEMBUAT, MENGUBAH, atau MENGHILANGKAN instans individual Database Yang Dapat Diamankan. Misalnya, ALTER ANY SCHEMA menganugerahkan kemampuan untuk membuat, mengubah, atau menghilangkan skema apa pun dalam database.

  • AMBIL KEPEMILIKAN

    Memungkinkan penerima hibah 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>

    Beri penerima izin kemampuan untuk membuat Server Securable.

  • CREATE <Database Securable>

    Beri penerima izin kemampuan untuk membuat Database Securable.

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

  • MELIHAT DEFINISI

    Memungkinkan penerima hibah 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

Untuk bagan berukuran poster dari semua izin Mesin Database dalam format pdf, lihat https://github.com/microsoft/sql-server-samples/blob/master/samples/features/security/permissions-posters/Microsoft_SQL_Server_2017_and_Azure_SQL_Database_permissions_infographic.pdf.

Izin yang Berlaku untuk Securables Tertentu

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

Izin Berlaku untuk
SELECT Sinonim

Tabel dan kolom

Fungsi bernilai tabel, Transact-SQL dan runtime bahasa umum (CLR), dan kolom

Tampilan dan kolom
LIHAT PELACAKAN PERUBAHAN Tabel

Schemas
UPDATE Sinonim

Tabel dan kolom

Tampilan dan kolom

Objek urutan
REFERENCES Fungsi skalar dan agregat (Transact-SQL dan CLR)

Antrean Service Broker

Tabel dan kolom

Fungsi bernilai tabel (Transact-SQL dan CLR), dan kolom

Jenis

Tampilan dan kolom

Objek urutan
INSERT Sinonim

Tabel dan kolom

Tampilan dan kolom
DELETE Sinonim

Tabel dan kolom

Tampilan dan kolom
EXECUTE Prosedur (Transact-SQL dan CLR)

Fungsi skalar dan agregat (Transact-SQL dan CLR)

Sinonim

Jenis CLR
TERIMA Antrean Service Broker
MELIHAT DEFINISI Grup ketersediaan

Prosedur (Transact-SQL dan CLR)

Antrean Service Broker

Fungsi skalar dan agregat (Transact-SQL dan CLR)

Login, pengguna, dan peran

Sinonim

Tabel

Fungsi bernilai tabel (Transact-SQL dan CLR)

Tampilan

Objek urutan
ALTER Grup ketersediaan

Prosedur (Transact-SQL dan CLR)

Fungsi skalar dan agregat (Transact-SQL dan CLR)

Objek urutan

Login, pengguna, dan peran

Antrean Service Broker

Tabel

Fungsi bernilai tabel (Transact-SQL dan CLR)

Tampilan
AMBIL KEPEMILIKAN Grup ketersediaan

Peran

Prosedur (Transact-SQL dan CLR)

Fungsi skalar dan agregat (Transact-SQL dan CLR)

Peran server

Sinonim

Tabel

Fungsi bernilai tabel (Transact-SQL dan CLR)

Tampilan

Objek urutan
CONTROL Grup ketersediaan

Prosedur (Transact-SQL dan CLR)

Fungsi skalar dan agregat (Transact-SQL dan CLR)

Login, pengguna, dan peran

Antrean Service Broker

Sinonim

Tabel

Fungsi bernilai tabel (Transact-SQL dan CLR)

Tampilan

Objek urutan
MENIRU Login dan pengguna

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 dan SQL Database

Tabel berikut ini menyediakan daftar lengkap izin SQL Server. SQL Database izin hanya tersedia untuk keamanan dasar yang didukung. Izin tingkat server tidak dapat diberikan dalam 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 MELIHAT DEFINISI VW DATABASE MELIHAT 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 MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
KUNCI ASIMETRIS ALTER AL DATABASE MENGUBAH KUNCI ASIMETRIS APA PUN
KUNCI ASIMETRIS CONTROL CL DATABASE CONTROL
KUNCI ASIMETRIS REFERENCES RF DATABASE REFERENCES
KUNCI ASIMETRIS AMBIL KEPEMILIKAN TO DATABASE CONTROL
KUNCI ASIMETRIS MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
GRUP KETERSEDIAAN ALTER AL SERVER MENGUBAH GRUP KETERSEDIAAN APA PUN
GRUP KETERSEDIAAN CONTROL CL SERVER SERVER KONTROL
GRUP KETERSEDIAAN AMBIL KEPEMILIKAN TO SERVER SERVER KONTROL
GRUP KETERSEDIAAN MELIHAT DEFINISI VW SERVER LIHAT DEFINISI APA PUN
SERTIFIKAT ALTER AL DATABASE MENGUBAH SERTIFIKAT APA PUN
SERTIFIKAT CONTROL CL DATABASE CONTROL
SERTIFIKAT REFERENCES RF DATABASE REFERENCES
SERTIFIKAT AMBIL KEPEMILIKAN TO DATABASE CONTROL
SERTIFIKAT MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
KONTRAK ALTER AL DATABASE MENGUBAH KONTRAK APA PUN
KONTRAK CONTROL CL DATABASE CONTROL
KONTRAK REFERENCES RF DATABASE REFERENCES
KONTRAK AMBIL KEPEMILIKAN TO DATABASE CONTROL
KONTRAK MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
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 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

Catatan: Hanya berlaku untuk SQL Database.
SERVER MENGUBAH SESI PERISTIWA APA PUN
DATABASE MENGUBAH RUANG DATA APA PUN ALDS SERVER SERVER KONTROL
DATABASE MENGUBAH KATALOG FULLTEXT APA PUN ALFT 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

Catatan: Hanya berlaku untuk 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 MENGHUBUNG CO SERVER SERVER KONTROL
DATABASE SAMBUNGKAN REPLIKASI CORP SERVER SERVER KONTROL
DATABASE CONTROL CL SERVER SERVER KONTROL
DATABASE CREATE AGGREGATE KARANG SERVER SERVER KONTROL
DATABASE 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 TEKS LENGKAP CRFT SERVER SERVER KONTROL
DATABASE CREATE FUNCTION CRFN SERVER SERVER KONTROL
DATABASE MEMBUAT JENIS PESAN CRMT SERVER SERVER KONTROL
DATABASE CREATE PROCEDURE CRPR SERVER SERVER KONTROL
DATABASE BUAT ANTREAN CRQU SERVER SERVER KONTROL
DATABASE MEMBUAT PENGIKATAN LAYANAN JARAK JAUH CRSB SERVER SERVER KONTROL
DATABASE 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 MEMBUAT 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 INSERT IN SERVER SERVER KONTROL
DATABASE KILL DATABASE CONNECTION KIDC

Catatan: Hanya berlaku untuk 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 UPDATE UP SERVER SERVER KONTROL
DATABASE TAMPILKAN STATUS DATABASE VWD SERVER LIHAT STATUS SERVER
DATABASE MELIHAT DEFINISI VW SERVER LIHAT DEFINISI APA PUN
ENDPOINT ALTER AL SERVER MENGUBAH TITIK AKHIR APA PUN
ENDPOINT MENGHUBUNG CO SERVER SERVER KONTROL
ENDPOINT CONTROL CL SERVER SERVER KONTROL
ENDPOINT AMBIL KEPEMILIKAN TO SERVER SERVER KONTROL
ENDPOINT MELIHAT DEFINISI VW SERVER LIHAT DEFINISI APA PUN
KATALOG TEKS LENGKAP ALTER AL DATABASE MENGUBAH KATALOG FULLTEXT APA PUN
KATALOG TEKS LENGKAP CONTROL CL DATABASE CONTROL
KATALOG TEKS LENGKAP REFERENCES RF DATABASE REFERENCES
KATALOG TEKS LENGKAP AMBIL KEPEMILIKAN TO DATABASE CONTROL
KATALOG TEKS LENGKAP MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
DAFTAR HENTI TEKS PENUH ALTER AL DATABASE MENGUBAH KATALOG FULLTEXT APA PUN
DAFTAR HENTI TEKS PENUH CONTROL CL DATABASE CONTROL
DAFTAR HENTI TEKS PENUH REFERENCES RF DATABASE REFERENCES
DAFTAR HENTI TEKS PENUH AMBIL KEPEMILIKAN TO DATABASE CONTROL
DAFTAR HENTI TEKS PENUH MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
MASUK ALTER AL SERVER ALTER ANY LOGIN
MASUK CONTROL CL SERVER SERVER KONTROL
MASUK MENIRU IM SERVER SERVER KONTROL
MASUK MELIHAT 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 MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
OBJECT ALTER AL SKEMA ALTER
OBJECT CONTROL CL SKEMA CONTROL
OBJECT DELETE DL SKEMA DELETE
OBJECT EXECUTE EX SKEMA EXECUTE
OBJECT INSERT IN SKEMA INSERT
OBJECT TERIMA RC SKEMA CONTROL
OBJECT REFERENCES RF SKEMA REFERENCES
OBJECT SELECT SL SKEMA SELECT
OBJECT AMBIL KEPEMILIKAN TO SKEMA CONTROL
OBJECT UPDATE UP SKEMA UPDATE
OBJECT LIHAT PELACAKAN PERUBAHAN VWCT SKEMA LIHAT PELACAKAN PERUBAHAN
OBJECT MELIHAT DEFINISI VW SKEMA MELIHAT DEFINISI
PENGIKATAN LAYANAN JARAK JAUH ALTER AL DATABASE MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN
PENGIKATAN LAYANAN JARAK JAUH CONTROL CL DATABASE CONTROL
PENGIKATAN LAYANAN JARAK JAUH AMBIL KEPEMILIKAN TO DATABASE CONTROL
PENGIKATAN LAYANAN JARAK JAUH MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
PERAN ALTER AL DATABASE MENGUBAH PERAN APA PUN
PERAN CONTROL CL DATABASE CONTROL
PERAN AMBIL KEPEMILIKAN TO DATABASE CONTROL
PERAN MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
RUTE ALTER AL DATABASE MENGUBAH RUTE APA PUN
RUTE CONTROL CL DATABASE CONTROL
RUTE AMBIL KEPEMILIKAN TO DATABASE CONTROL
RUTE MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
DAFTAR PROPERTI PENCARIAN ALTER AL SERVER MENGUBAH KATALOG TEKS LENGKAP APA PUN
DAFTAR PROPERTI PENCARIAN CONTROL CL SERVER CONTROL
DAFTAR PROPERTI PENCARIAN REFERENCES RF SERVER REFERENCES
DAFTAR PROPERTI PENCARIAN AMBIL KEPEMILIKAN TO SERVER CONTROL
DAFTAR PROPERTI PENCARIAN MELIHAT DEFINISI VW SERVER MELIHAT DEFINISI
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 MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
SERVER MENGELOLA OPERASI MASSAL ADBO 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 MENGUBAH GRUP KETERSEDIAAN ALAG 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 AVAILABILTITY 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 MELIHAT DEFINISI VW SERVER LIHAT DEFINISI APA PUN
LAYANAN ALTER AL DATABASE MENGUBAH LAYANAN APA PUN
LAYANAN CONTROL CL DATABASE CONTROL
LAYANAN KIRIM SN DATABASE CONTROL
LAYANAN AMBIL KEPEMILIKAN TO DATABASE CONTROL
LAYANAN MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
KUNCI KONTEN ALTER AL DATABASE MENGUBAH KUNCI SIMETRIS APA PUN
KUNCI KONTEN CONTROL CL DATABASE CONTROL
KUNCI KONTEN REFERENCES RF DATABASE REFERENCES
KUNCI KONTEN AMBIL KEPEMILIKAN TO DATABASE CONTROL
KUNCI KONTEN MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
JENIS CONTROL CL SKEMA CONTROL
JENIS EXECUTE EX SKEMA EXECUTE
JENIS REFERENCES RF SKEMA REFERENCES
JENIS AMBIL KEPEMILIKAN TO SKEMA CONTROL
JENIS MELIHAT DEFINISI VW SKEMA MELIHAT DEFINISI
USER ALTER AL DATABASE MENGUBAH PENGGUNA APA PUN
USER CONTROL CL DATABASE CONTROL
USER MENIRU IM DATABASE CONTROL
USER MELIHAT DEFINISI VW DATABASE MELIHAT DEFINISI
KOLEKSI SKEMA XML ALTER AL SKEMA ALTER
KOLEKSI SKEMA XML CONTROL CL SKEMA CONTROL
KOLEKSI SKEMA XML EXECUTE EX SKEMA EXECUTE
KOLEKSI SKEMA XML REFERENCES RF SKEMA REFERENCES
KOLEKSI SKEMA XML AMBIL KEPEMILIKAN TO SKEMA CONTROL
KOLEKSI SKEMA XML MELIHAT DEFINISI VW SKEMA MELIHAT DEFINISI

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.

  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.

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)