Yürütme içeriği anlama
Yürütme içeriği kullanıcı veya oturum açma oturumuna bağlı tarafından belirlenen veya yürütme (arama) bir modül.Kimlik için hangi izinlerin karşı kurar yürütmek ifadeleri gerçekleştirmek veya Eylemler denetlenir.Yürütme içeriği güvenlik belirteçlerini çifti tarafından temsil edilir: oturum belirteci ve kullanıcı belirteci.Simgeleri, hangi izinlerin denetlenir ve belirtecin kimliğini doğrulamak için kullanılan kaynak karşı birincil ve ikincil kimliklerini tanımlamak.Bağlanan bir oturum bir örnek , SQL Server sahip bir oturum açma token ve bir veya daha fazla kullanıcı simgeleri, hesabı olan Access veritabanlarının sayısına bağlı olarak
Kullanıcı veya oturum açma güvenlik belirteçleri
Bir kullanıcı veya oturum açma için bir güvenlik belirteci aşağıdakileri içerir:
Bir sunucu veya veritabanı sorumlusu olarak birincil kimlik
Bir veya daha fazla ikincil kimlikleri sorumluları
Sıfır veya daha çok kimlik doğrulayan
Ayrıcalıkları ve izinleri altında birincil ve ikincil kimlikleri
Sorumluları olan kişilere, gruplara ve isteyebileceği işlemleri SQL Server kaynaklar.Sorumluları, kendi etki kapsam kategorize edilir: Windows düzey SQL Server düzey veya veritabanı düzey.Daha fazla bilgi için bkz: Sorumluları (veritabanı altyapısı).
Doğrulayıcı sorumluları, sertifikalar veya asimetrik anahtarlar için belirteç özgünlüğünü vouch olur.Sık sık, bir belirteç doğrulayıcı olan örnek , SQL Server.Doğrulayıcı hakkında daha fazla bilgi için bkz: execute as kullanarak veritabanı kimliğe bürünme genişletme.Sertifikaları ve asimetrik anahtarları hakkında daha fazla bilgi için bkz: Şifreleme hiyerarşisi.
örnek oturum açma token geçerli olduğu SQL Server.Sunucu düzeyinde izinler ve bu kimlikleri ile ilişkili veritabanı düzey izinler hangi karşı denetlenir birincil ve ikincil kimlikleri var.Login birincil kimliktir.İkincil kimlik rolleri ve gruplar devralınan izinleri içerir.
Kullanıcı simgesi yalnızca belirli bir veritabanı için geçerli değil.Hangi veritabanı - karşı birincil ve ikincil kimlikleri içerendüzey izinleri denetlenir.Veritabanı kullanıcı birincil kimliktir.İkincil kimlik veritabanı rollerini devralınan izinleri içerir.Kullanıcı simgeleri için sunucu düzey izni olanlar da dahil olmak üzere belirteçteki kimlikleri için sunucu düzeyinde izinleri düzenleyeni ve sunucu rol üyelikleri içeren public rolü.
Yoksa bir SQL Server oturum açma veya kullanıcı hesabı oluşturuldu açıkça, için oluşturulan hesabı oturum açma veya kullanıcı belirteci birincil kimlik olarak kullanılan oturum açma veya kullanıcı kimliğiNe zaman bir sorumlusunun erişebileceğini örtülü bir örnek , SQL Server, veya varsayılan oturum belirteci, birincil kimlik denetimi sunucusu izinleri aracılığıyla bir veritabanına erişimi olan public rolü.Kullanıcı belirteci, birincil kimliktir public.
Önemli |
---|
Üyeleri sysadmin her zaman sabit sunucu rolü olan dbo olarak birincil kimliğini kendi kullanıcı belirteci. |
Oturum açma Token örneği
Mary has a SQL Server login that is mapped to her Windows account MyDomain\Mary.Her için oluşturulan oturum belirteci bilgilerini görüntülemek, Mary bu çalışan için deyim:
SELECT principal_id, sid, name, type, usage FROM sys.login_token;
GO
Sonuç küme için bunu gibi görünebilir:
principal_id sid name type usage
------------ ----------- ------------- -------------- -------------
261 0x583EA MyDomain\Mary WINDOWS LOGIN GRANT OR DENY
2 0x02 public SERVER ROLE GRANT OR DENY
(2 row(s) affected)
Windows hesabına için Mary her oturum belirteci birincil kimlik olduğunu gösterir sonuç küme.The principal_id created when her login account was created is used as the primary principal_id in the login token.The public role is listed as a secondary identity, because Mary is a member of that default role.Mary, diğer sunucu - üye olsaydıdüzey rolleri, bunlar da ikincil kimlikleri listelenir.En saat oturumu oluşturuldu, kendi Windows hesabı örnek tarafından doğrulandı SQL Server.Bu nedenle, Mary açtığında içine örnek , SQL Server, örnek doğrulayıcıdır kendi oturum açma token.Çünkü örnek SQL Server olan Mary'nin oturum belirteci, patron, sertifika veya asimetrik anahtar gibi bir kimlik doğrulayıcı Doğrulayıcı, değil de döndürdüsorgu.
Kullanıcı Token örneği
Mary Gönül erişimi olan her veritabanı için bir kullanıcı simgesi var.Bu ilk örnekte, Mary bağlı master veritabanı.Her için oluşturulan kullanıcı belirteci hakkındaki bilgileri görüntülemek için master veritabanı, Mary, bu deyim çalıştırır:
SELECT principal_id, sid, name, type, usage FROM sys.user_token;
GO
Sonuç küme için bunu gibi görünebilir:
principal_id sid name type usage
------------ ----------- ------------- -------------- -------------
2 NULL guest SQL USER GRANT OR DENY
0 NULL public ROLE GRANT OR DENY
(2 row(s) affected)
sonuç küme Mary, kullanıcı açıkça olmadığını gösterir master veritabanı, ancak bunun yerine üzerinden erişimi olan guest hesabı.Kendi kullanıcı belirteci birincil kimliktir guest kullanıcı.The public role is listed as a secondary identity, because guest is a member of that default role.Kullanıcı simgesi Mary için master veritabanını içeren tüm veritabanı -düzey ayrıcalıkları ve izinleri için guest kullanıcı ve public rolü.
Aşağıdaki örnekte, bir açık kullanıcı hesabına için Mary de oluşturulan Sales veritabanı.Ayrıca, Gönül eklenen db_ddladmin sabit veritabanı rolü için veritabanı.İle Sales Mary geçerli veritabanı olarak çalışan SELECT * FROM sys.user_token yeniden.
Sonuç küme için bunu gibi görünebilir:
principal_id sid name type usage
------------ ----------- ------------- -------------- -------------
5 0x36CC4BBD1 Mary SQL USER GRANT OR DENY
0 NULL public ROLE GRANT OR DENY
16387 NULL db_ddladmin ROLE GRANT OR DENY
Bu sonuç küme Mary için oluşturulan kullanıcı belirteci yansıtan Sales veritabanı.Mary açıkça bir kullanıcıya eklendiğinden Sales veritabanı, Gönül birincil kimlik. listelenenFiliz üye olan iki rolü ikincil kimlikleri listelenir.Mary'nin kullanıcı belirtecinin kimlik doğrulayıcıdır örnek , SQL Server.
Yürütme içeriği değiştirme
De SQL Server, bir oturumun yürütme içeriği bir execute as kullanıcı veya oturum açma adı belirterek açıkça değiştirilebilir deyim.Saklı yordam, tetikleyici veya kullanıcı tanımlı bir işlev gibi bir modül yürütme içeriği bir execute as kullanıcı veya oturum açma adı belirterek örtülü olarak değiştirilebilir yan tümce tümce tümcesinde modülü tanımı.Yürütme içeriği başka bir kullanıcı veya oturum açma geçildiğinde, sql Server izinlerini o hesabı için oturum açma ve kullanıcı simgeleri karşı denetler.Esas olarak, bu hesaba oturum veya modül yürütme süresi için bürünülür.Daha fazla bilgi için bkz: İçerik Geçişi anlama.
Ayrıca bkz.