Aracılığıyla paylaş


Şeması izinleri (Transact-SQL)

Bir şema izinleri verir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

GRANT permission  [ ,...n ] ON SCHEMA :: schema_name
    TO database_principal [ ,...n ]
    [ WITH GRANT OPTION ]
    [ AS granting_principal ]

Bağımsız değişkenler

  • permission
    Verilebilir izni bir şema belirtir.İzinler listesi için bu konunun ilerisinde açıklamalar bölümüne bakın...

  • AÇIK ŞEMASI : şema_name
    İzin verilen şema belirtir.niteleyici kapsam**:** gereklidir.

  • database_principal
    İzni verilmiş asıl adı belirtir.Aşağıdakilerden biri:

    • Veritabanı kullanıcı

    • veritabanı rolü

    • uygulama rolü

    • Windows oturumu açma eşlenen veritabanı kullanıcı

    • bir Windows grubu eşlenen veritabanı kullanıcı

    • bir sertifikaeşlenen veritabanı kullanıcı

    • bir asimetrik anahtareşlenen veritabanı kullanıcı

    • veritabanı kullanıcısı için bir sunucu asıl adı eşlenen değil.

  • GRANT SEÇENEĞİ
    Patron da diğer ilkeleri için belirtilmiş izni vermek olanağı verilir gösterir.

  • ASgranting_principal
    Bu sorguyu yürüttükten sorumlusunun izni vermek için kendi sağ türetir içinden asıl adı belirtir.Aşağıdakilerden biri:

    • Veritabanı kullanıcı

    • veritabanı rolü

    • uygulama rolü

    • Windows oturumu açma eşlenen veritabanı kullanıcı

    • bir Windows grubu eşlenen veritabanı kullanıcı

    • bir sertifikaeşlenen veritabanı kullanıcı

    • bir asimetrik anahtareşlenen veritabanı kullanıcı

    • veritabanı kullanıcısı için bir sunucu asıl adı eşlenen değil.

Açıklamalar

Önemli notÖnemli

Bazı durumlarda alter ve başvuru izinleri birleşimi görüntülemek üzere grantee izin verebilir veri veya yürütmek işlevleri yetkisiz.Örneğin: tablo üzerinde alter iznine ve işlev başvuru izni olan bir kullanıcı, hesaplanmış bir sütun üzerinde bir işlev oluşturun ve bu yürütülebilir.Bu durumda, kullanıcı de hesaplanmış bir sütunüzerinde select izni olmalıdır.

Bir şema izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzey güvenliği sağlanabilir ' dir.Bir şema üzerinde verilebilecek en belirli ve sınırlı izinleri, bunların patentlerini tarafından dahil daha genel izinleri ile birlikte, aşağıda listelenmiştir.

Şema izni

Şema izni tarafından örtülü

Veritabanı izni tarafından örtülü

DENETİM

DENETİM

DENETİM

SAHİPLİĞİ

DENETİM

DENETİM

ALTER

DENETİM

HERHANGİ BİR ŞEMA ALTER

YÜRÜTME

DENETİM

YÜRÜTME

EKLE

DENETİM

EKLE

SİL

DENETİM

SİL

GÜNCELLEŞTİRME

DENETİM

GÜNCELLEŞTİRME

SEÇİN

DENETİM

SEÇİN

BAŞVURULAR

DENETİM

BAŞVURULAR

GÖRÜNÜM DEĞİŞİKLİK İZLEME

DENETİM

DENETİM

VIEW DEFINITION

DENETİM

VIEW DEFINITION

Dikkat notuDikkat

Bir şema üzerinde alter iznine sahip bir kullanıcı için kullanıcının açıkça erişim engellendi güvenli hale Getirilebilenler dahil olmak üzere, diğer şemalardaki güvenli hale Getirilebilenler erişmek için zincirleme sahipliği kullanabilirsiniz.Atlanan izinleri zincirleme sahipliği başvurmak nesnelerin sahibi patron tarafından sahip olunan, başvurulan nesneler üzerinde denetler olmasıdır.Bir şema üzerinde alter iznine sahip bir kullanıcı yordamları ve eşanlamlı şema sahibe ait görünümler oluşturabilirsiniz.Bu nesneler şema sahibe ait diğer şemalardaki bilgileri (aracılığıyla sahiplik zincirleme) erişim gerekecek.Mümkün olduğunda, diğer şemalar şema sahibi de sahipse bir şema üzerinde alter iznine vererek kaçınmalısınız.

Örneğin, bu sorun aşağıdaki senaryolarda oluşabilir.Bu senaryolar, U1 adlandırılan bir kullanıcı S1 şema üzerinde alter iznine sahip olduğunu varsayalım.U1 kullanıcı şema S2 T1 adlandırılan bir tablo nesnesi erişim reddedildi.Şema S1 ve S2 şema aynı sahibi tarafından sahip olunan.

U1 kullanıcının create procedure izni veritabanında ve S1 şema üzerinde execute izni vardır.Bu nedenle, U1 kullanıcı bir saklı yordamoluşturun ve reddedilen nesnesinde T1 saklı yordamerişim.

U1 kullanıcı EŞANLAMLI oluşturma izni veritabanında ve S1 şema üzerinde select iznine sahiptir.Bu nedenle, U1 kullanıcı reddedilen nesnenin T1 S1 Þemada veri türünün eşanlamlısı oluşturmak ve sonra Reddedilen nesne T1 eş kullanarak erişim.

U1 kullanıcı veritabanında create VIEW izni ve S1 şema üzerinde select iznine sahiptir.Bu nedenle, U1 kullanıcı bir görünüm S1 şema verilerini sorgulamak engellenen nesneden T1 oluşturabilir ve sonra T1 reddedilen nesnenin görünümünü kullanarak erişim.

Daha fazla bilgi için bkz: Microsoft kb makale numarasını 914847.

İ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ğini kullanarak, bu 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ü.

Windows oturumu açma 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_securityadmin veritabanı 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_securityadmin veritabanı 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ü.

Nesne sahipleri sahip oldukları nesnelerdeki izinleri verebilirsiniz.Bir güvenliği sağlanabilir üzerinde Denetim iznine sahip ilkeleri, güvenliği sağlanabilirüzerinde izni verebilirsiniz.

Üyeleri gibi control server izni grantees sysadmin sabit sunucu rolü, bir güvenliği sağlanabilir Server üzerinde herhangi bir izni vermek.Ü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 vermekBir şema üzerinde control izni grantees herhangi bir şema içinde herhangi bir nesne üzerinde izni verebilirsiniz.

Örnekler

A.Konuk için şema HumanResources ekleme yetkisi verme

GRANT INSERT ON SCHEMA :: HumanResources TO guest;

B.Veritabanı kullanıcı WilJo şema kişi üzerinde select izni verme

GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;