Azure SQL için Microsoft Entra kimlik doğrulaması
Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği Azure Synapse Analytics
Bu makalede Microsoft Entra kimlik doğrulamasını Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure VM'lerinde SQL Server, Azure Synapse Analytics'te Synapse SQL ve Windows ve Linux için SQL Server ile birlikte kullanmaya ilişkin ayrıntılı bir genel bakış sağlanmaktadır.
Microsoft Entra kimlik doğrulamasını yapılandırmak istiyorsanız şunları gözden geçirin:
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Genel bakış
Microsoft Entra Id, veri varlıklarınızdaki insanların ve hizmetlerin kimliklerini merkezi olarak yönetmenize olanak tanır. Microsoft Entra'yı kimlik doğrulaması için Azure SQL ile tümleştirerek, kimlik ve izin yönetimini basitleştirirken verilerinize yönelik tüm bağlantılar üzerinde ayrıntılı koşullu erişim ve idareyi de etkinleştirebilirsiniz.
Microsoft Entra kimlik doğrulamasını kullanmak aşağıdaki avantajları içerir:
- Kullanıcı adları ve parolalar gibi daha az güvenli kimlik doğrulama yöntemlerinin yerini alır.
- Sunucularda kullanıcı kimliklerinin yaygınlaşmasını ortadan kaldırır veya durdurmaya yardımcı olur.
- Microsoft Entra grupları, veritabanı izin yönetiminin tek tek hesaplardan ve işletim gruplarına soyutlanmasına olanak tanır.
- Parolanın tek bir yerde döndürülmesini sağlar.
- Microsoft Entra-only kimlik doğrulaması, SQL kimlik doğrulamasına tam bir alternatif sağlar.
- Azure kaynakları için yönetilen kimlikler, veritabanlarınıza bağlanan hizmetlerin parolalarını ve veritabanlarınızdan diğer Azure kaynaklarına bağlantıları depolama gereksinimini ortadan kaldırır.
- Telefon araması, kısa mesaj, pinli akıllı kart veya mobil uygulama bildirimi gibi çeşitli kolay doğrulama seçenekleriyle güçlü çok faktörlü kimlik doğrulaması dahil olmak üzere modern güvenlik denetimleri sağlar.
- Microsoft Entra ID, OpenID Connect, OAuth2.0, Kerberos Kısıtlanmış Temsili ve daha fazlası dahil olmak üzere birçok modern kimlik doğrulama protokolüyle tümleştirmeye olanak tanır.
- Veri kaynaklarına yönelik bağlantıların merkezi olarak izlenmesini sağlar.
- Başarılı bağlantılar için uyumlu cihazlar veya kimlik doğrulama yöntemleri gerektirme gibi koşullu erişim denetimlerini etkinleştirir.
- Azure İlkeleri ile kimlik doğrulamayı merkezi olarak yönetin ve izleyin.
Not
Microsoft Entra kimlik doğrulaması yalnızca Microsoft Entra Kimliği'nden kaynaklanan erişim belirteçlerini destekler, üçüncü taraf erişim belirteçlerini desteklemez. Microsoft Entra Id, Microsoft Entra ID sorgularının üçüncü taraf uç noktalarına yönlendirilmesini de desteklemez. Bu, Microsoft Entra kimlik doğrulamasını destekleyen tüm SQL platformları ve tüm işletim sistemleri için geçerlidir.
Yapılandırma adımları
Microsoft Entra kimlik doğrulamasını yapılandırmaya yönelik genel adımlar şunlardır:
- Microsoft Entra kiracısı oluşturma ve doldurma.
- Azure'da mantıksal sunucu veya örnek oluşturma.
- Sunucuya veya örneğe bir Microsoft Entra yöneticisi atayın.
- Veritabanınızda Microsoft Entra kimlikleriyle eşlenmiş SQL sorumluları oluşturun.
- İstemci uygulamalarınızı Azure Kimlik kitaplıklarını ve kimlik doğrulama yöntemlerini kullanarak bağlanacak şekilde yapılandırın.
- Microsoft Entra kimlikleriyle veritabanınıza bağlanın.
Desteklenen kimlikler ve kimlik doğrulama yöntemleri
Azure SQL, sunucularınızda ve veritabanlarınızda oturum açma bilgileri ve kullanıcılar (sorumlular) olarak aşağıdaki Microsoft Entra kimliklerinin kullanılmasını destekler:
- Microsoft Entra kullanıcıları: Microsoft Entra kiracısında iç kullanıcıları, dış kullanıcıları, konukları ve üyeleri içeren herhangi bir kullanıcı türü . Microsoft Entra ID ile birleştirilmiş bir Active Directory etki alanının üyeleri de desteklenir ve sorunsuz çoklu oturum açma için yapılandırılabilir.
- Uygulamalar: Azure'da bulunan uygulamalar, doğrudan Azure SQL'de kimlik doğrulaması yapmak için hizmet sorumlularını veya yönetilen kimlikleri kullanabilir. Kimlik doğrulaması parolasız olduğundan ve geliştirici tarafından yönetilen kimlik bilgilerine olan ihtiyacı ortadan kaldırdığından yönetilen kimliklerin kullanılması tercih edilir.
- Kullanıcı ve uygulama erişimini grup üyeliğine göre yöneterek kuruluşunuz genelinde erişim yönetimini basitleştirebilen Microsoft Entra grupları.
Kullanıcı kimlikleri için aşağıdaki kimlik doğrulama yöntemleri desteklenir:
- Active Directory ile Microsoft Entra Karma Kimlikleri tarafından desteklenen Microsoft Entra Integrated (Windows Kimlik Doğrulaması) [federation].
- Microsoft Entra MFA veya kullanıcının bilgisi dışında ek güvenlik denetimleri gerektiren çok faktörlü kimlik doğrulaması.
- Microsoft Entra Id'de depolanan ve yönetilen kullanıcı kimlik bilgilerini kullanan Microsoft Entra Parola kimlik doğrulaması.
- Uygulamanın makinesindeki çeşitli kimlik bilgileri önbelleklerini tarayan ve SQL'de kimlik doğrulaması yapmak için kullanıcı belirteçlerini kullanabilen Microsoft Entra Default kimlik doğrulaması.
Hizmet veya iş yükü kimlikleri için aşağıdaki kimlik doğrulama yöntemleri desteklenir:
- Azure kaynakları için hem kullanıcı tarafından atanan hem de sistem tarafından atanan yönetilen kimlikler . Yönetilen kimlik kimlik doğrulaması, kimliğin kimlik doğrulaması yapmak isteyen kaynağa atandığı belirteç tabanlıdır. Azure Kimlik platformu bu ilişkiyi doğrular ve bu da parolasız kimlik doğrulaması sağlar.
- Microsoft Entra hizmet asıl adı ve uygulama (istemci) gizli dizisi. Bu kimlik doğrulama yöntemi, tahmin edilebilen ve sızdırılabilir parolalarla ilişkili risk nedeniyle önerilmez.
- Uygulamanın makinesindeki çeşitli kimlik bilgileri önbelleklerini tarayan ve SQL'de kimlik doğrulaması yapmak için uygulama belirteçlerini kullanabilen Microsoft Entra Default kimlik doğrulaması.
Microsoft Entra yöneticisi
Microsoft Entra kimlik doğrulamasını etkinleştirmek için mantıksal sunucunuz veya yönetilen örneğiniz için bir Microsoft Entra yöneticisinin ayarlanması gerekir. Bu yönetici SQL Server yöneticisi (SA) ile birlikte bulunur. Microsoft Entra yöneticisi, Microsoft Entra kullanıcıları, gruplar, hizmet sorumluları ve yönetilen kimlikler dahil olmak üzere Azure kiracınızdaki herhangi bir güvenlik nesnesi olabilir. Microsoft Entra yöneticisi, bir liste değil tek bir özelliktir, yani her zaman yalnızca bir kimlik yapılandırılabilir. Microsoft Entra yöneticisinin sunucudan kaldırılması, veritabanında izinleri olan mevcut Microsoft Entra kullanıcıları için bile tüm Microsoft Entra kimlik doğrulama tabanlı bağlantıları devre dışı bırakır.
İpucu
Microsoft Entra grupları, birden çok kimliğin sunucuda Microsoft Entra yöneticisi olarak davranmasını sağlar. Yönetici bir gruba ayarlandığında, tüm grup üyeleri Microsoft Entra yönetici rolünü devralır. Microsoft Entra grup yöneticisi, yönetici yönetimini sunucu veri düzlemi eylemlerinden Microsoft Entra Kimliği'ne ve grup sahiplerinin ellerine kaydırarak yönetilebilirliği geliştirir. Gruplar, SQL'e bağlanan tüm Microsoft Entra kimlikleri için kullanılabilir ve bu sayede sunucu ve veritabanlarında tek seferlik kullanıcı ve izin yapılandırması sağlanır ve tüm kullanıcı yönetimi gruplara bırakılır.
Microsoft Entra yöneticisi özel bir rol oynar: Bu, diğer Microsoft Entra oturum açma bilgilerini (SQL Veritabanı önizlemede) ve kullanıcıları oluşturabilen ve toplu olarak sorumlular olarak adlandırılan ilk hesaptır. Yönetici, sunucunun veritabanındaki bağımsız bir veritabanı kullanıcısıdır master
. Yönetici hesapları, her kullanıcı veritabanındaki db_owner rolünün üyeleridir ve her kullanıcı veritabanı dbo kullanıcısı olarak girilir. Yönetici hesapları hakkında daha fazla bilgi için bkz . Veritabanlarını ve Oturum Açma Bilgilerini Yönetme.
Microsoft Entra sorumluları
Not
Microsoft Entra sunucu sorumluları (oturum açma bilgileri) şu anda Azure SQL Veritabanı ve Azure Synapse Analytics için genel önizleme aşamasındadır. Microsoft Entra oturum açma bilgileri genel olarak Azure SQL Yönetilen Örneği ve SQL Server 2022 için kullanılabilir.
Microsoft Entra kimlikleri Azure SQL'de üç yolla sorumlu olarak oluşturulabilir:
- sunucu sorumluları veya oturum açma bilgileri olarak (Azure SQL Veritabanı için önizlemede)
- oturum açma tabanlı kullanıcılar olarak (veritabanı sorumlusu türü)
- bağımsız veritabanı kullanıcıları olarak
Önemli
Azure SQL için Microsoft Entra kimlik doğrulaması, Azure RBAC ile tümleştirilmez. Azure SQL'e bağlanmak ve sorgu yürütmek için Microsoft Entra kimliklerinin kullanılması, bu kimliklerin erişmeleri gereken veritabanlarında Microsoft Entra sorumluları olarak oluşturulmasını gerektirir. SQL Server Contributor
ve SQL DB Contributor
rolleri, veritabanı bağlantı erişimini değil yönetimle ilgili dağıtım işlemlerinin güvenliğini sağlamak için kullanılır.
Oturum açma bilgileri (sunucu sorumluları)
Microsoft Entra kimlikleri için sunucu sorumluları (oturum açma bilgileri), Azure VM'lerinde Azure SQL Yönetilen Örneği, SQL Server 2022 ve SQL Server için genel olarak kullanılabilir. Microsoft Entra oturum açma bilgileri Azure SQL Veritabanı için önizleme aşamasındadır.
Aşağıdaki T-SQL'de Microsoft Entra oturum açma bilgilerinin nasıl oluşturulacağı gösterilmektedir:
CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER
Microsoft Entra oturum açma bilgileri sys.server_principals aşağıdaki özellik değerlerine sahiptir:
Özellik | Değer |
---|---|
SID (Güvenlik Tanımlayıcısı) | Microsoft Entra kimliğinin nesne kimliğinin ikili gösterimi |
Tür | E = Microsoft Entra Id'den dış oturum açma veya uygulama X = Microsoft Entra Id'den dış grup |
type_desc | Microsoft Entra oturum açma bilgileri veya uygulaması için EXTERNAL_LOGIN Microsoft Entra grubu için EXTERNAL_GROUP |
Oturum açma tabanlı kullanıcılar
Oturum açma tabanlı kullanıcılar, Microsoft Entra oturum açma bilgilerine atanan sunucu düzeyinde rolleri ve izinleri devralır. Microsoft Entra oturum açma tabanlı kullanıcılar Azure SQL Veritabanı için önizleme aşamasındadır.
Aşağıdaki T-SQL,Microsoft Entra kimliği için oturum açma tabanlı bir kullanıcının nasıl oluşturulacağını gösterir:
CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]
Aşağıdaki tabloda, sys.database_principals'daki Microsoft Entra oturum açma tabanlı kullanıcı özelliği değerleri ayrıntılı olarak gösterilmiştir:
Özellik | Değer |
---|---|
SID (Güvenlik Tanımlayıcısı) | Microsoft Entra kimliğinin nesne kimliğinin ikili gösterimi ve 'AADE' |
Tür | E = Microsoft Entra Id'den dış oturum açma veya uygulama X = Microsoft Entra Id'den dış grup |
type_desc | Microsoft Entra oturum açma bilgileri veya uygulaması için EXTERNAL_LOGIN Microsoft Entra grubu için EXTERNAL_GROUP |
Kapsanan veritabanı kullanıcıları
Kapsanan veritabanı kullanıcıları veritabanıyla taşınabilir. Sunucu veya örnekte tanımlanan kimliklerle hiçbir bağlantısı yoktur ve bu nedenle veritabanıyla birlikte bir sunucudan veya örnekten diğerine kesinti olmadan kolayca taşınabilir.
Aşağıdaki T-SQL, Bir Microsoft Entra kimliği için kapsanan veritabanı kullanıcısının nasıl oluşturulacağını gösterir:
CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER
Microsoft Entra veritabanı tabanlı bir kullanıcı, SID'nin nasıl yapılandırıldığının dışında, sys.database_principals oturum açma tabanlı kullanıcılarla aynı özellik değerlerine sahiptir:
Özellik | Değer |
---|---|
SID (Güvenlik Tanımlayıcısı) | Microsoft Entra kimliğinin nesne kimliğinin ikili gösterimi |
Tür | E = Microsoft Entra Id'den dış oturum açma veya uygulama X = Microsoft Entra Id'den dış grup |
type_desc | Microsoft Entra oturum açma bilgileri veya uygulaması için EXTERNAL_LOGIN Microsoft Entra grubu için EXTERNAL_GROUP |
SID'nin temel alındığı özgün Microsoft Entra GUID'sini almak için aşağıdaki T-SQL dönüştürmesini kullanın:
SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals
Dikkat
Sunucu veya örnek düzeyinde Microsoft Entra oturum açma bilgileriyle aynı ada sahip, kapsanan bir Microsoft Entra veritabanı kullanıcısını istemeden oluşturmak mümkündür. Sorumlular birbirine bağlı olmadığından, veritabanı kullanıcısı sunucu oturum açma işleminden izinleri devralmaz ve kimlikler bağlantı isteklerinde bir araya gelip tanımsız davranışa neden olabilir.
Veritabanı kullanıcısının oturum açma tabanlı bir kullanıcı mı yoksa bağımsız veritabanı kullanıcısı mı olduğunu belirlemek için aşağıdaki T-SQL sorgusunu kullanın:
SELECT CASE
WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
ELSE 'contained database user'
END AS user_type,
*
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Veritabanındaki tüm Microsoft Entra sorumlularını görüntülemek için aşağıdaki T-SQL sorgusunu kullanın:
SELECT
name,
CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Yalnızca Microsoft Entra kimlik doğrulaması
Microsoft Entra-only kimlik doğrulaması etkinleştirildiğinde, diğer tüm kimlik doğrulama yöntemleri devre dışı bırakılır ve SA ve Azure SQL için diğer tüm SQL kimlik doğrulama tabanlı hesapların yanı sıra Azure SQL Yönetilen Örneği için Windows kimlik doğrulamasını içeren sunucuya, örneğe veya veritabanına bağlanmak için kullanılamaz.
Başlamak için Microsoft Entra-only kimlik doğrulamasını yapılandırma makalesini gözden geçirin.
Çok faktörlü kimlik doğrulaması (MFA)
Microsoft Entra çok faktörlü kimlik doğrulaması , Microsoft'un bulut tabanlı kimlik ve erişim yönetimi hizmeti tarafından sağlanan bir güvenlik özelliğidir. Çok faktörlü kimlik doğrulaması, kullanıcıların parola dışında ek doğrulama adımları sağlamasını zorunlu kılarak kullanıcı oturum açmalarının güvenliğini artırır.
Microsoft Entra çok faktörlü kimlik doğrulaması, basit bir oturum açma işlemi için kullanıcı talebini karşılarken verilere ve uygulamalara erişimin korunmasına yardımcı olur. MFA, kullanıcıların iki veya daha fazla kimlik doğrulama faktörü sağlamasını gerektirerek kullanıcı oturum açma işlemlerine ek bir güvenlik katmanı ekler. Bu faktörler genellikle kullanıcının bildiği bir şeyi (parola), kullanıcının sahip olduğu bir şeyi (akıllı telefon veya donanım belirteci) ve/veya kullanıcının olduğu bir şeyi (biyometrik veriler) içerir. MFA, birden çok faktörü birleştirerek yetkisiz erişim olasılığını önemli ölçüde azaltır.
Çok faktörlü kimlik doğrulaması, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics ve SQL Server 2022 (16.x) ve sonraki sürümler için desteklenen bir kimlik doğrulama yöntemidir.
Başlamak için Microsoft Entra çok faktörlü kimlik doğrulamasını yapılandırma makalesini gözden geçirin.
Microsoft Entra B2B desteği
Tüm SQL ürünlerinde Microsoft Entra kimlik doğrulaması, işletmelerin konuk kullanıcıları kuruluşlarıyla işbirliği yapmaya davet etmelerini sağlayan Microsoft Entra B2B işbirliğini de destekler. Konuk kullanıcılar veritabanlarına tek tek kullanıcılar veya bir Microsoft Entra grubunun üyeleri olarak bağlanabilir. Daha fazla bilgi için bkz . Konuk kullanıcı oluşturma.
Microsoft Entra federasyonundan Active Directory'ye güven mimarisi
Microsoft Entra Id, Active Directory gibi tanıdık kimlik ve erişim yönetimi çözümleriyle de tümleştirilir. Şirket içi AD'nize karma katılım, Microsoft Entra Id aracılığıyla birleştirilmiş Windows kimliklerinin Azure SQL'e bağlanmak için çoklu oturum açma kimlik bilgilerini kullanmasını sağlar.
Federasyon için Microsoft Entra ID iki güvenli kimlik doğrulama yöntemi sağlar: geçiş ve parola karması kimlik doğrulaması. şirket içi Active Directory Microsoft Entra Id ile ilişkilendirmeyi düşünüyorsanız Microsoft Entra karma kimlik çözümünüz için doğru kimlik doğrulama yöntemini seçme konusunu gözden geçirin.
Microsoft Entra karma kimliklerinin kurulumu ve eşitlemesi hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
- Microsoft Entra Connect Sync ile parola karması eşitlemesi uygulama
- Microsoft Entra doğrudan kimlik doğrulaması
- Azure ve Microsoft Entra Connect'te ve federasyonda Active Directory Federasyon Hizmetleri (AD FS) dağıtma
Bu diyagramda ADFS altyapısı (veya Windows kimlik bilgileri için kullanıcı/parola) ile örnek bir federasyon kimlik doğrulaması gösterilmektedir. Oklar iletişim yollarını gösterir.
Aşağıdaki diyagramda, istemcinin bir belirteç göndererek veritabanına bağlanmasına izin veren federasyon, güven ve barındırma ilişkileri gösterilir. Microsoft Entra Id belirtecin kimliğini doğrular ve veritabanı buna güvenir ve vereni ve diğer ayrıntıları doğrular. Müşteri 1 yerel kullanıcılarla Microsoft Entra Kimliğini veya federasyon kullanıcılarıyla Microsoft Entra Id'yi temsil edebilir. Müşteri 2, içeri aktarılan kullanıcılar da dahil olmak üzere olası bir çözümü temsil eder. Bu örnekte, ADFS'nin Microsoft Entra Kimliği ile eşitlendiği federasyon Microsoft Entra Kimliği'nden gelir. Microsoft Entra kimlik doğrulamasını kullanarak bir veritabanına erişimin barındırma aboneliğinin Microsoft Entra Kimliği ile ilişkilendirilmesi gerektiğini anlamak önemlidir. Azure SQL veya Azure Synapse kaynaklarını oluşturmak için aynı abonelik kullanılmalıdır.
İzinler
Microsoft Entra yöneticisine atanan izinler, Azure SQL'de atanan sorumlulardan farklıdır. Birkaç senaryoda, Azure SQL'in Microsoft Entra kimlik doğrulamasını kullanmak için Microsoft Graph izinlerine de ihtiyacı vardır.
Yönetici izinleri
Microsoft Entra yöneticisine, oluşturulduğunda aşağıdaki izinler ve roller atanır:
- Sunucudaki veya örnekteki her veritabanının db_owner
Azure SQL izinleri
Bir sorumlunun ALTER ANY USER
kullanıcı oluşturmak için veritabanında izin alması gerekir.
Varsayılan olarak şu ALTER ANY USER
şekilde verilir: sunucu yöneticisi hesapları, ile CONTROL ON DATABASE
veritabanı kullanıcıları ve veritabanı rolünün db_owner
üyeleri.
Azure SQL'de bir Microsoft Entra sorumlusu oluşturmak için, istekte bulunan kimliğin sorumlu hakkındaki ayrıntılar için Microsoft Graph'ı sorgulaması gerekir. İlk dağıtımda, MS Graph'i sorgulayabilen tek kimlik Microsoft Entra yöneticisidir; bu nedenle, yöneticinin diğer Microsoft Entra sorumlularını oluşturan ilk kimlik olması gerekir. Bundan sonra, diğer Microsoft Entra sorumlularını da oluşturmalarına izin vermek için diğer sorumlulara atayabilir ALTER ANY USER
.
Microsoft Entra kimlik doğrulaması ile sıfır dokunmayla dağıtımlar
Veritabanına bağlanan ve diğer Microsoft Entra kullanıcılarını oluşturan ilk kimlik Microsoft Entra yöneticisi olması gerektiğinden, dağıtım altyapınızın kimliğini yönetici olarak eklemek yararlı olabilir. Dağıtımlarınız daha sonra diğer Microsoft Entra sorumlularını oluşturma ve bunlara izin atama gibi ilk kurulumları gerçekleştirebilir. Dağıtımlar, otomatik sorumlu oluşturma betiği oluşturmak için PowerShell ARM şablonları gibi araçları kullanabilir. Azure SQL bugün kullanıcı oluşturma ve izin yönetimini yapılandırmak için yerel API'leri desteklememektedir; bu işlemlerin yalnızca SQL örneğine doğrudan bağlantıyla yapılmasına izin verilir.
Microsoft Graph izinleri
Microsoft Entra sorumlularını ve diğer birkaç senaryoyu oluşturmak için Azure SQL'in Microsoft Entra Id'deki kimlikle ilgili bilgileri almak ve varlığını doğrulamak için Microsoft Graph çağrıları yapması gerekir. Bunu yapmak için SQL işleminin müşteri kiracısında MS Graph okuma izinlerine sahip olması veya bu izinlere erişmesi gerekir ve bu izinler birkaç yolla elde edilir:
- Komutu yürüten SQL sorumlusu bir kullanıcı kimliğiyse, MS Graph'ı sorgulamak için SQL örneğinde ek izin gerekmez.
- Komutu yürüten SQL sorumlusu, hizmet sorumlusu veya yönetilen kimlik gibi bir hizmet kimliğiyse, Azure SQL örneği MS Graph'i sorgulamak için kendi izinlerini gerektirir.
- Uygulama izinleri, mantıksal sunucunun veya yönetilen örneğin birincil sunucu kimliğine (yönetilen kimlik) atanabilir. SQL işlemi, bir kiracıdaki MS Graph gibi diğer Azure hizmetlerinde kimlik doğrulaması yapmak için birincil sunucu kimliğini kullanabilir. Aşağıdaki tabloda, komutun başarıyla yürütülmesi için gereken çeşitli senaryolar ve MS Graph izinleri açıklanmaktadır.
Senaryo | En Düşük İzin |
---|---|
Microsoft Entra hizmet sorumlusu veya yönetilen kimlik için CREATE USER veya CREATE LOGIN | Application.Read.All |
Microsoft Entra kullanıcısı için CREATE USER veya CREATE LOGIN | User.Read.All |
Microsoft Entra grubu için CREATE USER veya CREATE LOGIN | GroupMember.Read.All |
Azure SQL Yönetilen Örneği ile Microsoft Entra kimlik doğrulaması | Yönetilen örnek kimliğine atanan Dizin Okuyucuları rolü |
İpucu
Dizin Okuyucuları rolü, Azure SQL'in ihtiyaç duyduğu tüm izinleri kapsayan bir kimliğe atanabilecek en küçük kapsamlı roldür. Rollerin kullanılması, Microsoft Entra güvenlik gruplarına atanabilme, yönetimi tek tek varlıklardan ve kavramsal gruplara soyutlama avantajına sahiptir.
Araçlar desteği
SQL Server Management Studio (SSMS), çok faktörlü kimlik doğrulaması dahil olmak üzere bir dizi Microsoft Entra kimlik doğrulaması bağlantı seçeneğini destekler.
2015'den başlayarak Visual Studio için SQL Server Veri Araçları (SSDT), Microsoft Entra ID ile Parola, Tümleşik ve Etkileşimli kimlik doğrulamasını destekler. Daha fazla bilgi için bkz. SQL Server Veri Araçları'de (SSDT) Microsoft Entra ID desteği.
- Şu anda Microsoft Entra kullanıcıları SSDT Nesne Gezgini gösterilmiyor. Geçici bir çözüm olarak, sys.database_principals'da kullanıcıları görüntüleyin.
En düşük sürümler
Azure SQL ile Microsoft Entra kimlik doğrulamasını kullanmak için, bu araçları kullanırken aşağıdaki en düşük sürümlere ihtiyacınız vardır:
- SQL Server Management Studio (SSMS) 18.6 veya üzeri
- Visual Studio 2015, sürüm 14.0.60311.1 (Nisan 2016) veya üzeri için SQL Server Veri Araçları
- SqlServer için .NET Framework Veri Sağlayıcısı, en düşük sürüm .NET Framework 4.6
- 15.0.1 sürümünden itibaren sqlcmd yardımcı programı ve bcp yardımcı programı, çok faktörlü kimlik doğrulaması ile Active Directory Etkileşimli kimlik doğrulamasını destekler.
- SQL Server için Microsoft JDBC Driver 6.0, Microsoft Entra kimlik doğrulamasını destekler. Ayrıca bkz . Bağlantı Özelliklerini Ayarlama.
Microsoft Entra ile Azure SQL kaynaklarına bağlanma
Azure SQL kaynağınız için Microsoft Entra kimlik doğrulaması yapılandırıldıktan sonra SQL Server Management Studio, SQL Server Veri Araçları ve bir istemci uygulaması kullanarak bağlanabilirsiniz.
Sınırlamalar
Azure SQL ile Microsoft Entra kimlik doğrulamasını kullanırken aşağıdaki sınırlamaları göz önünde bulundurun:
2048'den fazla Microsoft Entra güvenlik grubunun üyesi olan Microsoft Entra kullanıcıları ve hizmet sorumluları (Microsoft Entra uygulamaları) desteklenmez ve veritabanında oturum açamaz.
Aşağıdaki sistem işlevleri desteklenmez ve Microsoft Entra sorumluları tarafından yürütürken NULL değerleri döndürür:
SUSER_ID()
SUSER_NAME(<ID>)
SUSER_SNAME(<SID>)
SUSER_ID(<name>)
SUSER_SID(<name>)
Bağlantı zaman aşımını 30 saniye olarak ayarlamanızı öneririz.
Azure SQL Veritabanı ve Azure Synapse Analytics
Azure SQL Veritabanı ve Azure Synapse Analytics ile Microsoft Entra kimlik doğrulamasını kullanırken aşağıdaki sınırlamaları göz önünde bulundurun:
Veritabanı rolünün üyesi
db_owner
olan bir grubun parçası olan Microsoft Entra kullanıcıları, Azure SQL Veritabanı ve Azure Synapse'de CREATE DATABASE SCOPED CREDENTIAL söz dizimini kullanmaya çalışırken aşağıdaki hatayı görebilir:SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.
CREATE DATABASE SCOPED CREDENTIAL sorununu azaltmak için, Doğrudan role Microsoft Entra kullanıcısının kimliğini
db_owner
ekleyin.Azure SQL Veritabanı ve Azure Synapse Analytics, Microsoft Entra grup üyeliği kapsamında oturum açan kullanıcılar için örtük kullanıcılar oluşturmaz. Bu nedenle, Microsoft Entra grubu bu izinlere sahip bir role üye olarak eklense bile sahiplik ataması gerektiren çeşitli işlemler başarısız olabilir.
Örneğin, db_ddladmin rolüne sahip bir Microsoft Entra grubu aracılığıyla veritabanında oturum açan bir kullanıcı, şema açıkça tanımlanmadan CREATE SCHEMA, ALTER SCHEMA ve diğer nesne oluşturma deyimlerini yürütemez (örneğin, tablo, görünüm veya tür gibi). Bu sorunu çözmek için bu kullanıcı için bir Microsoft Entra kullanıcısı oluşturulmalıdır veya Microsoft Entra grubu dbo gibi bir DEFAULT_SCHEMA atamak için değiştirilmelidir.
Coğrafi çoğaltma ve yük devretme gruplarını kullanırken, Microsoft Entra yöneticisinin hem birincil hem de ikincil sunucular için yapılandırılması gerekir. Bir sunucuda Microsoft Entra yöneticisi yoksa, Microsoft Entra oturum açar ve kullanıcılar bir
Cannot connect
hata alır.Sunucu için Microsoft Entra yöneticisinin kaldırılması, sunucuyla tüm Microsoft Entra kimlik doğrulama bağlantılarını engeller. Gerekirse, SQL Veritabanı yöneticisi kullanılamayan Microsoft Entra kullanıcılarını el ile bırakabilir.
Azure SQL Yönetilen Örnek
Azure SQL Yönetilen Örneği ile Microsoft Entra kimlik doğrulamasını kullanırken aşağıdaki sınırlamaları göz önünde bulundurun:
Microsoft Entra sunucu sorumluları (oturum açma bilgileri) ve kullanıcılar SQL Yönetilen Örneği için desteklenir.
Microsoft Entra grubu oturum açma bilgilerini veritabanı sahibi olarak ayarlamak SQL Yönetilen Örneği desteklenmez.
- Bunun bir uzantısı, sunucu rolünün
dbcreator
bir parçası olarak bir grup eklendiğinde, bu gruptaki kullanıcıların SQL Yönetilen Örneği bağlanıp yeni veritabanları oluşturabilmesidir, ancak veritabanına erişemez. Bunun nedeni, yeni veritabanı sahibinin Microsoft Entra kullanıcısı değil SA olmasıdır. Bu sorun, tek tek kullanıcının sunucu rolüne eklenip eklenmediğinidbcreator
göstermez.
- Bunun bir uzantısı, sunucu rolünün
SQL Yönetilen Örneği için Microsoft Entra sunucu sorumluları (oturum açma bilgileri), role eklenebilecek
sysadmin
birden çok oturum açma bilgisi oluşturma olanağı sağlar.SQL Aracısı yönetimi ve işleri yürütme, Microsoft Entra oturum açma işlemleri için desteklenir.
Veritabanı yedekleme ve geri yükleme işlemleri Microsoft Entra sunucu sorumluları (oturum açma bilgileri) tarafından yürütülebilir.
Microsoft Entra sunucu sorumluları (oturum açma bilgileri) ve kimlik doğrulama olaylarıyla ilgili tüm deyimlerin denetlenilmesi desteklenir.
Sysadmin sunucu rolünün üyesi olan Microsoft Entra sunucu sorumluları (oturum açma bilgileri) için ayrılmış yönetici bağlantısı desteklenir.
- SQLCMD Yardımcı Programı ve SQL Server Management Studio aracılığıyla desteklenir.
Oturum açma tetikleyicileri, Microsoft Entra sunucu sorumlularından (oturum açma bilgileri) gelen oturum açma olayları için desteklenir.
Hizmet Aracısı ve DB postası bir Microsoft Entra sunucu sorumlusu (oturum açma) kullanılarak ayarlanabilir.
Yük devretme gruplarını kullanırken, Microsoft Entra yöneticisinin hem birincil hem de ikincil örnekler için yapılandırılması gerekir. Bir örneğin Microsoft Entra yöneticisi yoksa, Microsoft Entra oturum açar ve kullanıcılar bir
Cannot connect
hata alır.PolyBase, Microsoft Entra kimlik doğrulaması kullanılarak kimlik doğrulaması yapamaz.
Örnek için Microsoft Entra yöneticisinin kaldırılması, örneğe yönelik tüm Microsoft Entra kimlik doğrulama bağlantılarını engeller. Gerekirse, SQL Yönetilen Örneği yöneticisi kullanılamayan Microsoft Entra kullanıcılarını el ile bırakabilir.
İlgili içerik
- Azure SQL ile Microsoft Entra kimlik doğrulamasını yapılandırma ve yönetme
- Öğretici: Microsoft Entra oturum açma bilgileriyle güvenli - Azure SQL Yönetilen Örneği
- SQL Veritabanı’na, SQL Yönetilen Örneği’ne ve Azure Synapse Analytics’e veritabanı erişimini yetkilendirme
- Veritabanı sorumluları
- Veritabanı rolleri
- SQL Yönetilen Örneği Microsoft Entra sunucu sorumluları (oturum açma bilgileri) için CREATE LOGIN söz dizimi
- Azure SQL Veritabanı ve Azure Synapse IP güvenlik duvarı kuralları