DENY Database Principal Permissions (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Menolak izin yang diberikan pada pengguna database, peran database, atau peran aplikasi di SQL Server.
Sintaks
DENY permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Argumen
izin
Menentukan izin yang dapat ditolak pada prinsipal database. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.
USER ::database_user
Menentukan kelas dan nama pengguna tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.
PERAN ::database_role
Menentukan kelas dan nama peran tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.
PERAN APLIKASI ::application_role
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database.
Menentukan kelas dan nama peran aplikasi tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.
CASCADE
Menunjukkan bahwa izin yang ditolak juga ditolak untuk prinsipal lain yang telah diberikan oleh prinsipal ini.
AS <database_principal>
Menentukan prinsipal dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk mencabut izin.
Database_user
Menentukan pengguna database.
Database_role
Menentukan peran database.
Application_role
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database.
Menentukan peran aplikasi.
Database_user_mapped_to_Windows_User
Menentukan pengguna database yang dipetakan ke pengguna Windows.
Database_user_mapped_to_Windows_Group
Menentukan pengguna database yang dipetakan ke grup Windows.
Database_user_mapped_to_certificate
Menentukan pengguna database yang dipetakan ke sertifikat.
Database_user_mapped_to_asymmetric_key
Menentukan pengguna database yang dipetakan ke kunci asimetris.
Database_user_with_no_login
Menentukan pengguna database tanpa prinsipal tingkat server yang sesuai.
Keterangan
Izin Pengguna Database
Pengguna database adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat ditolak pada pengguna database tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin pengguna database | Tersirat oleh izin pengguna database | Tersirat oleh izin database |
---|---|---|
CONTROL | CONTROL | CONTROL |
MENIRU | CONTROL | CONTROL |
ALTER | CONTROL | MENGUBAH PENGGUNA APA PUN |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin Peran Database
Peran database adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat ditolak pada peran database tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin peran database | Tersirat oleh izin peran database | Tersirat oleh izin database |
---|---|---|
CONTROL | CONTROL | CONTROL |
AMBIL KEPEMILIKAN | CONTROL | CONTROL |
ALTER | CONTROL | MENGUBAH PERAN APA PUN |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin Peran Aplikasi
Peran aplikasi adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat ditolak pada peran aplikasi tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin peran aplikasi | Tersirat oleh izin peran aplikasi | Tersirat oleh izin database |
---|---|---|
CONTROL | CONTROL | CONTROL |
ALTER | CONTROL | MENGUBAH PERAN APLIKASI APA PUN |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin
Memerlukan izin CONTROL pada prinsipal yang ditentukan, atau izin yang lebih tinggi yang menyiratkan izin CONTROL.
Pemberi izin CONTROL pada database, seperti anggota peran database tetap db_owner, dapat menolak izin apa pun pada setiap yang dapat diamankan dalam database.
Contoh
J. Menolak izin CONTROL pada pengguna ke pengguna lain
Contoh berikut menolak CONTROL
izin pada pengguna Wanida
AdventureWorks2022 kepada pengguna RolandX
.
USE AdventureWorks2022;
DENY CONTROL ON USER::Wanida TO RolandX;
GO
B. Menolak izin LIHAT DEFINISI pada peran kepada pengguna yang diberikannya dengan GRANT OPTION
Contoh berikut menolak VIEW DEFINITION
izin pada peran SammamishParking
AdventureWorks2022 kepada pengguna JinghaoLiu
database . Opsi CASCADE
ditentukan karena pengguna JinghaoLiu
diberi izin LIHAT DEFINISI DENGAN OPSI GRANT.
USE AdventureWorks2022;
DENY VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu CASCADE;
GO
C. Menolak izin IMPERSONATE pada pengguna ke peran aplikasi
Contoh berikut menolak IMPERSONATE
izin pada pengguna HamithaL
ke peran AccountsPayable17
aplikasi AdventureWorks2022 .
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database.
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Lihat Juga
IZIN Utama Grant Database (Transact-SQL)
MENCABUT Izin Utama Database (Transact-SQL)
sys.database_principals (T-SQL)
sys.database_permissions (T-SQL)
CREATE USER (Transact-SQL)
MEMBUAT PERAN APLIKASI (Transact-SQL)
BUAT PERAN (Transact-SQL)
GRANT (T-SQL)
Izin (Mesin Database)
Prinsipal (Mesin Database)