grant veritabanı asıl izinler (Transact-SQL)
Bir veritabanı kullanıcısı, veritabanı rolüya da uygulama rolüizinleri verir.
Sözdizimi
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ 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
Bağımsız değişkenler
permission
Verilebilir izni üzerinde veritabanı asıl adı belirtir.İzinler listesi için bu bölümdeki açıklamalar bölümüne bakın.USER ::database_user
Sınıf ve izin verilen kullanıcının adını belirtir.niteleyici kapsam(:) gereklidir.ROLE ::database_role
Sınıf ve izin verilen rolün adını belirtir.niteleyici kapsam(:) gereklidir.Uygulama ROLÜ :application_role
Sınıf ve izin verilen uygulama rolü adını belirtir.niteleyici kapsam(:) gereklidir.GRANT SEÇENEĞİ İLE
Patron da diğer ilkeleri için belirtilmiş izni vermek olanağı verilir gösterir.as <database_principal>
Bu sorguyu yürüttükten sorumlusunun izni vermek için kendi sağ türetir içinden asıl adı belirtir.Database_user
Bir veritabanı kullanıcı belirtir.Database_role
veritabanı rolübelirtir.Application_role
Bir uygulama rolübelirtir.Database_user_mapped_to_Windows_User
Bir Windows kullanıcısı eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_Windows_Group
Bir Windows grubu eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_certificate
Bir sertifikaeşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_asymmetric_key
Bir asimetrik anahtareşlenen veritabanı kullanıcı belirtir.Database_user_with_no_login
Hiçbir karşılık gelen sunucudüzey ile asıl veritabanı kullanıcı belirtir.
Açıklamalar
Veritabanı sorumluları hakkında bilgi görünür sys.database_principals Katalog görünümü.Veritabanı -düzey izinler hakkında bilgi görünür sys.database_permissions Katalog görünümü.
Veritabanı kullanıcı izinleri
Veritabanı izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzey güvenliği sağlanabilir olduğu.Bir veritabanı kullanıcı verilebilecek en belirli ve sınırlı izinleri, aşağıdaki tablo, bunların patentlerini tarafından dahil daha genel izinleri ile birlikte listelenir.
Veritabanı kullanıcı izni |
Veritabanı kullanıcı izni tarafından örtülü |
Veritabanı izni tarafından örtülü |
---|---|---|
DENETİM |
DENETİM |
DENETİM |
TAKLİT |
DENETİM |
DENETİM |
ALTER |
DENETİM |
HERHANGİ BİR KULLANICI DEĞİŞTİREBİLİR |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
Veritabanı rolü izinleri
veritabanı rolü izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzeygüvenliği sağlanabilir ' dir. veritabanı rolü verilebilecek en belirli ve sınırlı izinleri, aşağıdaki tablo, bunların patentlerini tarafından dahil daha genel izinleri ile birlikte listelenir.
Veritabanı rolü izni |
Örtülü veritabanı rolü izni |
Veritabanı izni tarafından örtülü |
---|---|---|
DENETİM |
DENETİM |
DENETİM |
SAHİPLİĞİ |
DENETİM |
DENETİM |
ALTER |
DENETİM |
HER ROLE ALTER |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
Uygulama rolü izinleri
Bir uygulama rolü izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzey güvenliği sağlanabilir kullanılır.Bir uygulama rolü verilebilecek en belirli ve sınırlı izinleri bunların patentlerini tarafından dahil daha genel izinleri ile birlikte aşağıdaki listelenmiştir.
Uygulama rolü izni |
Örtülü uygulama rolü izni |
Veritabanı izni tarafından örtülü |
---|---|---|
DENETİM |
DENETİM |
DENETİM |
ALTER |
DENETİM |
HERHANGİ BİR UYGULAMA ROLÜNE ALTER |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
İzinler
Grantor (veya as seçeneği ile belirtilen sorumlusunun) izniyle kendisini grant seçeneği ya da verilen izindir anlamına gelir daha yüksek bir izin olması gerekir.
as seçeneği kullanıyorsanız, aşağıdaki ek gereksinimler Uygula.
ASgranting_principal |
Ek izin gerekiyor |
---|---|
Veritabanı kullanıcı |
Kullanıcı, üyelik özelliklerini Al izni db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Bir Windows kullanıcısı eşlenen veritabanı kullanıcı |
Kullanıcı, üyelik özelliklerini Al izni db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Bir Windows grubu eşlenen veritabanı kullanıcı |
Üyelik Windows Grup üyeliği db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Bir sertifikaeşlenen veritabanı kullanıcı |
Üyelik db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Bir asimetrik anahtareşlenen veritabanı kullanıcı |
Üyelik db_securityadminveritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Herhangi bir sunucu asıl değil eşlenen veritabanı kullanıcı |
Kullanıcı, üyelik özelliklerini Al izni db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Veritabanı rolü |
Rol üyeliği üzerinde alter iznine db_securityadminveritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Uygulama rolü |
Rol üyeliği üzerinde alter iznine db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü. |
Bir güvenliği sağlanabilir üzerinde Denetim iznine sahip ilkeleri, güvenliği sağlanabilirüzerinde izni verebilirsiniz.
Üyeleri gibi bir veritabanı üzerinde denetim izni grantees db_owner veritabanı rolü, sabit herhangi güvenliği sağlanabilir veritabanında bulunan herhangi bir izni vermek
Örnekler
A.Başka bir kullanıcı bir kullanıcı üzerinde denetim izni verme
Aşağıdaki örnek verir CONTROL izni AdventureWorks2008R2 kullanıcı Wanida kullanıcı RolandX.
USE AdventureWorks2008R2;
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B.grant seçeneği ile kullanıcıya rol üzerinde görünüm TANIMI izni verme
Aşağıdaki örnek verir VIEW DEFINITION izni AdventureWorks2008R2 Rol SammamishParking ile birlikte GRANT OPTION veritabanı kullanıcı JinghaoLiu.
USE AdventureWorks2008R2;
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C.Bir uygulama rolükullanıcıya özelliklerini Al izni verme
Aşağıdaki örnek verir IMPERSONATE kullanıcı izni HamithaL için AdventureWorks2008R2 uygulama rolü AccountsPayable17.
USE AdventureWorks2008R2;
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Ayrıca bkz.