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
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Bir sorumluya güvenli hale getirilebilir izinler verir. Genel kavram GRANT <some permission> ON <some object> TO <some user, login, or group>. İzinlerin genel bir tartışması için bkz. İzinler (Veritabanı Altyapısı).
Transact-SQL söz dizimi kuralları
Syntax
SQL Server, Azure SQL Veritabanı ve Doku SQL veritabanı için söz dizimi.
-- Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ , ...n ] ) ] [ , ...n ]
[ ON [ class :: ] securable ] TO principal [ , ...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Azure Synapse Analytics, Paralel Veri Ambarı ve Microsoft Fabric ambarı için söz dizimi.
GRANT
<permission> [ , ...n ]
[ ON [ <class_type> :: ] securable ]
TO principal [ , ...n ]
[ WITH GRANT OPTION ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
ALL
Bu seçenek kullanım dışıdır ve yalnızca geriye dönük uyumluluk için korunur. Tüm olası izinleri vermez.
ALL vermek, aşağıdaki izinleri vermekle eşdeğerdir.
| Securable | Permissions |
|---|---|
| Database |
BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLEve CREATE VIEW |
| Skaler fonksiyon |
EXECUTE ve REFERENCES |
| Tablo değerli fonksiyon |
DELETE, INSERT, REFERENCES, SELECTve UPDATE |
| Saklı prosedür | EXECUTE |
| Table |
DELETE, INSERT, REFERENCES, SELECTve UPDATE |
| View |
DELETE, INSERT, REFERENCES, SELECTve UPDATE |
PRIVILEGES
ISO uyumluluğuna dahildir.
ALLdavranışını değiştirmez.
permission
İzin adı. İzinlerin güvenli hale getirilebilir izinlere yönelik geçerli eşlemeleri aşağıdaki bölümlerde açıklanmıştır.
column
İzinlerin verildiği tablodaki bir sütunun adını belirtir. Parantezler ( ve ) gereklidir.
class
üzerinde izin verilen securable sınıfını belirtir. Kapsam niteleyicisi :: gereklidir.
securable
İzin verilen güvenli hale getirilebilir öğesini belirtir.
TO müdür
Sorumlunun adı. Güvenli hale getirilebilir bir izin verilebilen sorumlular, güvenliği sağlanabilir duruma bağlı olarak değişir. Geçerli birleşimler için aşağıdaki bölümlere bakın.
HIBE SEÇENEĞI
Verilene, belirtilen izni diğer sorumlulara verme yetkisinin de verileceğini gösterir.
Müdür olarak
AS <principal> yan tümcesini kullanarak, iznin vereni olarak kaydedilen sorumlunun deyimini yürüten kişiden başka bir sorumlu olması gerektiğini belirtin. Örneğin, kullanıcı Maryprincipal_id12olduğunu ve kullanıcı Raul15sorumlu olduğunu varsayın. Mary GRANT SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; yürütür Şimdi sys.database_permissions tablosu, deyim kullanıcı grantor_principal_id (15) tarafından yürütülse bile Raul12 (Mary) olduğunu gösterir.
İzin zincirini açıkça tanımlamanız gerekmediği sürece AS yan tümcesinin kullanılması genellikle önerilmez. Daha fazla bilgi için bkz. İzin Denetimi Algoritması özeti.
Bu deyimde AS kullanılması, başka bir kullanıcının kimliğine bürünme yeteneği anlamına gelmez.
Remarks
GRANT deyiminin tam söz dizimi karmaşıktır. Önceki söz dizimi diyagramı, dikkati yapısına çekmek için basitleştirilmiştir. Belirli güvenli hale getirilebilir öğeler üzerinde izin vermek için tam söz dizimi, bu makalenin devamında listelenen makalelerde açıklanmıştır.
REVOKE deyimi verilen izinleri kaldırmak için kullanılabilir ve DENY deyimi bir sorumlunun GRANTaracılığıyla belirli bir izin almasını önlemek için kullanılabilir.
İzin verilmesi, belirtilen güvenli hale getirilebilir iznin DENY veya REVOKE kaldırır. Aynı izin güvenliği sağlanabilir öğesini içeren daha yüksek bir kapsamda reddedilirse, DENY öncelikli olur. Ancak daha yüksek bir kapsamda verilen izni iptal etme öncelikli değildir.
Veritabanı düzeyinde izinler, belirtilen veritabanı kapsamında verilir. Kullanıcının başka bir veritabanındaki nesneler için izinlere ihtiyacı varsa, kullanıcı hesabını diğer veritabanında oluşturun veya kullanıcı hesabına diğer veritabanına ve geçerli veritabanına erişim verin.
Caution
Tablo düzeyinde DENY sütun düzeyi GRANTöncelikli değildir. İzinler hiyerarşisindeki bu tutarsızlık geriye dönük uyumluluk açısından korunmuştur. Gelecek bir sürümde kaldırılacaktır.
sp_helprotect sistem saklı yordamı, veritabanı düzeyinde güvenli hale getirilebilir izinler bildirir.
Microsoft Fabric'te CREATE USER şu anda açıkça yürütülemez.
GRANT veya DENY yürütürken kullanıcı otomatik olarak oluşturulur.
GRANT SEÇENEĞI ILE
GRANT ... WITH GRANT OPTION, izni alan güvenlik sorumlusuna belirtilen izni diğer güvenlik hesaplarına verme yetkisi verildiğini belirtir. İzin alan sorumlu bir rol veya Windows grubu olduğunda, nesne izninin grubun veya rolün üyesi olmayan kullanıcılara daha fazla verilmesi gerektiğinde AS yan tümcesi kullanılmalıdır. Bir grup veya rol yerine yalnızca bir kullanıcı GRANT deyimi yürütebildiğinden, grup veya rolün belirli bir üyesi, izin verildiğinde rolü veya grup üyeliğini açıkça çağırmak için AS yan tümcesini kullanmalıdır. Aşağıdaki örnekte, WITH GRANT OPTION bir role veya Windows grubuna verildiğinde nasıl kullanıldığı gösterilmektedir.
-- Execute the following as a database owner
GRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTION;
EXEC sp_addrolemember TesterRole, User1;
-- Execute the following as User1
-- The following fails because User1 does not have the permission as the User1
GRANT EXECUTE ON TestProc TO User2;
-- The following succeeds because User1 invokes the TesterRole membership
GRANT EXECUTE ON TestProc TO User2 AS TesterRole;
SQL Server izinlerinin grafiği
PDF biçimindeki tüm Veritabanı Altyapısı izinlerinin poster boyutlu grafiği için bkz. https://aka.ms/sql-permissions-poster.
Permissions
Verenin (veya AS seçeneğiyle belirtilen sorumlunun) GRANT OPTIONizninin kendisine veya verilen izni ima eden daha yüksek bir izne sahip olması gerekir.
AS seçeneğini kullanıyorsanız ek gereksinimler geçerlidir. Ayrıntılar için güvenli hale getirilebilir makaleye bakın.
Nesne sahipleri sahip oldukları nesneler üzerinde izin verebilir. Bir güvenli hale getirilebilir üzerinde CONTROL izni olan sorumlular bu güvenli hale getirilebilir üzerinde izin verebilir.
CONTROL SERVER sabit sunucu rolünün üyeleri gibi izni verenler, sunucudaki güvenliği sağlanabilir herhangi bir rol üzerinde herhangi bir izin verebilir.
CONTROL sabit veritabanı rolünün üyeleri gibi bir veritabanında izni verilmesi, veritabanındaki güvenli hale getirilebilir herhangi bir izin verebilir. Şema üzerinde CONTROL izni verenler, şema içindeki herhangi bir nesne üzerinde herhangi bir izin verebilir.
Examples
Aşağıdaki tabloda güvenli hale getirilebilir öğeler ve güvenli hale getirilebilir söz dizimini açıklayan makaleler listelanmaktadır.