Deny Server Permissions (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Menolak izin di server.
Sintaks
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argumen
izin
Menentukan izin yang dapat ditolak pada server. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.
CASCADE
Menunjukkan bahwa izin ditolak untuk prinsipal yang ditentukan dan kepada semua prinsipal lain tempat prinsipal memberikan izin. Diperlukan saat prinsipal memiliki izin dengan GRANT OPTION.
UNTUK <server_principal>
Menentukan prinsipal tempat izin ditolak.
AS <grantor_principal>
Menentukan prinsip dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk menolak izin.
Gunakan klausul utama AS untuk menunjukkan bahwa prinsipal yang dicatat sebagai penolakan izin harus menjadi prinsipal selain orang yang menjalankan pernyataan. Misalnya, anggaplah bahwa pengguna Mary adalah principal_id 12 dan pengguna Raul adalah prinsipal 15. Maria mengeksekusi DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul;
Sekarang tabel sys.database_permissions akan menunjukkan bahwa grantor_prinicpal_id pernyataan tolak adalah 15 (Raul) meskipun pernyataan itu benar-benar dijalankan oleh pengguna 13 (Maria).
Penggunaan AS dalam pernyataan ini tidak menyiratkan kemampuan untuk meniru pengguna lain.
SQL_Server_login
Menentukan login SQL Server.
SQL_Server_login_mapped_to_Windows_login
Menentukan login SQL Server yang dipetakan ke login Windows.
SQL_Server_login_mapped_to_Windows_group
Menentukan login SQL Server yang dipetakan ke grup Windows.
SQL_Server_login_mapped_to_certificate
Menentukan login SQL Server yang dipetakan ke sertifikat.
SQL_Server_login_mapped_to_asymmetric_key
Menentukan login SQL Server yang dipetakan ke kunci asimetris.
server_role
Menentukan peran server.
Keterangan
Izin di cakupan server hanya dapat ditolak ketika database saat ini adalah master.
Informasi tentang izin server dapat dilihat dalam tampilan katalog sys.server_permissions , dan informasi tentang prinsipal server dapat dilihat dalam tampilan katalog sys.server_principals . Informasi tentang keanggotaan peran server dapat dilihat dalam tampilan katalog sys.server_role_members .
Server adalah tingkat hierarki izin tertinggi. Izin paling spesifik dan terbatas yang dapat ditolak pada server tercantum dalam tabel berikut.
Izin server | Tersirat oleh izin server |
---|---|
MENGELOLA OPERASI MASSAL | SERVER KONTROL |
MENGUBAH GRUP KETERSEDIAAN APA PUN Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini). |
SERVER KONTROL |
MENGUBAH KONEKSI APA PUN | SERVER KONTROL |
MENGUBAH KREDENSIAL APA PUN | SERVER KONTROL |
ALTER ANY DATABASE | SERVER KONTROL |
MENGUBAH TITIK AKHIR APA PUN | SERVER KONTROL |
MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN | SERVER KONTROL |
MENGUBAH SESI PERISTIWA APA PUN | SERVER KONTROL |
MENGUBAH SERVER TERTAUT APA PUN | SERVER KONTROL |
ALTER ANY LOGIN | SERVER KONTROL |
MENGUBAH AUDIT SERVER APA PUN | SERVER KONTROL |
MENGUBAH PERAN SERVER APA PUN Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini). |
SERVER KONTROL |
UBAH SUMBER DAYA | SERVER KONTROL |
UBAH STATUS SERVER | SERVER KONTROL |
UBAH PENGATURAN | SERVER KONTROL |
ALTER TRACE | SERVER KONTROL |
MENGAUTENTIKASI SERVER | SERVER KONTROL |
CONNECT ANY DATABASE Berlaku untuk: SQL Server (SQL Server 2014 (12.x) melalui versi saat ini). |
SERVER KONTROL |
SAMBUNGKAN SQL | SERVER KONTROL |
SERVER KONTROL | SERVER KONTROL |
CREATE ANY DATABASE | ALTER ANY DATABASE |
MEMBUAT GRUP KETERSEDIAAN Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini). |
MENGUBAH GRUP KETERSEDIAAN APA PUN |
MEMBUAT PEMBERITAHUAN PERISTIWA DDL | MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN |
MEMBUAT TITIK AKHIR ... | MENGUBAH TITIK AKHIR APA PUN |
BUAT PERAN SERVER Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini). |
MENGUBAH PERAN SERVER APA PUN |
MEMBUAT PEMBERITAHUAN PERISTIWA PELACAKAN | MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN |
RAKITAN AKSES EKSTERNAL | SERVER KONTROL |
MENIRU LOGIN APA PUN Berlaku untuk: SQL Server (SQL Server 2014 (12.x) melalui versi saat ini). |
SERVER KONTROL |
PILIH SEMUA PENGGUNA YANG DAPAT DIAMANKAN Berlaku untuk: SQL Server (SQL Server 2014 (12.x) melalui versi saat ini). |
SERVER KONTROL |
SHUTDOWN | SERVER KONTROL |
RAKITAN TIDAK AMAN | SERVER KONTROL |
MENAMPILKAN DATABASE APA PUN | LIHAT DEFINISI APA PUN |
LIHAT DEFINISI APA PUN | SERVER KONTROL |
LIHAT STATUS SERVER | UBAH STATUS SERVER |
Tiga izin server berikut ditambahkan di SQL Server 2014 (12.x).
SAMBUNGKAN Izin DATABASE APA PUN
Berikan CONNECT ANY DATABASE ke login yang harus tersambung ke semua database yang saat ini ada dan ke database baru apa pun yang mungkin dibuat di masa mendatang. Tidak memberikan izin apa pun dalam database apa pun di luar koneksi. Gabungkan dengan SELECT ALL USER SECURABLES atau VIEW SERVER STATE untuk memungkinkan proses audit melihat semua data atau semua status database pada instans SQL Server.
MENIRU Izin LOGIN APA PUN
Ketika diberikan, memungkinkan proses tingkat menengah untuk meniru akun klien yang terhubung ke dalamnya, karena terhubung ke database. Ketika ditolak, login dengan hak istimewa tinggi dapat diblokir agar tidak meniru login lain. Misalnya, login dengan izin CONTROL SERVER dapat diblokir agar tidak meniru login lain.
PILIH SEMUA IZIN PENGGUNA YANG DAPAT DIAMANKAN
Saat diberikan, login seperti auditor dapat melihat data di semua database yang dapat disambungkan pengguna. Ketika ditolak, mencegah akses ke objek kecuali mereka berada dalam skema sys .
Izin
Memerlukan izin CONTROL SERVER atau kepemilikan yang dapat diamankan. Jika Anda menggunakan klausul AS, prinsipal yang ditentukan harus memiliki izin yang diamankan di mana izin ditolak.
Contoh
J. Menolak izin CONNECT SQL ke login dan prinsipal SQL Server tempat login telah mencairkannya
Contoh berikut menolak CONNECT SQL
izin ke login Annika
SQL Server dan ke prinsipal tempat dia telah memberikan izin.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Menolak izin CREATE ENDPOINT ke login SQL Server menggunakan opsi AS
Contoh berikut menolak CREATE ENDPOINT
izin kepada pengguna ArifS
. Contoh menggunakan AS
opsi untuk menentukan MandarP
sebagai prinsipal tempat prinsipal yang mengeksekusi memperoleh otoritas untuk melakukannya.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Lihat Juga
GRANT (T-SQL)
TOLAK (Transact-SQL)
Deny Server Permissions (Transact-SQL)
MENCABUT Izin Server (Transact-SQL)
Hierarki Izin (Mesin Database)
sys.fn_builtin_permissions (T-SQL)
sys.fn_my_permissions (T-SQL)
HAS_PERMS_BY_NAME (T-SQL)