Aracılığıyla paylaş


DENY Veritabanı Asıl İzinleri (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

SQL Server'da veritabanı kullanıcısı, veritabanı rolü veya uygulama rolü üzerinde verilen izinleri reddeder.

Transact-SQL söz dizimi kuralları

Syntax

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   

Arguments

permission
Veritabanı sorumlusunda reddedilebilen bir izin belirtir. İzinlerin listesi için bu konunun devamındaki Açıklamalar bölümüne bakın.

KULLANICI ::database_user
İznin reddedildiği kullanıcının sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.

ROL ::database_role
İznin reddedildiği rolün sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.

UYGULAMA ROLÜ ::application_role
Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri, SQL Veritabanı.

İznin reddedildiği uygulama rolünün sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.

CASCADE
Reddedilen iznin, bu sorumlu tarafından verildiği diğer sorumlulara da reddedildiğini gösterir.

AS <database_principal>
Bu sorguyu yürüten sorumlunun izni iptal etme hakkını türetdiği bir sorumlu belirtir.

Database_user
Veritabanı kullanıcılarını belirtir.

Database_role
Bir veritabanı rolü belirtir.

Application_role
Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri, SQL Veritabanı.

Bir uygulama rolü belirtir.

Database_user_mapped_to_Windows_User
Windows kullanıcısına eşlenen bir veritabanı kullanıcısını belirtir.

Database_user_mapped_to_Windows_Group
Bir Windows grubuna eşlenen veritabanı kullanıcısını belirtir.

Database_user_mapped_to_certificate
Bir sertifikayla eşlenen veritabanı kullanıcısını belirtir.

Database_user_mapped_to_asymmetric_key
Asimetrik anahtara eşlenmiş bir veritabanı kullanıcısı belirtir.

Database_user_with_no_login
Karşılık gelen sunucu düzeyi sorumlusu olmayan bir veritabanı kullanıcısı belirtir.

Remarks

Veritabanı Kullanıcı İzinleri

Veritabanı kullanıcısı, izinler hiyerarşisinde üst öğesi olan veritabanı tarafından kapsanan veritabanı düzeyinde güvenli hale getirilebilir bir kullanıcıdır. Bir veritabanı kullanıcısında reddedilebilen en özel ve sınırlı izinler aşağıdaki tabloda listelenmiştir ve bunları ima yoluyla içeren daha genel izinlerle birlikte listelenmiştir.

Veritabanı kullanıcı izni Veritabanı kullanıcı izniyle örtülü Veritabanı izniyle örtülü
CONTROL CONTROL CONTROL
IMPERSONATE CONTROL CONTROL
ALTER CONTROL KULLANICIYI DEĞİŞTİR
TANıMı GÖRÜNTÜLE CONTROL TANıMı GÖRÜNTÜLE

Veritabanı Rolü İzinleri

Veritabanı rolü, izinler hiyerarşisinde üst öğesi olan veritabanı tarafından kapsanan veritabanı düzeyinde güvenli hale getirilebilir bir roldür. Bir veritabanı rolünde reddedilebilen en özel ve sınırlı izinler, bunları ima yoluyla içeren daha genel izinlerle birlikte aşağıdaki tabloda listelenmiştir.

Veritabanı rolü izni Veritabanı rolü izniyle örtülü Veritabanı izniyle örtülü
CONTROL CONTROL CONTROL
SAHIPLENMEK CONTROL CONTROL
ALTER CONTROL HERHANGI BIR ROLÜ DEĞIŞTIRME
TANıMı GÖRÜNTÜLE CONTROL TANıMı GÖRÜNTÜLE

Uygulama Rolü İzinleri

Uygulama rolü, izinler hiyerarşisinde üst öğesi olan veritabanı tarafından kapsanan veritabanı düzeyinde güvenli hale getirilebilir bir roldür. Bir uygulama rolünde reddedilebilen en özel ve sınırlı izinler aşağıdaki tabloda listelenmiştir ve bunları ima yoluyla içeren daha genel izinlerle birlikte listelenmiştir.

Uygulama rolü izni Uygulama rolü izniyle örtülü Veritabanı izniyle örtülü
CONTROL CONTROL CONTROL
ALTER CONTROL TÜM UYGULAMA ROLLERINI DEĞIŞTIRME
TANıMı GÖRÜNTÜLE CONTROL TANıMı GÖRÜNTÜLE

Permissions

Belirtilen sorumlu üzerinde CONTROL izni veya CONTROL izni anlamına gelen daha yüksek bir izin gerektirir.

Db_owner sabit veritabanı rolünün üyeleri gibi bir veritabanında CONTROL izni verilmesi, veritabanındaki güvenli hale getirilebilir herhangi bir izin için herhangi bir izni reddedebilir.

Examples

A. Bir kullanıcı üzerinde başka bir kullanıcıya DENETIM iznini reddetme

Aşağıdaki örnek, CONTROL AdventureWorks2025 kullanıcısına Wanida izinsizliği RolandXreddediyor.

USE AdventureWorks2022;  
DENY CONTROL ON USER::Wanida TO RolandX;  
GO  

B. GRANT OPTION ile kendisine verilen bir rol üzerinde VIEW DEFINITION iznini reddetme

Aşağıdaki örnek, VIEW DEFINITION veritabanı kullanıcısına SammamishParkingAdventureWorks2025 rolünde JinghaoLiu izin verilmemektedir. Kullanıcıya CASCADEJinghaoLiu GRANT OPTION ile VIEW DEFINITION izni verildiğinden bu seçenek belirtilir.

USE AdventureWorks2022;  
DENY VIEW DEFINITION ON ROLE::SammamishParking   
    TO JinghaoLiu CASCADE;  
GO  

C. Kullanıcı üzerinde kimliğe bürünme iznini uygulama rolüne reddetme

Aşağıdaki örnek, IMPERSONATE kullanıcının HamithaL AdventureWorks2025 uygulama rolüne AccountsPayable17izin verilmemesini reddeder.

Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri, SQL Veritabanı.

USE AdventureWorks2022;  
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;  
GO    

Ayrıca Bkz.

GRANT Veritabanı Asıl İzinleri (Transact-SQL)
REVOKE Veritabanı Asıl İzinleri (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
KULLANICI OLUŞTUR (Transact-SQL)
UYGULAMA ROLÜ OLUŞTURMA (Transact-SQL)
ROL OLUŞTUR (Transact-SQL)
HİBE (Transact-SQL)
İzinler (Veritabanı Altyapısı)
Sorumluları (Veritabanı Altyapısı)