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ı
OLE DB sürücüsünü indirme
Amaç
18.2.1 sürümünden başlayarak SQL Server için Microsoft OLE DB Sürücüsü, OLE DB uygulamalarının federasyon kimliği kullanarak Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics ve Microsoft Fabric'e bağlanmasına olanak tanır.
Microsoft Entra kimlik doğrulama yöntemleri şunlardır:
- Kullanıcı adı ve parola
- Erişim belirteci
- Tümleşik kimlik doğrulaması
Sürüm 18.3.0 , aşağıdaki Microsoft Entra kimlik doğrulama yöntemleri için destek ekler:
Etkileşimli kimlik doğrulaması
Yönetilen kimlik doğrulaması (yalnızca Yönetilen Kimlik ile yapılandırılmış Azure Sanal Makinesi içinden)
Sürüm 18.5.0 , aşağıdaki kimlik doğrulama yöntemi için destek ekler:
- Microsoft Entra hizmet sorumlusu kimlik doğrulaması
Uyarı
aşağıdaki kimlik doğrulama modlarının DataTypeCompatibility (veya buna karşılık gelen özelliğinin) olarak ayarlanması 80desteklenmez :
- Kullanıcı adı ve parola kullanarak Microsoft Entra kimlik doğrulaması
- Erişim belirtecini kullanarak Microsoft Entra kimlik doğrulaması
- Microsoft Entra tümleşik kimlik doğrulaması
- Microsoft Entra etkileşimli kimlik doğrulaması
- Microsoft Entra yönetilen kimlik doğrulaması
- Microsoft Entra hizmet sorumlusu kimlik doğrulaması
Microsoft Entra kimlik doğrulamasını kullanmak için Azure SQL veri kaynağınızı yapılandırmanız gerekir. Daha fazla bilgi için bkz. Azure SQL ile Microsoft Entra kimlik doğrulamasını yapılandırma ve yönetme.
Bağlantı dizesi anahtar sözcükleri ve özellikleri
Microsoft Entra kimlik doğrulamasını desteklemek için aşağıdaki bağlantı dizesi anahtar sözcükleri kullanıma sunulmuştur:
| Bağlantı dizesi anahtar sözcüğü | Bağlantı özelliği | Description |
|---|---|---|
| Erişim Belirteci | SSPROP_AUTH_ACCESS_TOKEN |
Microsoft Entra ID kimlik doğrulaması için bir erişim belirteci belirtir. |
| Authentication | SSPROP_AUTH_MODE |
Kullanılacak kimlik doğrulama yöntemini belirtir. |
Yeni anahtar sözcükler/özellikler hakkında daha fazla bilgi için aşağıdaki sayfalara bakın:
- SQL Server için OLE DB Sürücüsü ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma
- Başlatma ve Yetkilendirme Özellikleri
Şifreleme ve sertifika doğrulama
Daha fazla bilgi için bkz . Şifreleme ve sertifika doğrulaması .
GUI eklemeleri
Sürücü grafik kullanıcı arabirimi, Microsoft Entra kimlik doğrulamasına izin verecek şekilde geliştirilmiştir. Daha fazla bilgi için bakınız:
Örnek bağlantı dizeleri
Bu bölümde IDataInitialize::GetDataSource ve DBPROP_INIT_PROVIDERSTRING özellikleriyle kullanılacak yeni ve mevcut bağlantı dizesi anahtar sözcüklerinin örnekleri gösterilir.
SQL kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:- Yeni:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=SqlPassword; Kullanıcı Kimliği=[kullanıcıadı]; Password=[password]; Veri için Şifrelemeyi Kullanma=Zorunlu
- Kullanımdan Kaldırılmış
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Kullanıcı Kimliği=[kullanıcıadı]; Password=[password]; Veri için Şifrelemeyi Kullanma=Zorunlu
- Yeni:
- kullanarak
DBPROP_INIT_PROVIDERSTRING:- Yeni:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=SqlPassword; UID=[kullanıcıadı]; PWD=[parola]; Encrypt=Zorunlu
- Kullanımdan Kaldırılmış
Sunucu=[sunucu]; Veritabanı=[veritabanı]; UID=[kullanıcıadı]; PWD=[parola]; Encrypt=Zorunlu
- Yeni:
Güvenlik Desteği Sağlayıcısı Arabirimi (SSPI) kullanarak tümleşik Windows kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:- Yeni:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryIntegrated; Veri için Şifrelemeyi Kullanma=Zorunlu
- Kullanımdan Kaldırılmış
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Tümleşik Güvenlik=SSPI; Veri için Şifrelemeyi Kullanma=Zorunlu
- Yeni:
- kullanarak
DBPROP_INIT_PROVIDERSTRING:- Yeni:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryIntegrated; Şifreleme=Zorunlu
- Kullanımdan Kaldırılmış
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Trusted_Connection=evet; Encrypt=Zorunlu
- Yeni:
Microsoft Entra kullanıcı adı ve parola kimlik doğrulaması
Uyarı
ActiveDirectoryPassword kimlik doğrulama seçeneği (Microsoft Entra ID Parola kimlik doğrulaması) kullanım dışıdır.
Microsoft Entra Id parolası, OAuth 2.0 Kaynak Sahibi Parola Kimlik Bilgileri (ROPC) iznini temel alır. Bu, bir uygulamanın parolasını doğrudan işleyerek kullanıcıda oturum açmasına olanak tanır.
Microsoft, ROPC akışını kullanmamanızı önerir; çok faktörlü kimlik doğrulaması (MFA) ile uyumsuz. Çoğu senaryoda daha güvenli alternatifler kullanılabilir ve önerilir. Bu akış, uygulamaya yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca daha güvenli akışlar uygun olmadığında kullanmalısınız. Microsoft, kullanıcıları kötü amaçlı saldırılardan korumak için bu yüksek riskli kimlik doğrulama akışından uzaklaşıyor. Daha fazla bilgi için bkz. Azure için zorunlu çok faktörlü kimlik doğrulamasını planlama.
Kullanıcı bağlamı kullanılabilir olduğunda ActiveDirectoryInteractive kimlik doğrulamayı kullanın.
Kullanıcı bağlamı kullanılamadığında ve uygulamanız Azure altyapısında çalışıyorsa ActiveDirectoryMSI (veya bazı sürücülerde ActiveDirectoryManagedIdentity) kullanın. Yönetilen Kimlik, sırları ve sertifikaları koruma ve döndürme yükünü ortadan kaldırır. Yönetilen Kimlik'i kullanamıyorsanız ActiveDirectoryServicePrincipal kimlik doğrulamayı kullanın.
Uyarı
Kullanıcı bağlamı kullanılabilir olduğunda Hizmet Sorumlusu kimlik doğrulamayı kullanmayın. Yalnızca uygulama üzerinden erişim doğası gereği yüksek ayrıcalıklıdır. Genellikle kiracı genelinde erişim sağlayarak kötü niyetli bir kişinin herhangi bir kullanıcının müşteri verilerine erişmesine imkan tanıyabilir.
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryPassword; Kullanıcı Kimliği=[kullanıcıadı]; Password=[password]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=ActiveDirectoryPassword; UID=[kullanıcıadı]; PWD=[parola]; Encrypt=Zorunlu
Microsoft Entra tümleşik kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryIntegrated; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryIntegrated; Şifreleme=Zorunlu
Erişim belirteci kullanarak Microsoft Entra kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Erişim Belirteci=[erişim belirteci]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:DBPROP_INIT_PROVIDERSTRINGüzerinden erişim belirteci sağlanması desteklenmiyor
Microsoft Entra etkileşimli kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryInteractive; Kullanıcı Kimliği=[kullanıcıadı]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=ActiveDirectoryInteractive; UID=[kullanıcıadı]; Encrypt=Zorunlu
Microsoft Entra yönetilen kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:- Kullanıcı tarafından atanan yönetilen kimlik:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryMSI; Kullanıcı Kimliği=[Nesne Kimliği]; Veri için Şifrelemeyi Kullanma=Zorunlu
- Sistem tarafından atanan yönetilen kimlik:
Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; İlk Katalog=[veritabanı]; Authentication=ActiveDirectoryMSI; Veri için Şifrelemeyi Kullanma=Zorunlu
- Kullanıcı tarafından atanan yönetilen kimlik:
- kullanarak
DBPROP_INIT_PROVIDERSTRING:- Kullanıcı tarafından atanan yönetilen kimlik:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryMSI; UID=[Nesne Kimliği]; Şifreleme=Zorunlu
- Sistem tarafından atanan yönetilen kimlik:
Sunucu=[sunucu]; Veritabanı=[veritabanı]; Kimlik Doğrulama=ActiveDirectoryMSI; Şifreleme=Zorunlu
- Kullanıcı tarafından atanan yönetilen kimlik:
Microsoft Entra hizmet sorumlusu kimlik doğrulaması
- kullanarak
IDataInitialize::GetDataSource:Provider=MSOLEDBSQL19; Veri Kaynağı=[sunucu]; Başlangıç Kataloğu=[veritabanı]; Authentication=ActiveDirectoryServicePrincipal; Kullanıcı Kimliği=[Uygulama (istemci) Kimliği]; Parola=[Uygulama (istemci) gizli dizisi]; Veri için Şifrelemeyi Kullanma=Zorunlu
- kullanarak
DBPROP_INIT_PROVIDERSTRING:Sunucu=[sunucu]; Veritabanı=[veritabanı]; Authentication=ActiveDirectoryServicePrincipal; UID=[Uygulama (istemci) kimliği]; PWD=[Uygulama (istemci) gizli dizisi]; Encrypt=Zorunlu
Kod örnekleri
Aşağıdaki örneklerde bağlantı anahtar sözcükleriyle Microsoft Entra ID'ye bağlanmak için gereken kod gösterilmektedir.
Erişim Belirteci
#include <string>
#include <iostream>
#include <msdasc.h>
int main()
{
wchar_t azureServer[] = L"server";
wchar_t azureDatabase[] = L"mydatabase";
wchar_t accessToken[] = L"eyJ0eXAiOi...";
IDBInitialize *pIDBInitialize = nullptr;
IDataInitialize* pIDataInitialize = nullptr;
HRESULT hr = S_OK;
CoInitialize(nullptr);
// Construct the connection string.
std::wstring connString = L"Provider=MSOLEDBSQL19;Data Source=" + std::wstring(azureServer) + L";Initial Catalog=" +
std::wstring(azureDatabase) + L";Access Token=" + accessToken + L";Use Encryption for Data=Mandatory;";
hr = CoCreateInstance(CLSID_MSDAINITIALIZE, nullptr, CLSCTX_INPROC_SERVER,
IID_IDataInitialize, reinterpret_cast<LPVOID*>(&pIDataInitialize));
if (FAILED(hr))
{
std::cout << "Failed to create an IDataInitialize instance." << std::endl;
goto Cleanup;
}
hr = pIDataInitialize->GetDataSource(nullptr, CLSCTX_INPROC_SERVER, connString.c_str(),
IID_IDBInitialize, reinterpret_cast<IUnknown**>(&pIDBInitialize));
if (FAILED(hr))
{
std::cout << "Failed to get data source object." << std::endl;
goto Cleanup;
}
hr = pIDBInitialize->Initialize();
if (FAILED(hr))
{
std::cout << "Failed to establish connection." << std::endl;
goto Cleanup;
}
Cleanup:
if (pIDBInitialize)
{
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
}
if (pIDataInitialize)
{
pIDataInitialize->Release();
}
CoUninitialize();
}
Active Directory ile Entegre
#include <string>
#include <iostream>
#include <msdasc.h>
int main()
{
wchar_t azureServer[] = L"server";
wchar_t azureDatabase[] = L"mydatabase";
IDBInitialize *pIDBInitialize = nullptr;
IDataInitialize* pIDataInitialize = nullptr;
HRESULT hr = S_OK;
CoInitialize(nullptr);
// Construct the connection string.
std::wstring connString = L"Provider=MSOLEDBSQL19;Data Source=" + std::wstring(azureServer) + L";Initial Catalog=" +
std::wstring(azureDatabase) + L";Authentication=ActiveDirectoryIntegrated;Use Encryption for Data=Mandatory;";
hr = CoCreateInstance(CLSID_MSDAINITIALIZE, nullptr, CLSCTX_INPROC_SERVER,
IID_IDataInitialize, reinterpret_cast<LPVOID*>(&pIDataInitialize));
if (FAILED(hr))
{
std::cout << "Failed to create an IDataInitialize instance." << std::endl;
goto Cleanup;
}
hr = pIDataInitialize->GetDataSource(nullptr, CLSCTX_INPROC_SERVER, connString.c_str(),
IID_IDBInitialize, reinterpret_cast<IUnknown**>(&pIDBInitialize));
if (FAILED(hr))
{
std::cout << "Failed to get data source object." << std::endl;
goto Cleanup;
}
hr = pIDBInitialize->Initialize();
if (FAILED(hr))
{
std::cout << "Failed to establish connection." << std::endl;
goto Cleanup;
}
Cleanup:
if (pIDBInitialize)
{
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
}
if (pIDataInitialize)
{
pIDataInitialize->Release();
}
CoUninitialize();
}
İlgili içerik
OAuth 2.0 kod verme akışını kullanarak Microsoft Entra web uygulamalarına erişim yetkisi verin.
SQL Server'da Microsoft Entra kimlik doğrulaması hakkında bilgi edinin.
OLE DB sürücüsünün desteklediği bağlantı dizesi anahtar sözcüklerini kullanarak sürücü bağlantılarını yapılandırın.