Использовать проверку подлинности Azure Active DirectoryUse Azure Active Directory authentication

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

Проверка подлинности Azure Active Directory (Azure AD) — это механизм подключения к базе данных SQLAzure, Azure SQL управляемый экземпляри синапсе SQL в Azure синапсе Analytics с помощью удостоверений в Azure AD.Azure Active Directory (Azure AD) authentication is a mechanism for connecting to Azure SQL Database, Azure SQL Managed Instance, and Synapse SQL in Azure Synapse Analytics by using identities in Azure AD.

Примечание

Эта статья относится к базе данных SQL Azure, Управляемый экземпляр SQL и Azure синапсе Analytics.This article applies to Azure SQL Database, SQL Managed Instance, and Azure Synapse Analytics.

С помощью проверки подлинности Azure AD можно централизованно управлять удостоверениями пользователей базы данных и другими службами Майкрософт.With Azure AD authentication, you can centrally manage the identities of database users and other Microsoft services in one central location. Централизованное управление удостоверениями позволяет использовать единое расположение для управления пользователями и упрощает управление разрешениями.Central ID management provides a single place to manage database users and simplifies permission management. Это дает такие преимущества:Benefits include the following:

  • наличие альтернативного варианта проверки подлинности SQL Server;It provides an alternative to SQL Server authentication.

  • Это помогает предотвратить увеличение числа удостоверений пользователей на серверах.It helps stop the proliferation of user identities across servers.

  • возможность смены паролей в одном месте;It allows password rotation in a single place.

  • клиенты могут управлять разрешениями базы данных с помощью внешних групп (Azure AD);Customers can manage database permissions using external (Azure AD) groups.

  • возможность исключить хранение паролей с помощью встроенной проверки подлинности Windows и других видов проверки подлинности, поддерживаемых Azure Active Directory;It can eliminate storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure Active Directory.

  • При проверке подлинности Azure AD используются данные пользователей автономной базы данных для проверки подлинности удостоверений на уровне базы данных.Azure AD authentication uses contained database users to authenticate identities at the database level.

  • Azure AD поддерживает проверку подлинности на основе маркеров для приложений, подключающихся к базе данных SQL и Управляемый экземпляр SQL.Azure AD supports token-based authentication for applications connecting to SQL Database and SQL Managed Instance.

  • Проверка подлинности Azure AD поддерживает:Azure AD authentication supports:

  • Azure AD поддерживает подключения из SQL Server Management Studio, использующие универсальную аутентификацию Active Directory, в том числе Многофакторную идентификацию.Azure AD supports connections from SQL Server Management Studio that use Active Directory Universal Authentication, which includes Multi-Factor Authentication. Многофакторная идентификация включает надежную проверку подлинности с помощью ряда простых вариантов проверки — телефонного звонка, текстового сообщения, смарт-карт с ПИН-кодом или уведомления мобильного приложения.Multi-Factor Authentication includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Дополнительные сведения см. в статье поддержка SSMS для многофакторной идентификации Azure AD с помощью базы данных SQL Azure, sql управляемый экземпляр и Azure синапсе .For more information, see SSMS support for Azure AD Multi-Factor Authentication with Azure SQL Database, SQL Managed Instance, and Azure Synapse

  • Azure AD поддерживает аналогичные подключения из SQL Server Data Tools (SSDT), использующие интерактивную аутентификацию Active Directory.Azure AD supports similar connections from SQL Server Data Tools (SSDT) that use Active Directory Interactive Authentication. Дополнительные сведения см. в разделе поддержка Azure Active Directory в SQL Server Data Tools (SSDT) .For more information, see Azure Active Directory support in SQL Server Data Tools (SSDT)

Примечание

Подключение к экземпляру SQL Server, который выполняется на виртуальной машине Azure, не поддерживается при использовании учетной записи Azure Active Directory.Connecting to a SQL Server instance that's running on an Azure virtual machine (VM) is not supported using an Azure Active Directory account. Вместо этого используйте учетную запись домена Active Directory.Use a domain Active Directory account instead.

Для настройки и использования проверки подлинности Azure Active Directory выполните следующие действия.The configuration steps include the following procedures to configure and use Azure Active Directory authentication.

  1. Создайте и заполните каталог Azure AD.Create and populate Azure AD.
  2. Свяжите или измените каталог Active Directory, который сейчас связан с вашей подпиской Azure (этот шаг можно пропустить).Optional: Associate or change the active directory that is currently associated with your Azure Subscription.
  3. Создайте администратора Azure Active Directory.Create an Azure Active Directory administrator.
  4. Настройте клиентские компьютеры.Configure your client computers.
  5. Создайте учетные записи пользователей автономной базы данных в базе данных, сопоставленной с удостоверениями Azure AD.Create contained database users in your database mapped to Azure AD identities.
  6. Подключитесь к базе данных с помощью удостоверений Azure AD.Connect to your database by using Azure AD identities.

Примечание

Сведения о том, как создать и заполнить Azure AD, а затем настроить Azure AD с помощью базы данных SQL Azure, SQL Управляемый экземпляр и синапсе SQL в Azure синапсе Analytics, см. в статье Настройка Azure AD с базой данных SQL Azure.To learn how to create and populate Azure AD, and then configure Azure AD with Azure SQL Database, SQL Managed Instance, and Synapse SQL in Azure Synapse Analytics, see Configure Azure AD with Azure SQL Database.

Архитектура доверияTrust architecture

  • Только облачная часть Azure AD, база данных SQL, SQL Управляемый экземпляр и Azure синапсе поддерживают пароли собственных пользователей Azure AD.Only the cloud portion of Azure AD, SQL Database, SQL Managed Instance, and Azure Synapse is considered to support Azure AD native user passwords.
  • Для поддержки учетных данных единого входа Windows (или пользователя или пароля для учетных данных Windows) используйте учетные данные Azure Active Directory из федеративного или управляемого домена, для которого настроен простой единый вход и проверка подлинности с помощью хэширования паролей.To support Windows single sign-on credentials (or user/password for Windows credential), use Azure Active Directory credentials from a federated or managed domain that is configured for seamless single sign-on for pass-through and password hash authentication. Дополнительные сведения см. в разделе Устранение неполадок с простым единым входом Azure Active Directory.For more information, see Azure Active Directory Seamless Single Sign-On.
  • Для поддержки федеративной проверки подлинности (или имени пользователя и пароля в качестве учетных данных Windows) требуется взаимодействие с блоком ADFS.To support Federated authentication (or user/password for Windows credentials), the communication with ADFS block is required.

Дополнительные сведения об гибридных удостоверениях Azure AD, установке и синхронизации см. в следующих статьях:For more information on Azure AD hybrid identities, the setup, and synchronization, see the following articles:

Пример федеративной проверки подлинности с помощью инфраструктуры ADFS (или пользователя или пароля для учетных данных Windows) см. на приведенной ниже схеме.For a sample federated authentication with ADFS infrastructure (or user/password for Windows credentials), see the diagram below. Стрелки обозначают пути обмена данными.The arrows indicate communication pathways.

схема проверки подлинности aad

На следующей схеме показаны федерация, отношения доверия и отношения размещения. Все эти компоненты позволяют клиенту подключиться к базе данных, отправив маркер.The following diagram indicates the federation, trust, and hosting relationships that allow a client to connect to a database by submitting a token. Маркер проходит аутентификацию в Azure AD и становится доверенным для базы данных.The token is authenticated by an Azure AD, and is trusted by the database. Клиент 1 может представлять каталог Azure AD с собственными пользователями или федеративными пользователями.Customer 1 can represent an Azure Active Directory with native users or an Azure AD with federated users. Клиент 2 представляет возможное решение, включая импортированных пользователей, из этого примера, поступающих из федеративного Azure Active Directory с ADFS, которые синхронизируются с Azure Active Directory.Customer 2 represents a possible solution including imported users, in this example coming from a federated Azure Active Directory with ADFS being synchronized with Azure Active Directory. Важно понимать, что для доступа к базе данных с использованием проверки подлинности Azure AD необходимо связать подписку размещения с Azure AD.It's important to understand that access to a database using Azure AD authentication requires that the hosting subscription is associated to the Azure AD. Для создания базы данных SQL Azure, Управляемый экземпляр SQL или ресурсов Azure синапсе необходимо использовать ту же подписку.The same subscription must be used to create the Azure SQL Database, SQL Managed Instance, or Azure Synapse resources.

отношение подписки

Структура администраторовAdministrator structure

При использовании аутентификации Azure AD существует две учетные записи администратора: исходный администратор базы данных SQL Azure и администратор Azure AD.When using Azure AD authentication, there are two Administrator accounts: the original Azure SQL Database administrator and the Azure AD administrator. Те же принципы применимы к Azure синапсе.The same concepts apply to Azure Synapse. Создать в пользовательской базе данных первого пользователя автономной базы данных Azure AD может только администратор с учетной записью Azure AD.Only the administrator based on an Azure AD account can create the first Azure AD contained database user in a user database. Администратор Azure AD может использовать для входа имя пользователя Azure AD или имя группы Azure AD.The Azure AD administrator login can be an Azure AD user or an Azure AD group. Если администратор является учетной записью группы, он может использоваться любым участником группы, что позволяет использовать несколько администраторов Azure AD для сервера.When the administrator is a group account, it can be used by any group member, enabling multiple Azure AD administrators for the server. Использование учетной записи группы в качестве администратора повышает управляемость, позволяя централизованно добавлять и удалять членов группы в Azure AD без изменения пользователей или разрешений в базе данных SQL или Azure синапсе.Using group account as an administrator enhances manageability by allowing you to centrally add and remove group members in Azure AD without changing the users or permissions in SQL Database or Azure Synapse. За один раз можно настроить только одного администратора Azure AD (пользователя или группу).Only one Azure AD administrator (a user or group) can be configured at any time.

структура администраторов

РазрешенияPermissions

Чтобы создавать новых пользователей, у вас должно быть разрешение ALTER ANY USER в базе данных.To create new users, you must have the ALTER ANY USER permission in the database. Разрешение ALTER ANY USER можно предоставить любому пользователю базы данных.The ALTER ANY USER permission can be granted to any database user. Разрешение ALTER ANY USER также предоставляется учетным записям администратора сервера и пользователям базы данных с разрешениями CONTROL ON DATABASE или ALTER ON DATABASE для этой базы данных, а также участникам роли db_owner в базе данных.The ALTER ANY USER permission is also held by the server administrator accounts, and database users with the CONTROL ON DATABASE or ALTER ON DATABASE permission for that database, and by members of the db_owner database role.

Чтобы создать пользователя автономной базы данных в базе данных SQL Azure, SQL Управляемый экземпляр или Azure синапсе, необходимо подключиться к базе данных или экземпляру с помощью удостоверения Azure AD.To create a contained database user in Azure SQL Database, SQL Managed Instance, or Azure Synapse, you must connect to the database or instance using an Azure AD identity. Чтобы создать первого пользователя автономной базы данных, необходимо подключиться к ней с использованием учетной записи администратора Azure AD (который является владельцем базы данных).To create the first contained database user, you must connect to the database by using an Azure AD administrator (who is the owner of the database). Это продемонстрировано в настройке и управлении проверкой подлинности Azure Active Directory с помощью базы данных SQL или Azure синапсе.This is demonstrated in Configure and manage Azure Active Directory authentication with SQL Database or Azure Synapse. Проверка подлинности Azure AD возможна, только если администратор Azure AD создан для базы данных SQL Azure, Управляемый экземпляр SQL или Azure синапсе.Azure AD authentication is only possible if the Azure AD admin was created for Azure SQL Database, SQL Managed Instance, or Azure Synapse. Если учетная запись администратора Azure Active Directory удалена с сервера, то существующие пользователи Azure Active Directory, учетные записи которых были созданы ранее на сервере SQL Server, больше не смогут подключаться к базе данных, используя свои текущие учетные данные Azure Active Directory.If the Azure Active Directory admin was removed from the server, existing Azure Active Directory users created previously inside SQL Server can no longer connect to the database using their Azure Active Directory credentials.

Функции и ограничения Azure ADAzure AD features and limitations

  • Для базы данных SQL Azure можно подготовить следующие члены Azure AD:The following members of Azure AD can be provisioned for Azure SQL Database:

  • Пользователи Azure AD, которые являются частью группы, имеющей db_owner роль сервера, не могут использовать синтаксис учетных данных для создания базы данных в базе данных SQL Azure и Azure синапсе.Azure AD users that are part of a group that has db_owner server role cannot use the CREATE DATABASE SCOPED CREDENTIAL syntax against Azure SQL Database and Azure Synapse. Отобразится следующая ошибка:You will see the following error:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Предоставляйте роль db_owner напрямую отдельным пользователям Azure AD во избежание проблем с синтаксисом CREATE DATABASE SCOPED CREDENTIAL.Grant the db_owner role directly to the individual Azure AD user to mitigate the CREATE DATABASE SCOPED CREDENTIAL issue.

  • Эти системные функции возвращают значения NULL при выполнении с помощью субъектов Azure AD:These system functions return NULL values when executed under Azure AD principals:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Управляемый экземпляр SQLSQL Managed Instance

  • Участники сервера Azure AD (имена для входа) и пользователи поддерживаются для управляемый экземпляр SQL.Azure AD server principals (logins) and users are supported for SQL Managed Instance.
  • Настройка субъектов сервера Azure AD (имен входа), сопоставленных с группой Azure AD в качестве владельца базы данных, не поддерживается в SQL управляемый экземпляр.Setting Azure AD server principals (logins) mapped to an Azure AD group as database owner is not supported in SQL Managed Instance.
    • Расширение этого параметра заключается в том, что когда группа добавляется как часть dbcreator роли сервера, пользователи из этой группы могут подключаться к управляемый экземпляр SQL и создавать новые базы данных, но не смогут получить доступ к базе данных.An extension of this is that when a group is added as part of the dbcreator server role, users from this group can connect to the SQL Managed Instance and create new databases, but will not be able to access the database. Это происходит, так как новый владелец базы данных является системным администратором, а не пользователем Azure AD.This is because the new database owner is SA, and not the Azure AD user. Эта проблема не проявляется при добавлении роли сервера dbcreator для отдельного пользователя.This issue does not manifest if the individual user is added to the dbcreator server role.
  • Для участников сервера Azure AD поддерживаются выполнения заданий и управления агентом SQL (имена входа).SQL Agent management and jobs execution are supported for Azure AD server principals (logins).
  • Операции резервного копирования и восстановления базы данных могут быть выполнены с помощью субъектов сервера (имен для входа) Azure AD.Database backup and restore operations can be executed by Azure AD server principals (logins).
  • Поддерживается аудит всех инструкций, связанных с субъектами сервера (именами для входа) Azure AD и событиями проверки подлинности.Auditing of all statements related to Azure AD server principals (logins) and authentication events is supported.
  • Поддерживается выделенное административное соединение для субъектов сервера (имен для входа) Azure AD, которые являются участниками роли сервера системного администратора.Dedicated administrator connection for Azure AD server principals (logins) which are members of sysadmin server role is supported.
    • Поддерживается с помощью служебной программы SQLCMD и SQL Server Management Studio.Supported through SQLCMD Utility and SQL Server Management Studio.
  • Триггеры входа поддерживаются для событий входа, поступающих от субъектов сервера (имен для входа) Azure AD.Logon triggers are supported for logon events coming from Azure AD server principals (logins).
  • С помощью субъектов сервера (имен для входа) Azure AD можно настроить почту Service Broker и базы данных.Service Broker and DB mail can be setup using an Azure AD server principal (login).

Подключение с использованием удостоверений Azure ADConnect by using Azure AD identities

Проверка подлинности Azure Active Directory поддерживает следующие способы подключения к базе данных с помощью удостоверений Azure AD:Azure Active Directory authentication supports the following methods of connecting to a database using Azure AD identities:

  • Пароль Azure Active Directory.Azure Active Directory Password
  • Встроенная служба Azure Active Directory.Azure Active Directory Integrated
  • Azure Active Directory Universal с многофакторной проверкой подлинностиAzure Active Directory Universal with Multi-Factor Authentication
  • Использование маркера проверки подлинности приложенияUsing Application token authentication

Для участников сервера Azure AD (имена для входа) поддерживаются следующие методы проверки подлинности:The following authentication methods are supported for Azure AD server principals (logins):

  • Пароль Azure Active Directory.Azure Active Directory Password
  • Встроенная служба Azure Active Directory.Azure Active Directory Integrated
  • Azure Active Directory Universal с многофакторной проверкой подлинностиAzure Active Directory Universal with Multi-Factor Authentication

Дополнительные сведенияAdditional considerations

  • Для повышения управляемости рекомендуем подготовить специальную группу Azure AD от имени администратора.To enhance manageability, we recommend you provision a dedicated Azure AD group as an administrator.
  • Только один администратор Azure AD (пользователь или группа) можно настроить для сервера в базе данных SQL или Azure синапсе в любое время.Only one Azure AD administrator (a user or group) can be configured for a server in SQL Database or Azure Synapse at any time.
    • Добавление участников сервера Azure AD (имен входа) для SQL Управляемый экземпляр позволяет создавать несколько участников сервера Azure AD (имен входа), которые могут быть добавлены к sysadmin роли.The addition of Azure AD server principals (logins) for SQL Managed Instance allows the possibility of creating multiple Azure AD server principals (logins) that can be added to the sysadmin role.
  • Только администратор Azure AD для сервера может сначала подключиться к серверу или управляемому экземпляру с помощью учетной записи Azure Active Directory.Only an Azure AD administrator for the server can initially connect to the server or managed instance using an Azure Active Directory account. Затем администратор Active Directory может настроить других пользователей базы данных Azure AD.The Active Directory administrator can configure subsequent Azure AD database users.
  • Мы рекомендуем установить время ожидания подключения в 30 секунд.We recommend setting the connection timeout to 30 seconds.
  • Проверку подлинности Azure Active Directory поддерживают SQL Server 2016 Management Studio и SQL Server Data Tools для Visual Studio 2015 (версии 14.0.60311.1, выпущенной в апреле 2016 г., или более поздней).SQL Server 2016 Management Studio and SQL Server Data Tools for Visual Studio 2015 (version 14.0.60311.1April 2016 or later) support Azure Active Directory authentication. (Проверку подлинности Azure AD поддерживает поставщик данных .NET Framework для SQL Server, требуется версия .NET Framework не ниже 4.6.)(Azure AD authentication is supported by the .NET Framework Data Provider for SqlServer; at least version .NET Framework 4.6). Поэтому новейшие версии этих средств и приложений уровня данных (DAC и BACPAC) могут использовать проверку подлинности Azure AD.Therefore the newest versions of these tools and data-tier applications (DAC and BACPAC) can use Azure AD authentication.
  • Начиная с версии 15.0.1, программа sqlcmd и программа bcp поддерживают Active Directory интерактивную проверку подлинности с помощью многофакторной проверки подлинности.Beginning with version 15.0.1, sqlcmd utility and bcp utility support Active Directory Interactive authentication with Multi-Factor Authentication.
  • Для SQL Server Data Tools для Visual Studio 2015 требуется версия Data Tools, выпущенная в апреле 2016 г. (14.0.60311.1), или более поздняя.SQL Server Data Tools for Visual Studio 2015 requires at least the April 2016 version of the Data Tools (version 14.0.60311.1). Сейчас пользователи Azure AD не отображаются в обозревателе объектов SSDT.Currently, Azure AD users are not shown in SSDT Object Explorer. Сведения о пользователях можно просмотреть в файле sys.database_principals.As a workaround, view the users in sys.database_principals.
  • Драйвер Microsoft JDBC 6.0 для SQL Server поддерживает проверку подлинности Azure AD.Microsoft JDBC Driver 6.0 for SQL Server supports Azure AD authentication. Вы можете также ознакомиться с настройкой свойств подключения.Also, see Setting the Connection Properties.
  • PolyBase не поддерживает проверку подлинности Azure AD.PolyBase cannot authenticate by using Azure AD authentication.
  • Аутентификация Azure AD поддерживается для базы данных SQL Azure и Azure синапсе с помощью портал Azure импорта базы данных и экспорта баз данных .Azure AD authentication is supported for Azure SQL Database and Azure Synapse by using the Azure portal Import Database and Export Database blades. Импорт и экспорт с помощью аутентификации Azure AD также поддерживаются командой PowerShell.Import and export using Azure AD authentication is also supported from a PowerShell command.
  • Проверка подлинности Azure AD поддерживается для базы данных SQL, SQL Управляемый экземпляр и Azure синапсе с помощью интерфейса командной строки.Azure AD authentication is supported for SQL Database, SQL Managed Instance, and Azure Synapse with using the CLI. Дополнительные сведения см. в статьях Настройка аутентификации Azure AD и управление ею с помощью базы данных SQL или Azure синапсе и SQL Server-AZ SQL Server.For more information, see Configure and manage Azure AD authentication with SQL Database or Azure Synapse and SQL Server - az sql server.

Дальнейшие действияNext steps