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:Azure SQL Yönetilen Örneği
Bu makalede, Azure SQL Yönetilen Örneği güvenliğini sağlamak için Microsoft Entra Id (eski adı Azure Active Directory) tarafından yedeklenen sunucu sorumlularını (oturum açma bilgileri) kullanmayı öğrenin.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- SQL yönetilen örneği için Microsoft Entra oturum açma bilgileri oluşturun.
- SQL yönetilen örneğindeki oturum açma işlemleri için izinler verin.
- Oturum açma bilgileriyle Microsoft Entra kullanıcıları oluşturun.
- Kullanıcılara izinler atayın ve veritabanı güvenliğini yönetin.
- Kullanıcılarla kimliğe bürünme özelliğini kullanın.
- Kullanıcılarla veritabanları arası sorgular kullanın.
- Tehdit koruması, denetim, veri maskeleme ve şifreleme gibi güvenlik özellikleri hakkında bilgi edinin.
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Önkoşullar
Öğreticiyi tamamlamak için aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
- SQL Server Management Studio (SSMS)
- SQL yönetilen örneği
- Şu makaleyi izleyin: Hızlı Başlangıç: SQL yönetilen örneği oluşturma
- SQL yönetilen örneğine erişebilir ve SQL yönetilen örneği için bir Microsoft Entra yöneticisi sağlanır. Daha fazla bilgi edinmek için bkz:
Erişimi sınırla
SQL yönetilen örneklerine özel bir IP adresi üzerinden erişilebilir. Yalıtılmış SQL Server ortamına benzer şekilde, uygulamaların veya kullanıcıların bağlantı kurulabilmesi için önce SQL Yönetilen Örneği ağına (VNet) erişmesi gerekir. Daha fazla bilgi için bkz. Uygulamanızı SQL Yönetilen Örneği'ne bağlama.
Azure SQL Veritabanı ile aynı şekilde genel bağlantılara olanak tanıyan SQL yönetilen örneğinde bir hizmet uç noktası yapılandırmak da mümkündür. Daha fazla bilgi için bkz. Azure SQL Yönetilen Örneği’nde genel uç noktayı yapılandırma.
SSMS kullanarak Microsoft Entra oturum açma bilgileri oluşturma
SQL yöneticisi, sağlama sırasında oluşturulan ilk Microsoft Entra oturum açma bilgilerini veya Microsoft Entra yöneticisini oluşturabilir. Daha fazla bilgi için bkz. SQL Yönetilen Örneği için Microsoft Entra yöneticisi sağlama.
SQL Yönetilen Örneği bağlanma örnekleri için aşağıdaki makalelere bakın:
- Hızlı Başlangıç: Azure VM'yi SQL Yönetilen Örneği bağlanacak şekilde yapılandırma
- Hızlı Başlangıç: Şirket içinden SQL Yönetilen Örneği için noktadan siteye bağlantı yapılandırma
SQL Server Management Studio (SSMS) kullanarak sysadmin SQL oturum açma bilgileriyle veya Microsoft Entra yöneticisiyle SQL yönetilen örneğine bağlanın.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde aşağıdaki söz dizimini kullanarak yerel bir Microsoft Entra hesabı için oturum açma bilgileri oluşturun:
USE master GO CREATE LOGIN login_name FROM EXTERNAL PROVIDER GOBu örnek, hesabı
nativeuser@aadsqlmi.onmicrosoft.comiçin bir oturum açma bilgisi oluşturur.USE master GO CREATE LOGIN [nativeuser@aadsqlmi.onmicrosoft.com] FROM EXTERNAL PROVIDER GOOturum açma bilgilerini oluşturmak için araç çubuğunda Yürüt'e tıklayın.
Aşağıdaki T-SQL komutunu yürüterek yeni eklenen oturum açma bilgilerini denetleyin:
SELECT * FROM sys.server_principals; GO
Daha fazla bilgi için bkz . CREATE LOGIN.
Oturum açma bilgileri oluşturma izinleri verme
Diğer Microsoft Entra oturum açma bilgilerini oluşturmak için mevcut oturum açma bilgilerinin uygun izinlere sahip olması veya uygun sunucu rollerinin parçası olması gerekir.
SQL kimlik doğrulaması oturum açma işlemleri
Oturum açma, SQL kimlik doğrulaması tabanlı bir sunucu sorumlusuysa, Microsoft Entra hesapları için oturum açma bilgileri oluşturmak için sysadmin rolüne atanması gerekir.
Microsoft Entra kimlik doğrulaması oturum açma bilgileri
- Oturum açma bilgisi bir Microsoft Entra sunucu sorumlusuysa, diğer Microsoft Entra kullanıcıları, grupları ve uygulamaları için oturum açma bilgileri oluşturmak için sysadmin veya securityadmin sunucu rolü atanmalıdır.
- En azından,
ALTER ANY LOGINdiğer Microsoft Entra oturum açma bilgilerini oluşturmak için izin verilmelidir. - Varsayılan olarak, içinde yeni oluşturulan Microsoft Entra oturum açma işlemlerine verilen standart izinler ve
master'CONNECT SQLtirVIEW ANY DATABASE. - Sysadmin sunucu rolü, BIR SQL yönetilen örneği içinde birçok Microsoft Entra oturum açma bilgilerine verilebilir.
Oturum açma bilgilerini sysadmin sunucu rolüne eklemek için:
SQL yönetilen örneğinde yeniden oturum açın veya microsoft Entra yöneticisiyle veya sysadmin olan SQL sorumlusuyla var olan bağlantıyı kullanın.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Aşağıdaki T-SQL söz dizimini kullanarak Microsoft Entra oturum açma işlemini sysadmin sunucu rolüne verin:
ALTER SERVER ROLE sysadmin ADD MEMBER login_name GOAşağıdaki örnek, oturum açma işlemine
nativeuser@aadsqlmi.onmicrosoft.comsunucu rolü verir:ALTER SERVER ROLE sysadmin ADD MEMBER [nativeuser@aadsqlmi.onmicrosoft.com] GO
SSMS kullanarak ek Microsoft Entra oturum açma bilgileri oluşturma
Microsoft Entra oturum açma bilgileri oluşturulduktan ve sysadmin ayrıcalıkları verildikten sonra, bu oturum açma ile yan tümcesini FROM EXTERNAL PROVIDERCREATE LOGINkullanarak ek oturum açma işlemleri oluşturabilir.
SQL Server Management Studio'da (SSMS) Sunucuya Bağlan'ı seçerek Microsoft Entra oturum açma bilgileriyle SQL yönetilen örneğine bağlanın.
- Sunucu adı alanına SQL Yönetilen Örneği ana bilgisayar adınızı girin.
- Kimlik Doğrulaması için Microsoft Entra MFA'yı seçerek çok faktörlü bir kimlik doğrulaması oturum açma penceresi açın. Oturum açma. Daha fazla bilgi için bkz. Evrensel Kimlik Doğrulaması (çok faktörlü kimlik doğrulaması için SSMS desteği).
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde, aşağıdaki söz dizimini kullanarak başka bir Microsoft Entra hesabı için oturum açma bilgisi oluşturun:
USE master GO CREATE LOGIN login_name FROM EXTERNAL PROVIDER GOBu örnek, etki alanı Microsoft Entra etki alanıyla
bob@aadsqlmi.netaadsqlmi.netolan Microsoft Entra kullanıcısıaadsqlmi.onmicrosoft.comiçin bir oturum açma bilgisi oluşturur.Aşağıdaki T-SQL komutunu yürütür. Federasyon Microsoft Entra hesapları, şirket içi Windows oturum açma bilgileri ve kullanıcıları için SQL Yönetilen Örneği değişimleridir.
USE master GO CREATE LOGIN [bob@aadsqlmi.net] FROM EXTERNAL PROVIDER GOCREATE DATABASE söz dizimini kullanarak SQL yönetilen örneğinde bir veritabanı oluşturun. Bu veritabanı, sonraki bölümde kullanıcı oturum açma bilgilerini test etmek için kullanılacaktır.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde, MyMITestDB adlı bir veritabanı oluşturmak için aşağıdaki söz dizimini kullanın.
CREATE DATABASE MyMITestDB; GO
Microsoft Entra Id'de bir grup için SQL Yönetilen Örneği oturum açma bilgileri oluşturun. SQL Yönetilen Örneği oturum açma bilgilerini eklemeden önce grubun Microsoft Entra Id içinde bulunması gerekir. Bkz . Microsoft Entra Id kullanarak temel grup oluşturma ve üye ekleme. Mygroup adlı bir grup oluşturun ve bu gruba üye ekleyin.
SQL Server Management Studio'da yeni bir sorgu penceresi açın.
Bu örnekte, Microsoft Entra Id içinde mygroup adlı bir grup olduğu varsayılır. Şu kodu yürütün:
USE master GO CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER GOTest olarak, yeni oluşturulan oturum açma bilgileri veya grupla SQL yönetilen örneğinde oturum açın. SQL yönetilen örneğine yeni bir bağlantı açın ve kimlik doğrulaması yaparken yeni oturum açma bilgilerini kullanın.
Nesne Gezgini'da sunucuya sağ tıklayın ve yeni bağlantı için Yeni Sorgu'yu seçin.
Aşağıdaki komutu yürüterek yeni oluşturulan Microsoft Entra oturum açma bilgileri için sunucu izinlerini denetleyin:
SELECT * FROM sys.fn_my_permissions (NULL, 'DATABASE') GO
Azure SQL'in kullanıcı ve oturum açma bilgileri olarak Microsoft Entra sorumlularını desteklemesi, iç ve dış konuk kullanıcıları Microsoft Entra Dış Kimlik genişletir. Hem bireysel hem de grubun bir parçası olan konuk kullanıcılar, Azure SQL'deki diğer Microsoft Entra kullanıcılarınınkiyle aynı şekilde kullanılabilir. Konuk kullanıcıların diğer Microsoft Entra sunucusu oturum açma bilgilerini veya veritabanı kullanıcılarını oluşturabilmesini istiyorsanız, Microsoft Entra dizinindeki diğer kimlikleri okuma izinlerine sahip olmaları gerekir. Bu izin dizin düzeyinde yapılandırılır. Daha fazla bilgi için bkz . Microsoft Entra Id'de konuk erişim izinleri.
Microsoft Entra oturumundan Microsoft Entra kullanıcısı oluşturma
Tek veritabanlarına yetkilendirme, SQL Server'daki veritabanlarıyla SQL Yönetilen Örneği aynı şekilde çalışır. Bu veritabanı için izin verilen veya veritabanı rolüne eklenmiş bir veritabanındaki mevcut oturum açma bilgilerinden bir kullanıcı oluşturabilirsiniz.
MyMITestDB adlı bir veritabanı ve yalnızca varsayılan izinlere sahip bir oturum açma hesabı oluşturduğumuza göre, sonraki adım bu oturumdan bir kullanıcı oluşturmaktır. Şu anda oturum açma bilgileri SQL yönetilen örneğine bağlanabilir ve tüm veritabanlarını görebilir, ancak veritabanlarıyla etkileşim kuramaz. Varsayılan izinlere sahip Microsoft Entra hesabıyla oturum açar ve yeni oluşturulan veritabanını genişletmeyi denerseniz aşağıdaki hatayı görürsünüz:
Veritabanı izinleri verme hakkında daha fazla bilgi için bkz . Veritabanı Altyapısı İzinlerini Kullanmaya Başlama.
Microsoft Entra kullanıcısı oluşturma ve örnek tablo oluşturma
Not
Bir kullanıcı bir Microsoft Entra grubunun parçası olarak oturum açtığında bazı sınırlamalar vardır.
Örneğin, SUSER_SID verilen Microsoft Entra kullanıcısı NULL tablosunun parçası olmadığından çağrısı döndürür.
Bu nedenle, bu durumda belirli saklı yordamlara veya verilen izinler listesine erişim sınırlı olabilir.
SQL Server Management Studio'da sysadmin hesabıyla SQL yönetilen örneğinizde oturum açın.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde, Microsoft Entra oturum açma bilgisinden kullanıcı oluşturmak için aşağıdaki söz dizimini kullanın:
USE <Database Name> -- provide your database name GO CREATE USER user_name FROM LOGIN login_name GOAşağıdaki örnek, oturum açma
bob@aadsqlmi.netişleminden bir kullanıcıbob@aadsqlmi.netoluşturur:USE MyMITestDB GO CREATE USER [bob@aadsqlmi.net] FROM LOGIN [bob@aadsqlmi.net] GOAyrıca, grup olan bir Microsoft Entra oturumundan Bir Microsoft Entra kullanıcısı oluşturmak da desteklenir.
Aşağıdaki örnek, Microsoft Entra kiracınızda bulunan mygroup Adlı Microsoft Entra grubu için bir oturum açma bilgisi oluşturur:
USE MyMITestDB GO CREATE USER [mygroup] FROM LOGIN [mygroup] GOmygroup'a ait tüm kullanıcılar MyMITestDB veritabanına erişebilir.
Önemli
Microsoft Entra oturum açma bilgisinden user oluştururken, user_name ile
LOGINaynı login_name belirtin.Daha fazla bilgi için bkz . CREATE USER.
Yeni sorgu penceresinde aşağıdaki T-SQL komutunu kullanarak bir test tablosu oluşturun:
USE MyMITestDB GO CREATE TABLE TestTable ( AccountNum varchar(10), City varchar(255), Name varchar(255), State varchar(2) );SSMS'de oluşturulan kullanıcıyla bir bağlantı oluşturun. Daha önce sysadmin tarafından oluşturulan TestTable tablosunu göremeyeceksiniz. Kullanıcıya veritabanından veri okuma izinleri sağlamamız gerekir.
Aşağıdaki komutu yürüterek kullanıcının geçerli iznini de kontrol edebilirsiniz:
SELECT * FROM sys.fn_my_permissions('MyMITestDB','DATABASE') GO
Veritabanı düzeyindeki rollere kullanıcı ekleme
Kullanıcının veritabanındaki verileri görmesi için kullanıcıya veritabanı düzeyinde roller sağlayabiliriz.
SQL Server Management Studio kullanarak bir sysadmin hesabıyla SQL yönetilen örneğinizde oturum açın.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Aşağıdaki T-SQL söz dizimini kullanarak Microsoft Entra kullanıcısının db_datareader veritabanı rolünü verin:
Use <Database Name> -- provide your database name ALTER ROLE db_datareader ADD MEMBER user_name GOAşağıdaki örnek, kullanıcıya
bob@aadsqlmi.netve mygroup grubuna MyMITestDB veritabanında db_datareader izinleri sağlar:USE MyMITestDB GO ALTER ROLE db_datareader ADD MEMBER [bob@aadsqlmi.net] GO ALTER ROLE db_datareader ADD MEMBER [mygroup] GOAşağıdaki komutu yürüterek veritabanında oluşturulan Microsoft Entra kullanıcısının mevcut olup olmadığını denetleyin:
SELECT * FROM sys.database_principals GOdb_datareader rolüne eklenmiş kullanıcıyla SQL yönetilen örneğine yeni bir bağlantı oluşturun.
Tabloyu görmek için Nesne Gezgini'deki veritabanını genişletin.
Yeni bir sorgu penceresi açın ve aşağıdaki
SELECTdeyimi yürütür:SELECT * FROM TestTableTablodaki verileri görebiliyor musunuz? Aşağıdaki ekran görüntüsünde gösterildiği gibi döndürülen sütunları görmeniz gerekir:
Microsoft Entra oturum açma bilgilerini taklit edin
SQL Yönetilen Örneği, Microsoft Entra oturum açma bilgilerinin kimliğe bürünülme özelliğini destekler.
Kimliğe bürünme testi
SQL Server Management Studio kullanarak bir sysadmin hesabıyla SQL yönetilen örneğinizde oturum açın.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde, yeni bir saklı yordam oluşturmak için aşağıdaki komutu kullanın:
USE MyMITestDB GO CREATE PROCEDURE dbo.usp_Demo WITH EXECUTE AS 'bob@aadsqlmi.net' AS SELECT user_name(); GOSaklı yordamı yürütürken kimliğine büründüğünüz kullanıcının olduğunu
bob@aadsqlmi.netgörmek için aşağıdaki komutu kullanın.Exec dbo.usp_Demodeyimini kullanarak kimliğe bürünme test edin
EXECUTE AS LOGIN:EXECUTE AS LOGIN = 'bob@aadsqlmi.net' GO SELECT SUSER_SNAME() REVERT GO
Not
Yalnızca sysadmin rolünün parçası olan SQL sunucu düzeyinde oturum açma işlemleri, Microsoft Entra sorumlularını hedefleyen aşağıdaki işlemleri yürütebilir:
EXECUTE AS USEREXECUTE AS LOGIN
Veritabanları arası sorguları kullanma
Microsoft Entra oturum açma bilgilerine sahip Microsoft Entra hesapları için veritabanları arası sorgular desteklenir. Microsoft Entra grubuyla veritabanları arası sorguyu test etmek için başka bir veritabanı ve tablo oluşturmamız gerekir. Zaten varsa başka bir veritabanı ve tablo oluşturmayı atlayabilirsiniz.
SQL Server Management Studio kullanarak bir sysadmin hesabıyla SQL yönetilen örneğinizde oturum açın.
Nesne Gezgini'da sunucuya sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde aşağıdaki komutu kullanarak MyMITestDB2 adlı bir veritabanı ve TestTable2 adlı bir tablo oluşturun:
CREATE DATABASE MyMITestDB2; GO USE MyMITestDB2 GO CREATE TABLE TestTable2 ( EmpId varchar(10), FirstName varchar(255), LastName varchar(255), Status varchar(10) );Yeni sorgu penceresinde aşağıdaki komutu yürüterek mygroup kullanıcısını yeni MyMITestDB2 veritabanında oluşturun ve bu veritabanında
SELECTiçin izinler verin:USE MyMITestDB2 GO CREATE USER [mygroup] FROM LOGIN [mygroup] GO GRANT SELECT TO [mygroup] GOSQL Server Management Studio'yu kullanarak SQL yönetilen örneğinde Microsoft Entra grubu mygroup'un bir üyesi olarak oturum açın. Yeni bir sorgu penceresi açın ve veritabanları
SELECTarası deyimini yürütür:USE MyMITestDB SELECT * FROM MyMITestDB2..TestTable2 GOTestTable2'den tablo sonuçlarını görmeniz gerekir.
Desteklenen diğer senaryolar
- SQL Aracısı yönetimi ve iş yürütmeleri Microsoft Entra oturum açma işlemleri için desteklenir.
- Microsoft Entra oturum açma işlemleri veritabanı yedekleme ve geri yükleme işlemlerini yürütebilir.
- Microsoft Entra oturum açma bilgileri ve kimlik doğrulama olaylarıyla ilgili tüm deyimlerin denetimi.
- Sysadmin sunucu rolünün üyesi olan Microsoft Entra oturum açma bilgileri için ayrılmış yönetici bağlantısı.
- Microsoft Entra oturum açma bilgileri, sqlcmd yardımcı programı ve SQL Server Management Studio aracı kullanılarak desteklenir.
- Oturum açma tetikleyicileri, Microsoft Entra oturum açma bilgilerinden gelen oturum açma olayları için desteklenir.
- Hizmet Aracısı ve VERITABANı postası, Microsoft Entra oturum açma bilgileri kullanılarak ayarlanabilir.
İlgili içerik
- SQL Yönetilen Örneği güvenlik özellikleri
- Azure SQL Yönetilen Örneği denetleme ile başlangıç yapın
- Her Zaman Şifreli
- Azure SQL Yönetilen Örneğinde Gelişmiş Tehdit Koruması'nın yapılandırılması
- Dinamik veri maskeleme
- Satır düzeyi güvenlik
- Saydam veri şifrelemesi (TDE)
- Azure SQL Yönetilen Örneği nedir?