Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Характер использования
Начиная с версии 18.2.1 Microsoft OLE DB Driver for SQL Server позволяет приложениям OLE DB подключаться к База данных SQL Azure, Управляемый экземпляр SQL Azure, Azure Synapse Analytics и Microsoft Fabric с помощью федеративного удостоверения.
К методам проверки подлинности Microsoft Entra относятся:
- Имя пользователя и пароль
- Маркер доступа
- Встроенная проверка подлинности
Версия 18.3.0 добавляет поддержку следующих методов проверки подлинности Microsoft Entra:
Интерактивная проверка подлинности
Проверка подлинности управляемого удостоверения (только из виртуальной машины Azure, настроенной с помощью управляемого удостоверения)
В версии 18.5.0 добавлена поддержка следующего способа проверки подлинности:
- Проверка подлинности субъекта-службы Microsoft Entra
Примечание.
Использование следующих режимов проверки подлинности с параметром DataTypeCompatibility (или соответствующего свойства этого элемента) со значением 80не поддерживается:
- Проверка подлинности Microsoft Entra с помощью имени пользователя и пароля
- Проверка подлинности Microsoft Entra с помощью маркера доступа
- Встроенная проверка подлинности Microsoft Entra
- Интерактивная проверка подлинности Microsoft Entra
- Проверка подлинности управляемых удостоверений Microsoft Entra
- Проверка подлинности субъекта-службы Microsoft Entra
Чтобы использовать проверку подлинности Microsoft Entra, необходимо настроить источник данных SQL Azure. Дополнительные сведения см. в разделе о настройке и администрировании проверки подлинности Microsoft Entra с помощью Azure SQL.
Ключевые слова и свойства строки подключения
Ниже приведены ключевые слова строка подключения для поддержки проверки подлинности Microsoft Entra:
| Ключевое слово строки подключения | Свойства подключения | Description |
|---|---|---|
| Маркер доступа | SSPROP_AUTH_ACCESS_TOKEN |
Указывает маркер доступа для проверки подлинности в идентификаторе Microsoft Entra. |
| Проверка подлинности | SSPROP_AUTH_MODE |
Указывает используемый метод проверки подлинности. |
Дополнительные сведения о новых ключевых словах и свойствах см. на следующих страницах:
- Использование ключевых слов строки подключения с драйвером OLE DB для SQL Server
- Свойства инициализации и авторизации
Шифрование и проверка сертификатов
Дополнительные сведения см. в разделе Шифрование и проверка сертификатов.
Добавление графических пользовательских интерфейсов
Графический пользовательский интерфейс драйвера был улучшен, чтобы разрешить проверку подлинности Microsoft Entra. Дополнительные сведения см. в разделе:
Примеры строк подключения
В этом разделе приведены примеры новых и существующих ключевых слов строки подключения для использования со свойствами IDataInitialize::GetDataSource и DBPROP_INIT_PROVIDERSTRING.
Проверка подлинности SQL
- Использование:
IDataInitialize::GetDataSource- Новые функции:
Provider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=SqlPassword; Идентификатор пользователя=[имя_пользователя]; Password=[password]; Использование шифрования для Data=Обязательно
- Устаревшие:
Provider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Идентификатор пользователя=[имя_пользователя]; Password=[password]; Использование шифрования для Data=Обязательно
- Новые функции:
- Использование:
DBPROP_INIT_PROVIDERSTRING- Новые функции:
Server=[server];Database=[database];Authentication=SqlPassword;UID=[username];PWD=[password];Encrypt=Mandatory
- Устаревшие:
Server=[server];Database=[database];UID=[username];PWD=[password];Encrypt=Mandatory
- Новые функции:
Встроенная проверка подлинности в Windows с помощью интерфейса поставщика поддержки безопасности (SSPI)
- Использование:
IDataInitialize::GetDataSource- Новые функции:
Provider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryIntegrated; Использование шифрования для Data=Обязательно
- Устаревшие:
Provider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Встроенная безопасность=SSPI; Использование шифрования для Data=Обязательно
- Новые функции:
- Использование:
DBPROP_INIT_PROVIDERSTRING- Новые функции:
Server=[server];Database=[database];Authentication=ActiveDirectoryIntegrated;Encrypt=Mandatory
- Устаревшие:
Server=[server];Database=[database];Trusted_Connection=yes;Encrypt=Mandatory
- Новые функции:
Проверка подлинности имени пользователя и пароля Microsoft Entra
- Использование:
IDataInitialize::GetDataSourceProvider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryPassword; Идентификатор пользователя=[имя_пользователя]; Password=[password]; Использование шифрования для Data=Обязательно
- Использование:
DBPROP_INIT_PROVIDERSTRINGServer=[server];Database=[database];Authentication=ActiveDirectoryPassword;UID=[username];PWD=[password];Encrypt=Mandatory
Встроенная проверка подлинности Microsoft Entra
- Использование:
IDataInitialize::GetDataSourceProvider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryIntegrated; Использование шифрования для Data=Обязательно
- Использование:
DBPROP_INIT_PROVIDERSTRINGServer=[server];Database=[database];Authentication=ActiveDirectoryIntegrated;Encrypt=Mandatory
Проверка подлинности Microsoft Entra с помощью маркера доступа
- Использование:
IDataInitialize::GetDataSourceProvider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Access Token=[маркер доступа]; Использование шифрования для Data=Обязательно
- Использование:
DBPROP_INIT_PROVIDERSTRINGПредоставление маркера доступа через
DBPROP_INIT_PROVIDERSTRINGне поддерживается.
Интерактивная проверка подлинности Microsoft Entra
- Использование:
IDataInitialize::GetDataSourceProvider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryInteractive; Идентификатор пользователя=[имя_пользователя]; Использование шифрования для Data=Обязательно
- Использование:
DBPROP_INIT_PROVIDERSTRINGServer=[server];Database=[database];Authentication=ActiveDirectoryInteractive;UID=[username];Encrypt=Mandatory
Проверка подлинности управляемого удостоверения Microsoft Entra
- Использование:
IDataInitialize::GetDataSource- Управляемое удостоверение, назначаемое пользователем:
Provider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryMSI; Идентификатор пользователя=[идентификатор объекта]; Использование шифрования для Data=Обязательно
- Управляемое удостоверение, назначаемое системой:
Provider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryMSI; Использование шифрования для Data=Обязательно
- Управляемое удостоверение, назначаемое пользователем:
- Использование:
DBPROP_INIT_PROVIDERSTRING- Управляемое удостоверение, назначаемое пользователем:
Server=[сервер]; Database=[база данных]; Authentication=ActiveDirectoryMSI; UID=[Идентификатор объекта]; Encrypt=Обязательный
- Управляемое удостоверение, назначаемое системой:
Server=[server];Database=[database];Authentication=ActiveDirectoryMSI;Encrypt=Mandatory
- Управляемое удостоверение, назначаемое пользователем:
Проверка подлинности субъекта-службы Microsoft Entra
- Использование:
IDataInitialize::GetDataSourceProvider=MSOLEDBSQL19; Источник данных=[сервер]; Первоначальный каталог=[база данных]; Authentication=ActiveDirectoryServicePrincipal; Идентификатор пользователя=[идентификатор приложения (клиент)]; Password=[Application (client) secret]; Использование шифрования для Data=Обязательно
- Использование:
DBPROP_INIT_PROVIDERSTRINGServer=[сервер]; Database=[база данных]; Authentication=ActiveDirectoryServicePrincipal; UID=[Идентификатор приложения (клиента)]; PWD=[Секрет приложения (клиента)]; Encrypt=Обязательно
Примеры кода
В следующих примерах показан код, необходимый для подключения к идентификатору Microsoft Entra с ключевыми словами подключения.
Маркер доступа
#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
#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();
}
Связанный контент
Авторизация доступа к веб-приложениям Microsoft Entra с помощью потока предоставления кода OAuth 2.0.
Сведения о проверке подлинности Microsoft Entra в SQL Server.
Настройте подключения к драйверам с помощью ключевых слов строки подключения, которые поддерживаются драйвером OLE DB.