Deny Server Principal Permissions (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Menolak izin yang diberikan pada login SQL Server.
Sintaks
DENY permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
| server_role
Argumen
izin
Menentukan izin yang dapat ditolak pada login SQL Server. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.
LOGIN :: SQL_Server_login
Menentukan login SQL Server tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.
PERAN SERVER :: server_role
Menentukan peran server tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.
UNTUK <server_principal>
Menentukan peran masuk atau server SQL Server tempat izin diberikan.
UNTUK SQL_Server_login
Menentukan login SQL Server tempat izin ditolak.
SQL_Server_login
Menentukan nama login SQL Server.
SQL_Server_login_from_Windows_login
Menentukan nama login SQL Server yang dibuat dari login Windows.
SQL_Server_login_from_certificate
Menentukan nama login SQL Server yang dipetakan ke sertifikat.
SQL_Server_login_from_AsymKey
Menentukan nama login SQL Server yang dipetakan ke kunci asimetris.
server_role
Menentukan nama peran server.
CASCADE
Menunjukkan bahwa izin yang ditolak juga ditolak untuk prinsipal lain yang telah diberikan oleh prinsipal ini.
AS SQL_Server_login
Menentukan login SQL Server tempat prinsipal menjalankan kueri ini memperoleh haknya untuk menolak izin.
Keterangan
Izin di cakupan server hanya dapat ditolak ketika database saat ini adalah master.
Informasi tentang izin server tersedia dalam tampilan katalog sys.server_permissions . Informasi tentang prinsipal server tersedia dalam tampilan katalog sys.server_principals .
Pernyataan DENY gagal jika CASCADE tidak ditentukan ketika Anda menolak izin ke prinsipal yang diberikan izin tersebut dengan GRANT OPTION.
Login SQL Server dan peran server adalah keamanan tingkat server. Izin paling spesifik dan terbatas yang dapat ditolak pada login SQL Server atau peran server tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Masuk SQL Server atau izin peran server | Tersirat oleh login SQL Server atau izin peran server | Tersirat oleh izin server |
---|---|---|
CONTROL | CONTROL | SERVER KONTROL |
MENIRU | CONTROL | SERVER KONTROL |
MELIHAT DEFINISI | CONTROL | LIHAT DEFINISI APA PUN |
ALTER | CONTROL | ALTER ANY LOGIN MENGUBAH PERAN SERVER APA PUN |
Izin
Untuk masuk, memerlukan izin CONTROL pada izin masuk atau UBAH LOGIN APA PUN di server.
Untuk peran server, memerlukan izin CONTROL pada peran server atau mengubah izin PERAN SERVER APA PUN di server.
Contoh
J. Menolak izin IMPERSONATE pada login
Contoh berikut menolak IMPERSONATE
izin pada login WanidaBenshoof
SQL Server ke login SQL Server yang dibuat dari pengguna AdvWorks\YoonM
Windows .
USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO
B. Menolak izin LIHAT DEFINISI dengan CASCADE
Contoh berikut menolak VIEW DEFINITION
izin pada login EricKurjan
SQL Server ke login RMeyyappan
SQL Server . Opsi CASCADE
menunjukkan bahwa VIEW DEFINITION
izin pada juga akan ditolak EricKurjan
untuk prinsipal yang RMeyyappan
memberikan izin ini.
USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
CASCADE;
GO
C. Menolak izin LIHAT DEFINISI pada peran server
Contoh berikut menolak VIEW DEFINITION
Sales
peran server ke Auditors
peran server.
USE master;
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
Lihat Juga
sys.server_principals (T-SQL)
sys.server_permissions (T-SQL)
IZIN Utama Server GRANT (Transact-SQL)
MENCABUT Izin Utama Server (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Prinsipal (Mesin Database)
Izin (Mesin Database)
Fungsi Keamanan (T-SQL)
Prosedur Tersimpan Keamanan (Transact-SQL)