Şema IZINLERI (Transact-SQL)
Şema izinleri verir.
GRANT permission [ ,...n ] ON SCHEMA :: schema_name
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
Bağımsız değişkenler
permission
Izin hakkı verilebilen bir şemada belirtir.Izinler listesi için bu konunun ilerleyen bölümlerindeki Açıklamalar bölümüne bakın.SCHEMA ON**::** Şema_name
Üzerinde izin verilen şema belirtir.Kapsam niteleyici :: gereklidir.database_principal
Kendisi için izin verilen anapara belirtir.Aşağıdakilerden biridir:veritabanı kullanıcısı
veritabanı rolü
uygulama rolü
Windows oturumu açma için eşlenen veritabanı kullanıcısı
bir Windows grubuna eşlenen veritabanı kullanıcısı
veritabanı kullanıcısı eşlenmiş bir sertifika
bir asimetrik anahtar eşlenen veritabanı kullanıcısı
veritabanı kullanıcısı için bir sunucu asıl adı eşleştirilmiş.
grant SEÇENEĞİ
Diğer ilkeleri için belirtilmiş izni verme yeteneğini de verilecek anapara gösterir.AS granting_principal
Bu sorguyu yürüttükten sorumlusunun izni vermek için sağ türetir içinden bir sorumlusu belirtir.Aşağıdakilerden biridir:veritabanı kullanıcısı
veritabanı rolü
uygulama rolü
Windows oturumu açma için eşlenen veritabanı kullanıcısı
bir Windows grubuna eşlenen veritabanı kullanıcısı
veritabanı kullanıcısı eşlenmiş bir sertifika
bir asimetrik anahtar eşlenen veritabanı kullanıcısı
veritabanı kullanıcısı için bir sunucu asıl adı eşleştirilmiş.
Remarks
Important Note: |
---|
Bazı durumlarda, ALTER ve REFERENCE izinlerin BIR birleşimini grantee, veri görüntülemek veya yetkisiz bir işlevi yürütmek izin verebilir.Örneğin: ALTER iznine sahip BIR kullanıcı bir tablo ve bir işlev REFERENCE iznine bir işlev hesaplanan bir sütun oluşturmak ve bunu yürütülen sağlayabilirsiniz. Bu durumda, kullanıcı hesaplanan sütun da SELECT izni olmalıdır. |
Bir veritabanı izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan düzey güvenliği sağlanabilir şemadır.Şemada bir verilebilecek en özel ve sınırlı izinleri, bunları implication tarafından içeren daha genel izinleri ile birlikte, aşağıda listelenmiştir.
Şema izinleri |
Şema izinleri tarafından örtük |
Veritabanı izinleri tarafından örtük |
---|---|---|
DENETİMİ |
DENETİMİ |
DENETİMİ |
SAHİPLİĞİ ALMA |
DENETİMİ |
DENETİMİ |
DEĞİŞTİRME |
DENETİMİ |
HERHANGİ BİR ŞEMA DEĞİŞTİRME |
yürütmek |
DENETİMİ |
yürütmek |
EKLEME |
DENETİMİ |
EKLEME |
SİLME |
DENETİMİ |
SİLME |
GÜNCELLEŞTİRME |
DENETİMİ |
GÜNCELLEŞTİRME |
SEÇİN |
DENETİMİ |
SEÇİN |
BAŞVURULARI |
DENETİMİ |
BAŞVURULARI |
GÖRÜNÜM DEĞİŞİKLİK İZLEME |
DENETİMİ |
DENETİMİ |
GÖRÜNÜM TANIMI |
DENETİMİ |
GÖRÜNÜM TANIMI |
Uyarı
Bir şema ALTER iznine sahip BIR kullanıcı için kullanıcının açıkça erişim engellendi securables dahil olmak üzere, diğer şemalarında securables erişmeye zincirleme sahipliği kullanabilirsiniz.Bu, çünkü bu nesneler için sahibi olan sorumlusu tarafından sahip olunan başvurulan nesnelerin sahipliği bypasses izinleri zincirleme denetler.Bir şema ALTER iznine sahip BIR kullanıcı, yordamlar, eşanlamlıları ve şema'nın sahibi tarafından ait olan bir görünüm oluşturabilirsiniz.Bu nesneleri (aracılığıyla sahipliği zincirleme) içindeki diğer şemalar, şema'nın sahibi tarafından sahip olunan bilgilerine erişebilirsiniz.Olanaklıysa, ALTER izninin bir şema, şema'nın sahibi de diğer şemalara sahipse verme kaçınmanız gerekir.
Örneğin, bu sorun aşağıdaki senaryolarda oluşabilir.Bu senaryolarda, bir kullanıcı U1, başvurulan S1 şemada ALTER iznine sahip olduğunu varsayalım.U1 kullanıcı T1, S2 şemada başvurulan bir tablo nesnesi, erişim engellendi.Şema S1 ve S2 şema aynı sahibi tarafından sahip olunan.
U1 kullanıcı veritabanında CREATE PROCEDURE iznine ve S1 şema üzerinde yürütmek izni vardır.Bu nedenle, U1 kullanıcı saklı yordam oluşturabilir ve daha sonra Reddedilen nesnesinde T1 saklı yordam erişim.
U1 kullanıcı veritabanında CREATE SYNONYM iznine ve S1 şemasına SELECT izni vardır.Bu nedenle, U1 kullanıcı engellendi T1 nesne için S1 şemada veri türünün eşanlamlısı oluşturabilir ve sonra engellendi nesne T1 veri türünün eşanlamlısı olarak erişmek.
U1 kullanıcı veritabanında CREATE VIEW iznine ve S1 şemasına SELECT izni vardır.Bu nedenle, U1 kullanıcı engellendi nesneden T1 sorgu veri S1 şemada bir görünüm oluşturabilir ve sonra görünümü kullanarak T1 engellendi nesne erişim.
Daha fazla bilgi için bkz: Microsoft KB makalesi numarası 914847.
İzinler
The grantor (veya anapara AS seçeneği ile belirtilen) izniyle kendisini GRANT OPTION veya izninin verilmiş anlamına gelir, daha yüksek bir izin olması gerekir.
AS seçeneğini kullanarak, bu ek gereksinimler uygulanır.
OLARAK granting_principal |
Ek izin gerekli |
---|---|
Veritabanı kullanıcısı |
Kullanıcı özelliklerini AL iznine, the db_securityadmin üyelik sabit veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sağlar. |
Windows oturumu açma için eşlenen veritabanı kullanıcısı |
Kullanıcı özelliklerini AL iznine, the db_securityadmin üyelik sabit veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sağlar. |
Bir Windows grubuna eşlenen veritabanı kullanıcısı |
Windows Grup, db_securityadmin sabit veritabanı rolü üyeliği, üyelik db_owner sabit veritabanı rolü veya sysadmin üyelik üyelikleri sabit sunucu rolü. |
Bir sertifikayla eşleştirilmiş olan veritabanı kullanıcısı |
The db_securityadmin üyelik veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sabit. |
Bir asimetrik anahtar eşlenen veritabanı kullanıcısı |
The db_securityadmin üyelik veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sabit. |
Herhangi bir sunucu sorumlusu için eşlenen veritabanı kullanıcısı |
Kullanıcı özelliklerini AL iznine, the db_securityadmin üyelik sabit veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sağlar. |
Veritabanı rolü |
Rolü, db_securityadmin sabit veritabanı rolü üyeliği, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği izni ALTER. |
Uygulama rolü |
Rolü, db_securityadmin sabit veritabanı rolü üyeliği, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği izni ALTER. |
Nesne sahipleri sahip nesneler üzerindeki izinleri verebilirsiniz.Ilkeleri, DENETIM izinle bir güvenliği sağlanabilir olabilir, iznigüvenliği sağlanabilir.
Grantees CONTROL SERVER iznine sysadmin sabit sunucu rolü olan üyeleri gibi herhangi bir izni verebilirsiniz sunucudaki güvenliği sağlanabilir.Grantees db_owner sabit veritabanı rolü üyeleri gibi bir veritabanı üzerinde DENETIM izni olan herhangi bir izin verebilirsiniz veritabanındaki güvenliği sağlanabilir.Grantees DENETIM yetkisi bir şema, şema içinde herhangi bir nesne üzerinde herhangi bir izni verebilirsiniz.
Örnekler
C.INSERT şemasına Insankaynakları için Konuk izni
GRANT INSERT ON SCHEMA :: HumanResources TO guest;
b.SELECT şemasına kişi WilJo veritabanı kullanıcısı için izni
GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;
Değişiklik Geçmişi
Güncelleştirilmiş içerik |
---|
VIEW, DEĞIŞIKLIK IZLEME izin eklendi. |
See Also