Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft 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.
USER ::database_user
İznin reddedildiği kullanıcının sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.
ROLE ::database_role
İznin reddedildiği rolün sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.
APPLICATION ROLE ::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 | HERHANGI BIR USER DEĞIŞTIRME |
| VIEW TANIMI | CONTROL | VIEW TANIMI |
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 ROLE DEĞIŞTIRME |
| VIEW TANIMI | CONTROL | VIEW TANIMI |
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 | HERHANGI BIR APPLICATION ROLE DEĞIŞTIRME |
| VIEW TANIMI | CONTROL | VIEW TANIMI |
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. Bir rolü OPTION ile verilen bir kullanıcıya VIEW DEFINITION izninin reddedilmesi GRANT
Aşağıdaki örnek, VIEW DEFINITION veritabanı kullanıcısına SammamishParkingAdventureWorks2025 rolünde JinghaoLiu izin verilmemektedir. Bu CASCADE seçenek, kullanıcıya JinghaoLiuVIEW SEÇEKLİ TANIM izni GRANT verildiği için belirtilmiştir.
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
İlgili içerik
- GRANT Veritabanı Ana İzinleri (Transact-SQL)
- REVOKE Veritabanı Ana İzinleri (Transact-SQL)
- sys.database_principals (Transact-SQL)
- sys.database_permissions (Transact-SQL)
- CREATE USER (Transact-SQL)
- CREATE APPLICATION ROLE (Transact-SQL)
- CREATE ROLE (Transact-SQL)
- GRANT (Transact-SQL)
- İzinler (Veritabanı Altyapısı)
- Sorumluları (Veritabanı Altyapısı)